【发布时间】:2020-01-24 10:33:14
【问题描述】:
我正在使用来自 Google Cloud Platform 的 AI 平台,使用来自 Google Cloud Platform GitHub 的 this template 使用 scikit-learn 训练随机森林分类器。
我已经在某些地方调整了代码以适应我自己的问题。该代码是在 Python 3.5 中使用 PyCharm 和 Ubuntu 设备编写的。使用以下终端 command(不包括附加参数)在云中训练模型非常好:
gcloud ai-platform jobs submit training
但是当我尝试在我的虚拟环境(python 3.5)中使用ai-platform的local training functionality时:
gcloud ai-platform local train
(不包括附加参数)。它返回以下错误:
Traceback (most recent call last):
File "/snap/google-cloud-sdk/99/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/snap/google-cloud-sdk/99/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/merijn/PycharmProjects/user-matching/trainer/task.py", line 28, in <module>
from trainer import model
File "trainer/model.py", line 28, in <module>
from trainer import utils
File "trainer/utils.py", line 23, in <module>
from tensorflow import gfile
ImportError: No module named tensorflow
所有依赖项都正确安装在我的虚拟环境中,包括 TensorFlow。在TensorFlow导入错误之前是sklearn导入错误,我通过在我的正常环境中安装sklearn模块解决了。这支持了我的猜测,它可能与在我的正常环境中运行在 python 2.7 上的 Google SDK 有关。因此,当在我的 venv 中运行 gcloud 命令时,它很可能在我的正常环境而不是我的 venv 中运行我的整个程序,到目前为止我无法强制它在我的 venv 中运行。请注意,我已经为参数--job-dir 和--package-path 尝试了许多不同的值。
经过几天的互联网搜索,我仍然找不到在安装了 python 3.5 的虚拟环境中使用 AI 平台进行本地训练的方法。希望你能帮帮我。
【问题讨论】:
标签: python gcloud google-cloud-ml google-cloud-sdk gcp-ai-platform-training