张小白带你体验MindSpore 1.1的新特性:单节点缓存Cache(1)CPU环境下的Cache体验
799
2022-05-30
MindSpore Lite V1.1.0在Windows 10上的安装比较简单(参见博客:张小白教你如何在Win10上源码安装MindSpore Lite V1.1.0 https://bbs.huaweicloud.com/blogs/239829 ),但是不知道Ubuntu 18.04上会怎么样呢?
打开安装文档的页面 https://www.mindspore.cn/tutorial/lite/zh-CN/r1.1/use/build.html#linux
可以看到,Linux下的依赖要比Windows复杂得多。但是,再复杂的问题,张小白也要坦然面对,是不是?
runtime(cpp)编译依赖
CMake >= 3.18.3
GCC >= 7.3.0
Android_NDK >= r20
Git >= 2.28.0
converter编译依赖
CMake >= 3.18.3
GCC >= 7.3.0
Android_NDK >= r20
Git >= 2.28.0
Autoconf >= 2.69
Libtool >= 2.4.6
LibreSSL >= 3.1.3
Automake >= 1.11.6
Libevent >= 2.0
M4 >= 1.4.18
OpenSSL >= 1.1.1
runtime(java)编译依赖
CMake >= 3.18.3
GCC >= 7.3.0
Android_NDK >= r20
Git >= 2.28.0
Android SDK
Gradle >= 6.6.1
OpenJDK >= 1.8
一个一个来吧。
首先,需要一个带gcc 7.3.0的ubuntu 18.04的版本。这个张小白在以前的博客中提到过多次了。
如果你想安装ubuntu 18.04的虚拟机,可以参见 https://bbs.huaweicloud.com/blogs/198324 的Part Two
如果你想源码安装gcc 7.3.0,可以参见 https://bbs.huaweicloud.com/blogs/198349 的Part Two
这里不再赘述。
其他部分的安装我们一个一个地撸起袖子加油干吧。。
CMake >= 3.18.3 (实际3.19.3,满足)
wget https://github.com/Kitware/CMake/releases/download/v3.19.3/cmake-3.19.3-Linux-x86_64.sh
好像又是龟速下载,那么通过gitee过渡吧。。。(具体的方法是在gitee导入github的仓库,然后对gitee的仓库进行操作)
git clone https://gitee.com/zhanghui_china/CMake.git
进入Cmake目录,执行编译和安装:
./bootstrap && make && sudo make install
。。
查看cmake版本
cmake --version
Android_NDK >= r20(实际r20b,满足)
wget https://dl.google.com/android/repository/android-ndk-r20b-linux-x86_64.zip
可见这个网络貌似还不大稳定。。不过wget会重连,所以耐心等待即可。。
unzip android-ndk-r20b-linux-x86_64.zip
在/etc/profile加入以下代码:
export ANDROID_NDK=/home/ascend/r1.1/android-ndk-r20b(具体路径取决于你解压后的目录名)
export PATH=$PATH:$ANDROID_NDK
source /etc/profile执行以使得变量生效。
Git >= 2.28.0(实际2.30.0,满足)
先看下当前操作系统自带的git的版本。
git --version
需要2.28.0.不够。
sudo add-apt-repository ppa:git-core/ppa
sudo apt update
sudo apt install git
git --version
2.30.0 现在够了。
Autoconf >= 2.69(实际2.70,满足)
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.70.tar.gz
解压autoconf-2.70.tar.gz
tar -xzvf autoconf-2.70.tar.gz
进入autoconf目录,分别执行
./configure
make
sudo make install
autoconf --version
2.70,满足。
Libtool >= 2.4.6(实际2.4.6,满足)
wget https://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.gz
tar -xzvf libtool-2.4.6.tar.gz
进入目录后,老三样,放一起吧。
./configure;make;sudo make install
LibreSSL >= 3.1.3(实际3.1.3,满足)
wget https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.3.1.tar.gz
这个文件下载得比较曲折。。。
每下载3%-4%就断掉。。。
。。。
。。。
ubuntu自己都坚持不下去了。。。好在有人提供了版本造福大家。感恩。。。
将文件传上去
tar -xzvf libressl-3.3.1.tar.gz解压
进入目录,老三样
./configure
make;sudo make install
Automake >= 1.11.6(实际1.15.1,满足)
这个就直接用apt安装了。
Libevent >= 2.0(实际2.1.12,满足)
wget https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz
下了2遍,所以文件名末尾加了1.
将下载OK的文件名改回来,再解压
tar -zxvf libevent-2.1.12-stable.tar.gz
老三样搞起
./configure;make;sudo make install
M4 >= 1.4.18(实际1.4.18,满足)
wget http://mirrors.kernel.org/gnu/m4/m4-1.4.18.tar.gz
从上面的重试可以知道下载是多么的艰难,辛苦了乌班图。。
解压 tar -xzvf m4-1.4.18.tar.gz
进入目录老三样
./configure;make;sudo make install
m4 --version
OpenSSL >= 1.1.1(实际1.1.1i,满足)
wget https://www.openssl.org/source/openssl-1.1.1i.tar.gz
解压
tar -zxvf openssl-1.1.1i.tar.gz
进入目录后老三样
./config
make
sudo make install
Gradle >= 6.6.1(实际6.8.1,满足)
wget https://services.gradle.org/distributions/gradle-6.8.1-bin.zip
unzip gradle-6.8.1-bin.zip
在/etc/profile中增加gradle环境变量
export GRADLE_PATH=/home/ascend/r1.1/gradle-6.8.1
export PATH=$PATH:$ANDROID_NDK:$GRADLE_PATH/bin
执行生效
source /etc/profile
检查版本
gradle -version
OpenJDK >= 1.8(实际1.8.0_275,满足)
sudo apt-get install openjdk-8-jre
java -version
Android SDK
“通过Android command line tools安装Android SDK”
新建个 AndroidSDK目录
在/etc/profile中增加环境变量
export ANDROID_SDK_ROOT=/home/ascend/r1.1/AndroidSDK
source /etc/profile使得环境变量生效。
下载sdk-tools
wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
解压 unzip sdk-tools-linux-3859397.zip
解压后会在/home/ascend/r1.1/AndroidSDK 目录下生成一个tools目录
在/etc/profile增加PATH
export PATH=$PATH:$ANDROID_SDK_ROOT/toos:$ANDROID_SDK_ROOT/toos/bin
source /etc/profile使得环境变量生效。
mkdir ~/.android
touch ~/.android/repositories.cfg
sdkmanager --no_https --list
cd /home/ascend/r1.1/AndroidSDK/tools/bin
sdkmanager --sdk_root=${ANDROID_SDK_ROOT} "cmdline-tools;latest"
先接受下面的条款:
。。。
按Y继续。
接受所有的许可证
yes | ./sdkmanager --licenses
。。。
至此,依赖都安装完毕。
下面开始编译MindSpore Lite的源码。
根据MindSpore团队王辉老师的建议,使用 bash build.sh -I x86_64 -j8 进行编译
。。。耐心等待编译结束
编译成功,开始尝试converter
tar -zxvf mindspore-lite-1.1.0-converter-linux-x64.tar.gz
更新下/etc/profile
sudo vi /etc/profile
export CONVERTER_BASE=/home/ascend/lite-master/mindspore/output/mindspore-lite-1.1.0-converter-linux-x64
export LD_LIBRARY_PATH=$CONVERTER_BASE/lib:$CONVERTER_BASE/third_party/glog/lib:$LD_LIBRARY_PATH
export PATH=$PATH:$CONVERTER_BASE/converter
source /etc/profile使得环境变量生效
cd $CONVERTER_BASE/converter
./converter_lite --fmk=MINDIR --modelFile=mobilenetv2.mindir --outputFile=mobilenetv2
模型转换成功了。。说明目前ubuntu 18.04下的mindspore lite已成功安装。
(全文完,谢谢阅读)
BTW:附件目前提供了libressl-3.3.1.tar.gz。由于不支持gz文件上传,特将文件名改名为gz1然后打包成rar,如有需要,可解压后将gz1文件还原成gz再导入linux即可进行安装。
附件: libressl-3.3.1.tar.rar 3.65MB 下载次数:0次
MindSpore
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。