我正在尝试通过以下方式在Google云ml-engine上运行我的模型:
gcloud ml-engine jobs submit training $NAME --module-name train.task_w2v \
--package-path train --runtime-version 1.8 --python-version 3.5 \
--scale-tier BASIC --staging-bucket $BUCKET --region $REGION
这是我的setup.py:
from setuptools import find_packages
from setuptools import setup
REQUIRED_PACKAGES = ['numpy', 'tensorflow', 'pandas', 'matplotlib',
'opencv-python', 'PyYAML', 'coloredlogs', 'scikit-learn', 'scipy', 'matplotlib']
setup(
name='ConvMultiAttention',
version='0.9',
author='name',
install_requires=REQUIRED_PACKAGES,
packages=find_packages(),
include_package_data=True,
)
模型在本地运行良好并成功构建:
我master-replica-0成功安装了model-0.9coloredlogs-10.0cycler-0.10.0humanfriendly-4.15.1 kiwisolver-1.0.1 matplotlib-2.2.2 opencv-python-3.4.1.15 pyparsing-2.2.0 master -replica-0
我master-replica-0运行命令:python3 -m train.task_w2v master-replica-0
但是它得到了这个异常:
master-replica-0追溯(最近一次通话最近):导入_tkinter时文件“ /usr/lib/python3.5/tkinter/__init__.py”,第36行ImportError:没有名为“ _tkinter”的模块>
master-replica-0命令'['python3','-m','train.task_w2v']'返回非零退出状态1
因为我的理解是tkinter是python3.5的一部分,所以我真的不知道这里出了什么问题或怎么做。我尝试在没有matplotlib和较低tf版本的情况下运行它,但问题仍然存在。
我也收到这些警告:
google-cloud-spanner 0.29.0具有要求请求<3.0dev,> = 2.18.4,但是您将有不兼容的请求2.13.0。
人性化脚本安装在PATH之外的'/root/.local/bin'中。
我真的不知道该如何处理,或者甚至不需要。
答案 0 :(得分:0)
在无头训练中使用TK不会带来很大好处。正如user2368505在评论中指出的,以下内容应避免使用TK:
import matplotlib
matplotlib.use("agg")
如果对后代有利,我发现在我自己的本地Ubuntu VM上未安装tkinter。如果需要,可以将以下内容添加到您的`setup.py:
import subprocess
subprocess.check_call(['apt-get', '-y', 'install', 'python3-tk'])
同样,它不是直接有用的,而是用来说明如何通过setup.py
任意安装依赖项。