您有多個選項。我認爲最直接的方法是將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上存儲文件可能更容易的主要原因。