关于tensorflow:在Google Cloud ML中提交作业培训时出错

Error when Submitting Job Training in Google Cloud ML

我目前正试图提交一份关于facenet(一个用于人脸识别的TensorFlow库)的谷歌云ML工作培训。我目前正在尝试这个(链接在这里)图书馆的一部分,它在那里为模型进行培训。

在google cloud ml中,我遵循这个教程(链接在这里),它教你如何提交培训。

我成功地向谷歌云ML提交了一份工作培训,但出现了一个错误。以下是一些错误的图片:

Here's a picture of the error:

谷歌云作业日志中有一个错误

Here's a picture of error log in Google Cloud Jobs

以下是谷歌云作业日志中的详细图片

Here are more detailed pictures on Google Cloud Job logs (1)

Here are more detailed pictures on Google Cloud Job logs (2)

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

我用于运行此命令的命令如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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  \

关于如何解决这个问题有什么建议吗?谢谢!


当您在CloudML引擎上运行时,您正在远程环境中运行;因此文件路径将与本地环境不同。如果需要导入python模块,则需要将它们包含在构建的python包中,然后使用包名称导入它们。

有关如何生成软件包的文档,请参阅安装工具文档

这是30秒的版本

  • 按如下方式组织代码
  • 1
    2
    3
    4
    5
        my_package/__init__.py
        my_package/moduleA.py
        my_package/moduleB.py
        my_package/...
        setup.py
  • 对于您的setup.py文件,从下面开始
  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        from setuptools import find_packages
        from setuptools import setup

        REQUIRED_PACKAGES = []

        setup(
            name='my_package',
            version='0.1.1',
            author='Author',
            author_email='[email protected]',
            install_requires=REQUIRED_PACKAGES,
            packages=find_packages(),
            description='Description',
            requires=[],)
  • 按如下方式构建包
  • 1
    python ./setup.py sdist
  • 当包安装在CloudML引擎中时,您可以将代码导入为
  • 1
    from my_package import moduleA


    查看上面的错误消息,您的问题似乎与来自python的"import error:import by filename is not supported"错误有关。如果不看一下您的python源代码,我就无法确切地告诉您如何修复它,但是下面的链接应该可以解决您的问题:

    python/importerror:不支持按文件名导入

    通常,使用文件路径查找要导入的位置,并确保正确使用函数。