tensorflow - 在 Google Cloud ML 中提交工作培训时出错

标签 tensorflow google-cloud-ml google-cloud-ml-engine

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

转到 Google Cloud ML,我正在学习本教程 (link is here) 它教您如何提交培训。

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

Here's a picture of the error:

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

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

这里有关于 Google Cloud 作业日志的更详细的图片

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

Here are more detailed pictures on Google Cloud Job logs (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  \

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

最佳答案

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

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

这是 30 秒的版本

  1. 按如下方式组织代码

    my_package/__init__.py
    my_package/moduleA.py
    my_package/moduleB.py
    my_package/...
    setup.py
  1. 对于您的 setup.py 文件,以此开头
    from setuptools import find_packages
    from setuptools import setup

    REQUIRED_PACKAGES = []

    setup(
        name='my_package',
        version='0.1.1',
        author='Author',
        author_email='author@gmail.com',
        install_requires=REQUIRED_PACKAGES,
        packages=find_packages(),
        description='Description',
        requires=[],)
  1. 构建如下包
python ./setup.py sdist
  1. 当包安装在 Cloud ML Engine 中时,您将能够将您的代码导入为
from my_package import moduleA

关于tensorflow - 在 Google Cloud ML 中提交工作培训时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42603427/

相关文章:

python - 分布式 tensorflow 复制训练示例: grpc_tensorflow_server - No such file or directory

python - Jupyter 笔记本中的 TensorFlow 变量重用错误

python - 如何同时监控loss和val_loss以避免神经网络对训练集或测试集过度拟合?

machine-learning - GPU 在参数服务器上进行数据并行训练是否高效?

machine-learning - Google Cloud ML 训练作业没有日志、没有输出

python - 如何将急切执行中的模型转换为静态图并保存在 .pb 文件中?

Gcloud ai-platform,无法创建具有自己的预测类的模型

python - MonitoredTrainingSession 每次运行写入多个元图事件

python - 从 gcloud ml-engine 作业访问 Big Query

tensorflow - 将图形 (pb) 转换为 SavedModel 以用于 gcloud ml-engine predict