TensorFlow -对象检测模块,尝试使用协议时出现错误

eaf3rand  于 2023-10-23  发布在  其他
关注(0)|答案(5)|浏览(123)

有问题与protoc,该行不工作在windows.
我得到这个errors
使用这条生产线

protoc --proto_path=./object_detection/protos --python_out=c:\testmomo ./object_detection/protos/anchor_generator.proto

我得到这个错误

object_detection/protos/grid_anchor_generator.proto: File not found.
object_detection/protos/ssd_anchor_generator.proto: File not found.
anchor_generator.proto: Import "object_detection/protos/grid_anchor_generator.proto" was not found or had errors.
anchor_generator.proto: Import "object_detection/protos/ssd_anchor_generator.proto" was not found or had errors.
anchor_generator.proto:12:5: "GridAnchorGenerator" is not defined.
anchor_generator.proto:13:5: "SsdAnchorGenerator" is not defined.

问题出在哪里?

qkf9rpyu

qkf9rpyu1#

我尝试了不同的东西,找出了问题所在。
确保你是这样做的:

# From models/research
protoc object_detection/protos/*.proto --python_out=.

而我想做的是

# from object_detection/
protoc protos/*.proto --python_out=.

我也会犯同样的错误
检查您是否在正确的位置(目录)。

jrcvhitl

jrcvhitl2#

首先要注意protoc buffer是相当愚蠢的,不能正确地捕获所有文件,你有两个选择手动编译所有29个文件或按照下面的步骤。
1.将protoc exe文件复制到所有proto文件所在的文件夹中,即“models-master\models-master\research\object_detection\protos”x1c 0d1x
1.接下来使用notepad++打开文件夹“models-master\research\object_detection\protos”中的所有文件。
1.按下Ctrl+F并删除所有文件中的“object_detection/protos/”(如果您手动执行,请记住protoc按字母顺序启动,因此从文件“锚_generator.proto”开始)。
例如,替换:-

import "object_detection/protos/grid_anchor_generator.proto";
import "object_detection/protos/ssd_anchor_generator.proto";
import "object_detection/protos/multiscale_anchor_generator.proto";

与此:-

import "grid_anchor_generator.proto";
import "ssd_anchor_generator.proto";
import "multiscale_anchor_generator.proto";

4.现在打开Cmd在同一个目录即“\models master\research\object_detection\protos”类型:- protoc *.proto --python_out=. notice你会得到新的.py文件在文件夹中,并没有错误执行上述文件。
5.输出:-

注意:-确保打开所有文件,并尝试使用步骤4的输出来定位丢失的文件。

dtcbnfnu

dtcbnfnu3#

似乎没有文件:object_detection/protos/grid_锚_generator.proto和ssd_ancho_generator.proto
你是克隆了模型库还是修改了什么?

w1jd8yoj

w1jd8yoj4#

在object_detection protos文件夹中,

import "object_detection/protos/grid_anchor_generator.proto";

把那个改成

import "research/object_detection/protos/grid_anchor_generator.proto";
pbossiut

pbossiut5#

简单地说,为每个人运行protocbuf。
protoc object_detection/protos/grid_锚_generator.proto --python_out=.

相关问题