setup.py 不会在Google Cloud ML中执行



我正在尝试在谷歌云 ml 上训练一个 keras 模型。我遵循了这里的每一个指示:https://github.com/clintonreece/keras-cloud-ml-engine 当我尝试在本地运行它时,我会收到 scikit-learn 的导入错误,当我尝试在云上运行它时,作业失败。 我不认为 setup.py 文件正在执行。 以下是 setup.py 文件的内容:

'''Cloud ML Engine package configuration.'''
from setuptools import setup, find_packages
REQUIRED_PACKAGES = ['keras',
'pandas',
'sklearn',
'numpy',
'h5py']
setup(name='iris_classifier',
version='1.0',
packages=find_packages(),
include_package_data=True,
description='IRIS classifier keras model on Cloud ML Engine',
author='Loonycorn',
author_email='contact@loonycorn.com',
license='MIT',
install_requires=[REQUIRED_PACKAGES],
zip_safe=False)

为什么我的包裹没有被包裹

?下面是用于训练的命令:

gcloud ml-engine jobs submit training $JOB_NAME 
--job-dir $JOB_DIR 
--runtime-version 1.0 
--module-name trainer.iris_classifier 
--package-path ./trainer 
--region $REGION 
-- 
--train-file gs://$BUCKET_NAME/data/iris.csv

Setup.py 与数据文件夹(包含 csv(和培训师文件夹(包含iris_classifier.py和 init.py 文件(一起驻留在根目录中。

下面是作业失败时的错误:

{
insertId:  "2sbguefffpjr1"  
logName:  "projects/loonycorn-kerasdeployment/logs/ml.googleapis.com%2Firis_classifier_train_220180511_200703"  
receiveTimestamp:  "2018-05-11T14:38:18.976968299Z"  
resource: {…}  
severity:  "ERROR"  
textPayload:  "The replica master 0 exited with a non-zero status of 1."  
timestamp:  "2018-05-11T14:38:18.976968299Z"  
}

我已经向 cloud-ml 服务帐户授予了日志编写器权限,但这是我得到的所有日志。

使用gcloud ml-engine jobs stream-logs $JOB_NAME命令流式传输日志。显然 setup.py 正在被执行,但由于我没有提到要安装的依赖项的版本,正在安装的scikit learn版本没有model_selection模块。 一旦我编辑了所有依赖项的版本 setup.py,一切正常。 我建议显式地将要安装的依赖项版本设置为本地计算机上的版本,以便您知道支持和包含所有内容。

最新更新