【问题标题】:protoc doesn't see files? (I'm doing something wrong)protoc 看不到文件? (我做错了什么)
【发布时间】:2020-10-29 21:38:09
【问题描述】:

我正在尝试运行:

protoc *.proto -python_out=.

在tensorflow里面的protoc目录>models>research>object_detection>protos,然后返回

object_detection/protos/flexible_grid_anchor_generator.proto: File not found.
object_detection/protos/grid_anchor_generator.proto: File not found.
object_detection/protos/multiscale_anchor_generator.proto: File not found.
object_detection/protos/ssd_anchor_generator.proto: File not found.
anchor_generator.proto: Import "object_detection/protos/flexible_grid_anchor_generator.proto" was not found or had errors.
anchor_generator.proto: Import "object_detection/protos/grid_anchor_generator.proto" was not found or had errors.
anchor_generator.proto: Import "object_detection/protos/multiscale_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:14:5: "GridAnchorGenerator" is not defined.
anchor_generator.proto:15:5: "SsdAnchorGenerator" is not defined.
anchor_generator.proto:16:5: "MultiscaleAnchorGenerator" is not defined.
anchor_generator.proto:17:5: "FlexibleGridAnchorGenerator" is not defined.

但在我看来,这些文件肯定存在?

感谢您的耐心和时间。

编辑: 我也尝试过使用绝对路径

protoc /home/usr/.virtualenvs/capstone/lib/python3.8/site-packages/tensorflow/models/research/object_detection/protos/*.proto --python_out=/home/usr/.virtualenvs/capstone/lib/python3.8/site-packages/tensorflow/models/research/object_detection/protos

我收到同样的错误

【问题讨论】:

    标签: tensorflow ubuntu proto protoc protobuf-python


    【解决方案1】:

    在文件faster_rcnn.proto里面可以看到它的导入路径是object_detection/protos/anchor_generator.proto

    syntax = "proto2";
    package object_detection.protos;
    
    import "object_detection/protos/anchor_generator.proto";
    import "object_detection/protos/box_predictor.proto";
    

    它正在导入并期待此路径中的文件。你可以看到文件并不意味着程序也可以看到那些。修复它很容易,将您的目录更改为models/research/

    然后运行protoc object_detection/protos/*.proto -python_out=.它会编译protos没有任何错误,你会在文件夹中看到.py版本。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2013-08-10
      • 1970-01-01
      • 1970-01-01
      • 2017-09-29
      • 1970-01-01
      • 1970-01-01
      • 2011-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多