华为CANN/tensorflow:安装Python Protobuf指南
如果训练脚本依赖protobuf的Python版本进行序列化结构的数据存储(例如TensorFlow的序列化相关接口),则需要安装Python版本的proto。1. 检查系统中是否存在“/usr/local/python3.7.5/lib/python3.7/site-packages/google/protobuf/pyext/_message.cpython-37m-_<arch\>_-l
安装Python版本的proto
【免费下载链接】tensorflow Ascend TensorFlow Adapter 项目地址: https://gitcode.com/cann/tensorflow
如果训练脚本依赖protobuf的Python版本进行序列化结构的数据存储(例如TensorFlow的序列化相关接口),则需要安装Python版本的proto。
-
检查系统中是否存在“/usr/local/python3.7.5/lib/python3.7/site-packages/google/protobuf/pyext/message.cpython-37m-<arch>-linux-gnu.so”动态库,如果没有,需要按照如下步骤安装。其中<arch>_为系统架构类型。
[!NOTE]说明 “/usr/local/python3.7.5/lib/python3.7/site-packages”是pip安装第三方库的路径,可以使用pip3 -V检查。
如果系统显示:/usr/local/python3.7.5/lib/python3.7/site-packages/pip,则pip安装第三方库的路径为/usr/local/python3.7.5/lib/python3.7/site-packages。
-
执行如下命令卸载protobuf。
pip3 uninstall protobuf -
下载protobuf软件包。
从https://github.com/protocolbuffers/protobuf/releases/download/v3.11.3/protobuf-python-3.11.3.tar.gz路径中下载3.11.3版本protobuf-python-3.11.3.tar.gz软件包(或者其他版本,保证和当前环境上安装的TensorFlow兼容),并以root用户上传到所在Linux服务器任意目录并执行命令解压。
tar zxvf protobuf-python-3.11.3.tar.gz -
以root用户安装protobuf。
进入protobuf软件包目录。
-
安装protobuf的依赖。
当操作系统为Ubuntu时,安装命令如下:
apt-get install autoconf automake libtool curl make g++ unzip libffi-dev -y当操作系统为CentOS/BClinux时,安装命令如下:
yum install autoconf automake libtool curl make gcc-c++ unzip libffi-devel -y -
为autogen.sh脚本添加可执行权限并执行此脚本。
chmod +x autogen.sh ./autogen.sh -
配置安装路径(默认安装路径为"/usr/local")。
./configure如果想指定安装路径,可参考以下命令。
./configure --prefix=/protobuf“/protobuf”为用户指定的安装路径。
-
执行protobuf安装命令。
make -j15 # 通过grep -w processor /proc/cpuinfo|wc -l查看cpu数,示例为15,用户可自行设置相应参数。 make install -
刷新共享库。
ldconfigprotobuf安装完成后,会在
--prefix配置的路径下面的include目录中生成google/protobuf文件夹,存放protobuf相关头文件;在--prefix配置路径下面的bin目录中生成protoc可执行文件,用于进行*.proto文件的编译,生成protobuf的C++头文件及实现文件。 -
检查是否安装完成。
ln -s /protobuf/bin/protoc /usr/bin/protoc protoc --version其中
/protobuf为--prefix中用户配置的安装路径。如果用户未配置安装路径,则直接执行protoc --version检查是否安装成功。
-
-
安装protobuf的Python版本运行库。
-
进入protobuf软件包目录的Python子目录,编译Python版本的运行库。
python3 setup.py build --cpp_implementation[!NOTE]说明 如果不执行此命令生成二进制版本的运行库,序列化结构的处理性能会较低。
-
安装动态库。
cd .. && make install进入Python子目录,安装Python版本的运行库。
python3 setup.py install --cpp_implementation -
检查是否安装成功。
检查系统中是否存在“/usr/local/python3.7.5/lib/python3.7/site-packages/protobuf-3.11.3-py3.7-linux-aarch64.egg/google/protobuf/pyext/message.cpython-37m-<arch>-linux-gnu.so”这个动态库。其中<arch>_为系统架构类型。
[!NOTE]说明 “/usr/local/python3.7.5/lib/python3.7/site-packages”是pip安装第三方库的路径,可以使用pip3 -V检查。 如果系统显示:/usr/local/python3.7.5/lib/python3.7/site-packages/pip,则pip安装第三方库的路径为/usr/local/python3.7.5/lib/python3.7/site-packages。
-
若用户在
--prefix中指定了安装路径,则需在运行脚本中增加环境变量的设置:export LD_LIBRARY_PATH=/protobuf/lib:${LD_LIBRARY_PATH}"/protobuf"为
--prefix中用户配置的安装路径。 -
建立软链接。
当用户自行配置安装路径时,需要建立软链接,否则导入TensorFlow会报错。命令如下:
ln -s /protobuf/lib/libprotobuf.so.22.0.3 /usr/lib/libprotobuf.so.22其中"/protobuf"为
--prefix中用户配置的安装路径。
-
【免费下载链接】tensorflow Ascend TensorFlow Adapter 项目地址: https://gitcode.com/cann/tensorflow
更多推荐


所有评论(0)