paddle编译
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、下载paddle源码二、编译测试前言记录 飞腾2000服务器上编译paddlepaddle中出现的一些小问题一、下载paddle源码git clone https://github.com/PaddlePaddle/Paddle.gitcd Paddlegit checkout [分支名]提示:网不好git连不上的,可
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
记录 飞腾2000服务器上编译paddlepaddle中出现的一些小问题一、下载paddle源码
git clone https://github.com/PaddlePaddle/Paddle.git
cd Paddle
git checkout [分支名]
提示:网不好git连不上的,可以更换git网址为:hub.fastgit.org。
二、编译
创建并进入一个叫build的目录下:
cmkdir build && cd build
链接过程中打开文件数较多,可能超过系统默认限制导致编译出错,设置进程允许打开的最大文件数:
ulimit -n 4096
执行cmake 我这里是python3 编译的
cmake .. -DPY_VERSION=3 -DPYTHON_EXECUTABLE=`which python3` -DWITH_ARM=ON -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release -DON_INFER=ON -DWITH_XBYAK=OFF -DWITH_RCCL=OFF -DWITH_NCCL=OFF -DWITH_CONTRIB=OFF -DWITH_MKL=OFF -DWITH_MKLDNN=OFF -DWITH_GPU=OFF -DWITH_XBYAK=OFF -DGIT_URL=https://hub.fastgit.org
后面指定依赖下载的网址了,因为公司网原因git网址连接不上,我更换了网址
cmake 的时候configure 会报错,缺某些module,pip3 install 安装一下即可,装完之后再重新cmake
使用以下命令来编译,注意,因为处理器为ARM架构,如果不加TARGET=ARMV8则会在编译的时候报错:
make TARGET=ARMV8 -j$(nproc)
编译过程中会从git下载代码,如果clone出错,就cd 对应的文件路径下 替换掉git网址就可以了
sed -i "s/github.com/hub.fastgit.org/g" `grep "github.com" -rl ./`
编译成功后进入Paddle/build/python/dist目录下找到生成的.whl包。
# 三、安装
在当前机器或目标机器安装编译好的.whl包:
pip install -U(whl包的名字)`或`pip3 install -U(whl包的名字)
测试
在mobilenetv1和resnet50模型上测试:
wget -O profile.tar https://paddle-cetc15.bj.bcebos.com/profile.tar?authorization=bce-auth-v1/4409a3f3dd76482ab77af112631f01e4/2020-10-09T10:11:53Z/-1/host/786789f3445f498c6a1fd4d9cd3897ac7233700df0c6ae2fd78079eba89bf3fb
tar xf profile.tar && cd profile
python resnet.py --model_file ResNet50_inference/model --params_file ResNet50_inference/params
# 正确输出应为:[0.0002414 0.00022418 0.00053661 0.00028639 0.00072682 0.000213
# 0.00638718 0.00128127 0.00013535 0.0007676 ]
python mobilenetv1.py --model_file mobilenetv1/model --params_file mobilenetv1/params
# 正确输出应为:[0.00123949 0.00100392 0.00109539 0.00112206 0.00101901 0.00088412
# 0.00121536 0.00107679 0.00106071 0.00099605]
python ernie.py --model_dir ernieL3H128_model/
# 正确输出应为:[0.49879393 0.5012061 ]
参考文档
https://www.paddlepaddle.org.cn/documentation/docs/zh/install/compile/arm-compile.html
![Logo](https://devpress.csdnimg.cn/79de2bf0b7994defa4242ef90d5513fa.jpg)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)