python 无法从“object_detection.protos”导入名称“fpn_pb2”

y1aodyip  于 2023-10-14  发布在  Python
关注(0)|答案(3)|浏览(94)

我已经安装了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

0s0u357o

0s0u357o1#

这是因为在object_detection/protos文件夹中没有fpn_b2.py文件。教程中给出的protoc命令忽略了这一点。
您可以在anaconda提示符下从research文件夹运行以下命令
protoc --python_out=. .\object_detection\protos\fpn.proto

dauxcl2d

dauxcl2d2#

!protoc object_detection/protos/*.proto --python_out=.
您的pwd应该是“Tensorflow/models/research

pwuypxnk

pwuypxnk3#

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,如果其中一个protos不匹配,则使用该名称更改YYYY(例如:我在锚_generator.proto中没有_pb2.py匹配,所以我输入console protoc --python_out=. .\object_detection\protos\anchor_generator.proto,等等)

相关问题