2

我目前正在尝试使用 Facenet(用于人脸识别的 Tensorflow 库)提交关于 Google Cloud ML 的工作培训。我目前正在尝试这个(链接在这里)库的一部分,它对模型进行训练。

转到 Google Cloud ML,我正在关注本教程(链接在此处),它教您如何提交培训。

我能够成功地向 Google Cloud ML 提交工作培训,但出现了错误。以下是一些错误图片:

这是错误的图片:

这是来自 Google Cloud Jobs 日志的错误

这是 Google Cloud Jobs 中错误日志的图片

以下是 Google Cloud Job 日志上的更详细图片

以下是 Google Cloud Job 日志上的更详细图片 (1)

以下是 Google Cloud Job 日志上的更详细图片 (2)

提交作业请求是成功的,它甚至在等待 Tensorflow 启动,但之后就出现了那个错误。

我用来运行它的命令在这里:

gcloud ml-engine jobs submit training facetraining_test4 \
--package-path=/Users/myname/Documents/projects/tf-projects/facenet/src/ \
--module-name=/Users/myname/Documents/projects/tf-projects/facenet/src/facenet_train_classifier.py \
--staging-bucket=gs://facenet-training-test \
--region=asia-east1 \
--config=/Users/myname/Documents/projects/tf-projects/facenet/none_config.yml  \
-- \
--logs_base_dir=/Users/myname/Documents/projects/tf-projects/logs/facenet/ \
--models_base_dir=/Users/myname/Documents/projects/tf-projects/models/facenet/ \
--data_dir=/Users/myname/Documents/projects/tf-projects/facenet_datasets/employee_dataset/employee/employee_maxpy_mtcnnpy_182/ \
--image_size=160 \
--model_def=models.inception_resnet_v1 \
--lfw_dir=/Users/myname/Documents/projects/tf-projects/facenet_datasets/lfw/lfw_mtcnnpy_160/ \
--optimizer=RMSPROP \
--learning_rate -1  \
--max_nrof_epochs=80 \
--keep_probability=0.8 \
--learning_rate_schedule_file=/Users/myname/Documents/projects/tf-projects/facenet/data/learning_rate_schedule_classifier_casia.txt \
--weight_decay=5e-5  \
--center_loss_factor=1e-4  \

对于如何解决这个问题,有任何的建议吗?谢谢!

4

2 回答 2

1

当您在 Cloud ML Engine 上运行时,您是在远程环境中运行;所以文件路径不会与本地环境相同。如果您需要导入 python 模块,则需要将它们包含在您构建的 Python 包中,然后使用包名导入它们。

有关如何构建包的文档,请参阅SetupTools 文档

这是30秒的版本

  1. 组织你的代码如下

    my_package/__init__.py
    my_package/moduleA.py
    my_package/moduleB.py
    my_package/...
    setup.py
  1. 对于您的 setup.py 文件,请以此开头
    从 setuptools 导入 find_packages
    从 setuptools 导入设置

    REQUIRED_PACKAGES = []

    设置(
        名称='我的包',
        版本='0.1.1',
        作者='作者',
        author_email='author@gmail.com',
        install_requires=REQUIRED_PACKAGES,
        包=查找包(),
        描述='描述',
        需要=[],)
  1. 如下构建一个包
python ./setup.py sdist
  1. 当软件包安装在 Cloud ML Engine 中时,您将能够将代码导入为
从 my_package 导入模块A
于 2017-03-09T15:31:47.033 回答
0

查看上面的错误消息,您的问题似乎与 Python 的“ImportError:不支持按文件名导入”错误有关。如果不查看您的 python 源代码,我无法确切告诉您如何修复它,但以下链接应该可以解决您的问题:

Python / ImportError:不支持按文件名导入

一般来说,查找您使用文件路径导入的位置并确保您正确使用了这些功能。

于 2017-03-05T18:09:23.977 回答