【问题标题】:cannot import name 'fpn_pb2' from 'object_detection.protos'无法从“object_detection.protos”导入名称“fpn_pb2”
【发布时间】:2020-11-16 06:46:08
【问题描述】:

我已安装 tensorflow 2.x 以在 Windows 10 上使用对象检测并关注 this tutorial

但运行后出现此错误 python train.py --logtostderr --train_dir=training/ --pipeline_config_path=training/faster_rcnn_inception_v2_pets.config 显示。

甚至运行新命令 python model_main_tf2.py --train_dir=training/ --pipeline_config_path=training/faster_rcnn_inception_v2_pets.config

【问题讨论】:

标签: python tensorflow object-detection


【解决方案1】:

这是因为object_detection/protos文件夹中没有fpn_b2.py文件。教程中给出的 protoc 命令忽略了这一点。

您可以在 anaconda 提示符下从 research 文件夹运行以下命令

protoc --python_out=. .\object_detection\protos\fpn.proto

【讨论】:

  • 剧透警告:我也按照教程进行操作。如果您使用的是 Tensorflow2,则培训将无法进行。 TF2 不支持faster_rcnn_inception_v2
【解决方案2】:

1。检查目录 ...\object_detection\protos 中的文件夹并计算有多少 _pb2.py 和 .protos(不计算 init.py 和 pychance),如果它们相等,那么恭喜这个论坛没有解决这个问题问题,但如果没有,请转到 2 号

2。在控制台上输入 protoc --python_out=。 .\object_detection\protos\ YYYY .proto 什么是YYYY..?是 \object_detection\protos 中缺少的 .py... 要知道它检查 protos 和 _pb2.py 如果 1 个 protos 不匹配,请使用该名称更改 YYYY*(例如:我没有 _pb2.py在 anchor_generator.proto 处匹配,所以我输入控制台 protoc --python_out=. .\object_detection\protos\anchor_generator.proto 等等)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 2020-09-22
    • 2021-12-04
    • 2021-05-30
    • 2021-11-07
    • 2021-03-07
    相关资源
    最近更新 更多