首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Google AI-Platform的本地培训在虚拟环境中不起作用?

为什么Google AI-Platform的本地培训在虚拟环境中不起作用?
EN

Stack Overflow用户
提问于 2019-09-24 18:11:43
回答 1查看 886关注 0票数 2

我正在使用来自谷歌云平台的AI-platform来训练一个带有scikit的随机森林分类器-使用来自谷歌云平台GitHub的this template学习。

我已经在一些地方调整了代码,以适应我自己的问题。代码是用Python3.5编写的,使用PyCharm,在Ubuntu设备上。使用以下终端command在云中训练模型可以很好地工作(不包括额外的参数):

代码语言:javascript
复制
gcloud ai-platform jobs submit training

但是当我试图在我的虚拟环境(Python3.5)中使用ai- local training functionality时:

代码语言:javascript
复制
gcloud ai-platform local train

(不包括其他参数)。它返回以下错误:

代码语言:javascript
复制
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模块解决了这个问题。这支持了我的猜测,即它可能与在我的正常环境中运行在python2.7上的Google SDK有关。因此,当在venv中运行gcloud命令时,它很可能在我的正常环境中运行整个程序,而不是在venv中,到目前为止,我无法强制它在venv中运行。请注意,我已经为参数--job-dir--package-path尝试了许多不同的值。

在互联网上搜索了几天后,我仍然找不到在安装了Python3.5的虚拟环境中使用AI-platform进行本地训练的方法。希望你能帮我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-25 15:33:13

你是正确的。这与gcloud无法在本地执行Python3程序有关。

有一个非常简单的解决方法--不要使用gcloud ai-platform local train。相反,只需直接调用python解释器:

代码语言:javascript
复制
export PYTHONPATH=${PYTHONPATH}:/some/dir/package/path
python3 -m trainer.task --job-dir /tmp ...
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58077958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档