您有多个选项。我认为最直接的方法是将labels.txt
存储在GCS位置。
但是,如果您愿意,也可以将文件打包在您的setup.py
中。有多种方法可以做到这一点,所以我会引用你的official setuptools documentation。
让我走过一个简单的例子:
创建你的训练包下面的目录setup.py
(通常称为CloudML引擎的样品中trainer
,所以我将继续进行,如果你的代码的结构相同,样品,包括使用trainer
作为包装)。以下是基于docs你有一个重要的变化,即package_data
参数,而不是include_package_data
引用:
from setuptools import find_packages
from setuptools import setup
setup(
name='my_model',
version='0.1',
install_requires=REQUIRED_PACKAGES,
packages=find_packages(),
package_data={'trainer': ['labels.txt']},
description='My trainer application package.'
)
如果运行python setup.py sdist
,你可以看到trainer/labels.txt
被复制到压缩包。
然后在你的代码,你可以访问该文件是这样的:
from pkg_resources import Requirement, resource_filename
resource_filename(Requirement.parse('trainer'),'labels.txt')
需要注意的是在本地运行这段代码,你将必须安装你的包:python setup.py install [--user]
。
而这就是我认为在GCS上存储文件可能更容易的主要原因。