张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(15)尝试昇思跑LeNet-3
十五、在Atlas 200DK上编译MindSpore LeNet网络的推理代码
仔细查看了下lenet工程下scripts目录下的相关代码,其中有个run_infer_310.sh貌似就是个运行推理代码的脚本。
根据README:
直接运行试试:
bash run_infer_310.sh ../lenet.mindir ../data dvpp
报错了:
查看ascend310_infer下的build.log的日志:
确认是没有安装gflags包。
开始安装glags:
cd gflags
mkdir build
cd build
cmake .. -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DBUILD_gflags_LIB=ON
make -j8
sudo make install
再安装glog
下载代码仓:
git clone https://github.com/google/glog
cd glog
vi README.rst
根据readme进行安装:
cmake -S . -B build -G "Unix Makefiles"
cmake --build build
sudo cmake --build build --target install
回到lenet工程的ascend310_infer目录,编辑CMakeList.txt文件,增加:find_package(gflags REQUIRED):
再重新执行推理脚本:
bash ./run_infer_310.sh ../lenet.mindir ./images dvpp
仍然是build失败。
检查ascend310_infer/build.log
居然还是这个错。
这个问题折腾了张小白好几天的时间,张小白也请了 MindSpore专家 赵老师帮忙看看。最终发现 去年的一个issue的做法可以解决编译的问题:
https://gitee.com/mindspore/mindspore/issues/I3X1EA
于是如法炮制:
获取gflags安装包:
wget https://github.com/gflags/gflags/archive/v2.2.2.tar.gz --no-check-certificate
解压:
tar -zxvf v2.2.2.tar.gz
编译:
cd gflags-2.2.2/
mkdir build
cd build
export CXXFLAGS=-D_GLIBCXX_USE_CXX11_ABI=0
cmake .. -DBUILD_SHARED_LIBS=ON
make -j8
删除上次源码安装好的 /usr/local/lib下libgflags的包:
再make install
重新编译:
终于编译成功,但是紧接着出现了推理失败,这个咱们下一次解决吧!
(未完待续)
- 点赞
- 收藏
- 关注作者
评论(0)