Google ML Engine preprocessor_pb2 ImportError

我试图通过Google的ML Engine进行训练。

我主要按照以下文章中的步骤来开发我的训练和测试集:https://towardsdatascience.com/build-a-taylor-swift-detector-with-the-tensorflow-object-detection-api-ml-engine-and-swift-82707f5b4a56

我反复遇到以下错误:

Traceback (most recent call last): File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main "__main__", fname, loader, pkg_name) File "/usr/lib/python2.7/runpy.py", line 72, in _run_code exec code in run_globals File "/root/.local/lib/python2.7/site-packages/object_detection/train.py", line 49, in <module> from object_detection import trainer File "/root/.local/lib/python2.7/site-packages/object_detection/trainer.py", line 27, in <module> from object_detection.builders import preprocessor_builder File "/root/.local/lib/python2.7/site-packages/object_detection/builders/preprocessor_builder.py", line 21, in <module> from object_detection.protos import preprocessor_pb2 ImportError: cannot import name preprocessor_pb2

我克隆并按照object_detection的安装步骤进行操作,包括protobuf编译和设置PYTHONPATH!从控制台运行的示例model_builder_test.py也正常运行。

我的训练作业如下:

gcloud ml-engine jobs submit training my_training_job \--job-dir=gs://myapp.appspot.com/train \--packages dist/object_detection-0.1.tar.gz,slim/dist/slim-0.1.tar.gz \--module-name object_detection.train \--region us-central1 \--config object_detection/samples/cloud/cloud.yml \-- \--train_dir=gs://myapp.appspot.com/train \--pipeline_config_path=gs://myapp.appspot.com/data/ssd_mobilenet_v1_coco.config

在控制台中运行python -v返回的版本是2.7


回答:

我想我通过将运行时版本降低到1.2来解决了这个问题:

gcloud ml-engine jobs submit training my_training_job \--runtime-version 1.2 \--job-dir=gs://myapp.appspot.com/train \--packages dist/object_detection-0.1.tar.gz,slim/dist/slim-0.1.tar.gz \--module-name object_detection.train \--region us-central1 \--config object_detection/samples/cloud/cloud.yml \-- \-- train_dir=gs://myapp.appspot.com/train \-- pipeline_config_path=gs://myapp.appspot.com/data/ssd_mobilenet_v1_coco.config

随后我收到了关于缺少matplotlib的错误,并更改了以下行:

models/research/setup.pyREQUIRED_PACKAGES = ['Pillow>=1.0', 'matplotlib']

并重新运行:

python setup.py sdist(cd slim && python setup.py sdist)

我迫不及待地希望Google能发布更多工具来简化训练工作流程!

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注