如何使用更多Python脚本提交工作,以培训ML云



我有一个具有多个Python代码文件的项目。我有一个用于模型的文件,一个用于数据实用程序,一个用于训练模型。我知道如何在一个文件中提交所有代码的模型。我如何表明我的项目中有更多文件?也许需要在setup.py文件或__init__.py中添加一些东西。

我的目录看起来像这样:

setup.py
trainer/
  __init__.py
  task.py
  model/
     seq2seq.py
     model.py
  data_utli.py

您不需要手动创建自己的软件包,尽管不欢迎您使用。

让包裹自动工作有两个重要步骤:

  1. 创建一个适当的Python软件包
  2. 确保您的setup.py正确。

在您的情况下,model子目录正在引起问题。快速修复是将trainer/model/*移至trainer/。否则,您可能想通过在model/子目录中添加(可能为空白)__init__.py文件来使model成为适当的子包装。

接下来,确保正确指定了您的setup.py文件。此文档中提供了示例脚本,为方便起见,请在此处重复:

from setuptools import find_packages
from setuptools import setup
setup(name='trainer',
      version='0.1',
      include_package_data=True,
      description='blah',
      packages=find_packages()
)

您可以通过运行来验证它是否有效:

python setup.py sdist

将使用文件trainer-0.1.tar.gz创建dist子目录。提取该文件的内容显示所有文件都正确包含:

$ cd dist
$ tar -xvf trainer-0.1.tgz
$ find trainer-0.1/
trainer-0.1/
trainer-0.1/setup.py
trainer-0.1/setup.cfg
trainer-0.1/trainer
trainer-0.1/trainer/data_util.py
trainer-0.1/trainer/task.py
trainer-0.1/trainer/__init__.py
trainer-0.1/trainer/model
trainer-0.1/trainer/model/__init__.py
trainer-0.1/trainer/model/model.py
trainer-0.1/trainer/model/seq2seq.py
trainer-0.1/PKG-INFO
trainer-0.1/trainer.egg-info
trainer-0.1/trainer.egg-info/dependency_links.txt
trainer-0.1/trainer.egg-info/PKG-INFO
trainer-0.1/trainer.egg-info/SOURCES.txt
trainer-0.1/trainer.egg-info/top_level.txt

我在ML云文档中找到了答案https://cloud.google.com/ml-engine/docs/how-tos/packaging-trainer#to_use_the_gloud_the_gcloud_tool_to_to_to_use_an_existing_package_package_aldree_in_in_in_the_the_the_the_cloud

最新更新