本文介绍了 ubuntu 上安装 google protobuf 的方法。
protobuf 真的是个好东西,你如果研究过 caffe 的源码,应该对它不会陌生。caffe 源码中的src/caffe/proto/caffe.proto 是整个 caffe 框架的神经中枢。那 protobuf 到底是什么呢,它实际是一套类似 Json 或 XML 的数据传输格式和规范,用于不同应用或进程之间进行通信时使用,一般用于通信领域。而 caffe 很巧妙的用 protobuf 来规范和描述 网络具体结构和参数,并做解析和存储,这一部分的实现为 caffe 框架节省了大量的代码。
当你完成 caffe 的编译后,对于 c++ 来说,protobuf 会根据 caffe.proto 给你生成 caffe.pb.cc、caffe.pb.o 给你调用,如下:
当你编译好 caffe 的 python api 后,会自动生成对应的 py 文件给你调用,如下:
下面进入正题,介绍一下在 ubuntu 中怎么安装 protobuf。
1、clone 工程
## clone pro
git clone --recursive https://gitee.com/jeremyjj/protobuf.git
## 其他版本下载:https://github.com/protocolbuffers/protobuf/releases
## 安装依赖
sudo apt-get install autoconf automake libtool curl make g++ unzip libffi-dev -y
2、编译 C++ 接口
cd protobuf
./autogen.sh
#./configure ===> x86平台
./configure --host=aarch64-linux-gnu #===> arm64平台交叉编译
sudo make -j32
sudo make install
## 刷新共享库
sudo ldconfig
验证一下:
protoc --version
3、编译 python 接口
cd python
python setup.py build
python setup.py test
python setup.py install
验证一下:
$ python
>>> import google.protobuf