目录
- 一、拉取Ubuntu 18.04 docker镜像
- 二、查看已有镜像
- 三、基于镜像创建容器
- 1. 创建容器
- 2. 退出容器
- 3. 查看容器
- 4. 启动容器
- 5. 进入容器
- 6. 更新容器内部软件源
- 四、安装CANN包
- 1. 安装基础依赖环境
- 2. 安装并配置python 3.7.5
- 配置环境变量
- 安装vim
- 添加
- 使环境变量生效
- 检查python版本
- 修改pip源
- 升级pip
- 3. 安装CANN包相关依赖
- 4. 安装CANN软件包
- 五、配置交叉编译环境
- 六、安装pytorch模型压缩量化工具
- 1. 安装基础依赖
- 2. 安装
- 七、SSH配置
一、拉取Ubuntu 18.04 docker镜像
docker pull docker.xuanyuan.me/ubuntu:18.04
二、查看已有镜像
docker images
三、基于镜像创建容器
1. 创建容器
sudo docker run -it -p 50004:22 -v /home/lenovo/docker_share/020/:/mnt/share docker.xuanyuan.me/ubuntu:18.04
2. 退出容器
exit
3. 查看容器
docker ps -a
4. 启动容器
docker start a79692a08ab4
5. 进入容器
docker exec -it a79692a08ab4 /bin/bash
6. 更新容器内部软件源
apt-get update
四、安装CANN包
1. 安装基础依赖环境
apt-get install -y gcc g++ cmake make unzip build-essential zlib1g-dev libbz2-dev libsqlite3-dev libssl-dev libxslt1-dev libffi-dev zlib1g openssl libncurses5-dev libncursesw5-dev gnome-keyring pciutils net-tools
2. 安装并配置python 3.7.5
apt-get install wget
wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz
tar xf Python-3.7.5.tgz
cd Python-3.7.5
./configure --prefix=/usr/local/python3.7.5 --enable-loadable-sqlite-extensions --enable-shared
make -j12
make install
ln -s /usr/local/python3.7.5/bin/python3 /usr/local/python3.7.5/bin/python3.7.5](https://i-blog.csdnimg.cn/direct/97d5cfd9ec3d441993581561b5c0c350.png)
ln -s /usr/local/python3.7.5/bin/pip3 /usr/local/python3.7.5/bin/pip3.7.5
ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python
ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip
配置环境变量
安装vim
apt-get install vim
vim /etc/profile
添加
export LD_LIBRARY_PATH=/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/python3.7.5/bin:$PATH
使环境变量生效
source /etc/profile
检查python版本
python3.7.5 --version
pip3.7.5 --version
python3.7 --version
pip3.7 --version
修改pip源
mkdir ~/.pip
touch ~/.pip/pip.conf
vim ~/.pip/pip.conf
添加
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com
升级pip
pip3 install --upgrade pip
3. 安装CANN包相关依赖
pip install --no-binary=protobuf protobuf
pip3.7.5 install psutil==5.7.0
pip3.7.5 install numpy==1.14.6
pip3.7.5 install scipy==1.4.1
pip3.7.5 install decorator==4.4.0
pip3.7.5 install sympy==1.5.1
pip3.7.5 install cffi==1.12.3
pip3.7.5 install pyyaml
pip3.7.5 install pathlib2
4. 安装CANN软件包
创建一个临时文件夹
cd ..
mkdir tools
cd tools
容器外linux宿主机执行,拷贝你的CANN包到容器内
cd /home/xxx/xxx/SVP_PC/SVP_NNN_PC_V3.0.2.9/MindStudio/
docker cp Ascend-cann-toolkit_6.10.t03spc011b090_linux.x86_64.run a79692a08ab4:/tools
再次进入容器内tools文件夹
docker exec -it a79692a08ab4 /bin/bash
cd /xxx/tools
赋予可执行权限
chmod +x Ascend-cann-toolkit_6.10.t03spc011b090_linux.x86_64.run
检查CANN包
./Ascend-cann-toolkit_6.10.t03spc011b090_linux.x86_64.run --check
安装
./Ascend-cann-toolkit_6.10.t03spc011b090_linux.x86_64.run --install
vim ~/.bashrc
添加
source /usr/local/Ascend/ascend-toolkit/svp_latest/x86-linux/script/setenv.sh
五、配置交叉编译环境
与其说配置,不如说运行一个现成的脚本
容器外执行
cd /home/xxx/xxx/SMP_Linux_GCC_glibc/
拷贝交叉编译器压缩包到容器内临时文件夹
docker cp gcc-20240819-aarch64-v01c01-linux-gnu.tgz a79692a08ab4:/tools
容器内执行
tar xf gcc-20240819-aarch64-v01c01-linux-gnu.tgz
cd gcc-20240819-aarch64-v01c01-linux-gnu
./install_gcc_toolchain.sh
source /etc/profile
musl交叉编译器同样安装方式
略
六、安装pytorch模型压缩量化工具
1. 安装基础依赖
python3.7.5 -m pip --trusted-host=download.pytorch.org install torch==1.8.1+cpu torchvision==0.9.1+cpu torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
pip3.7.5 install onnx==1.6.0
pip3.7.5 install onnxruntime==1.8.0
pip3.7.5 install interval==1.0.0
创建一个临时文件夹
mkdir amct
cd amct
容器外执行
cd /home/xxx/xxx/SVP_PC/SVP_NNN_PC_V3.0.2.9/amct/amct_pytorch/
docker cp hotwheels_amct_pytorch-1.2.22+cu102-py3-none-linux_x86_64.tar.gz a79692a08ab4:/amct
2. 安装
容器内执行
pip install hotwheels_amct_pytorch-1.2.22+cu102-py3-none-linux_x86_64.tar.gz
七、SSH配置
apt-get install openssh-server
echo "Port 22">>/etc/ssh/sshd_config
echo "PermitRootLogin yes">>/etc/ssh/sshd_config
echo "PermitRootLogin yes">>/etc/ssh/sshd_config
service ssh start
service ssh status
passwd
systemctl enable ssh
后续可SSH连接容器
ssh 192.xxx.xxx:50004
至此,开发环境搭建完成,可正常进行模型转换、交叉编译等工作