首页 > 解决方案 > 没有名为 trainer 的模块,Cloud ML Engine for TensorFlow 教程,在本地运行

问题描述

我正在关注的教程

一直在尝试按照 Google 教程使用 ML Engine for TensorFlow。卡在“运行本地培训工作”的地方,出现错误

/usr/bin/python: No module named trainer

完整的命令是:

gcloud ml-engine local train \
    --module-name trainer.task \
    --package-path trainer/ \
    --job-dir $MODEL_DIR \
    -- \
    --train-files $TRAIN_DATA \
    --eval-files $EVAL_DATA \
    --train-steps 1000 \
    --eval-steps 100

据我所知,这三个变量都已正确设置,尽管它现在甚至还没有涉及到它们。该教程没有指定下载培训师文件或如何引用它,过去一小时的谷歌搜索没有找到任何可行的解决方案。找到了这个一般解释:

--module-name 使用包的命名空间点表示法指定应用程序主模块的名称。这是您运行以启动应用程序的 Python 文件。例如,如果你的主模块是 .../my_application/trainer/task.py(参见推荐的项目结构),那么模块名称是 trainer.task

任何信息,将不胜感激。

标签: pythontensorflowgoogle-cloud-platformgoogle-cloud-ml

解决方案


感谢达斯汀在评论中提供的信息,找到了解决方案。

只是在 Cloud Shell 上下载培训师目录,而不是我的本地环境。

现在文件结构看起来像:

estimator
    |-- data
    |   |-- adult_data.csv
    |   |-- adult_test.csv
    |-- output
    |-- trainer
    |   |-- __init__.py
    |   |-- model.py
    |   |-- task.ipynb
    |   |-- task.py

推荐阅读