大家在使用caffe框架时,经常会碰到.proto和.prototxt后缀名的文件,这两种类型的文件有啥区别呢?
.proto
文件用于描述要序列化的数据的结构,在protobuf
的术语中,结构化数据被称为Message
。
protobuf编译器protoc可以将该文件转换为python /C++ /Java/go代码,以便程序中可以使用该结构对数据进行序列化和反序列化;
1 | protoc --proto_path=/home/proto/ --cpp_out=/home/proto/proto /home/proto/ufw.proto |
而.prototxt
文件是序列化数据的两种格式之一
- 二进制格式,binary,除非你有 .proto 定义,否则你没法解析 Protobuf 的任何内容;
- 文本格式 ,后缀名为prototxt,它比二进制格式占用更多的空间;
通俗点讲,就是.proto是定义文件,定义传输的数据格式。而prototxt是数据文件,包含了根据proto定义格式的数据内容(可能只有一部分数据)。