• 正文
    • 1、創(chuàng)建部署用戶(hù)
    • 2、安裝 python 和 pip3
    • 3、安裝nvidia 驅(qū)動(dòng)、cuda、cudnn
    • 4、安裝Docker
    • 5、安裝nvidia-docker
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

Ubuntu人工智能訓(xùn)練環(huán)境搭建

2024/12/13
356
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

Ubuntu版本信息:

cat /etc/lsb-release

在這里插入圖片描述

1、創(chuàng)建部署用戶(hù)

創(chuàng)建一個(gè)用戶(hù),非root用戶(hù)即可,創(chuàng)建用戶(hù)示例:

# 創(chuàng)建用戶(hù)
sudo useradd -d /home/yeqinfang -m yeqinfang
sudo passwd yeqinfang

# 賦予免密sudo權(quán)限,可以不執(zhí)?
echo "yeqinfang ALL = (root) NOPASSWD:ALL" |   sudo tee /etc/sudoers.d/yeqinfang 

sudo chmod 0440 /etc/sudoers.d/yeqinfang
	 
# ?戶(hù)使?bash shell,否則?戶(hù)沒(méi)有代碼補(bǔ)全功能
sudo chmod 0440 /etc/sudoers.d/yeqinfang
sudo chsh -s /bin/bash yeqinfang

# 切換?戶(hù)到部署?戶(hù)
su openailab
cd ~

2、安裝 python 和 pip3

后?安裝的rknn指定了python版本,必須使?python3.6的版本

sudo apt-get update && sudo apt-get install python3.6 python3-pip 
sudo ln -s /usr/bin/python3.6 /usr/bin/python3
sudo ln -s /usr/bin/pip3 /usr/bin/pip
# 如果不能安裝,再安裝apt源 
# sudo add-apt-repository ppa:jonathonf/python-3.6 
# sudo apt-get update 
# 驗(yàn)證,確認(rèn) 
python3

# 指定國(guó)內(nèi)安裝源,可以加速依賴(lài)庫(kù)安裝 
mkdir ~/.pip 
vim ~/.pip/pip.conf

# 增加內(nèi)容
[global] 
index-url = http://mirrors.aliyun.com/pypi/simple/
[install] 
trusted-host=mirrors.aliyun.com

3、安裝nvidia 驅(qū)動(dòng)、cuda、cudnn

1、安裝nvidia驅(qū)動(dòng):
官方下載:https://www.nvidia.cn/Download/index.aspx?lang=cn

# 添加PPA 
sudo add-apt-repository ppa:graphics-drivers/ppa 
sudo apt-get update

# ?動(dòng)安裝 
sudo ubuntu-drivers devices 
sudo ubuntu-drivers autoinstall

# 如果需要安裝指定版本,可以使?下?的?法 
# 通過(guò)<Tab>查找Y新的 驅(qū)動(dòng)!我的顯卡是2080Ti ,需要到官方查看,安裝哪個(gè)驅(qū)動(dòng)
# sudo apt-get install nvidia-driver-<Tab> 
# 安裝你需要的驅(qū)動(dòng) 
# $ sudo apt-get install nvidia-driver-435 nvidia-settings
# 重啟 
reboot

# 輸?指令查看是否有信息輸出,確保是否正確安裝 
nvidia-smi

在這里插入圖片描述
安裝完成之后,需要禁止系統(tǒng)更新,確保后續(xù)驅(qū)動(dòng)不會(huì)自動(dòng)更新。

2、安裝cuda和cudnn:
CUDA官方下載地址:https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=runfilelocal
CUDNN官方下載地址:https://developer.nvidia.com/rdp/cudnn-download

(1)安裝CUDA

# 下載安裝包
wget http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run
# 給?件賦予執(zhí)?權(quán)限: 
chmod +x cuda_10.1.243_418.87.00_linux.run
# 執(zhí)行安裝包:
sudo ./cuda_10.0.130_410.48_linux.run

運(yùn)行之后,安裝只選中Tool,如下圖:
在這里插入圖片描述安裝前可以查看一下選項(xiàng),查看選項(xiàng)如圖:
在這里插入圖片描述
Done回車(chē)之后,就可以安裝了,如下:
在這里插入圖片描述
根據(jù)提示查看日志:
在這里插入圖片描述
上面的報(bào)錯(cuò)說(shuō)的是文件存在,所以跳過(guò),所以現(xiàn)在繼續(xù)吧,沒(méi)有問(wèn)題!

# 安裝完成之后,可以配置他們的環(huán)境變量,在vim ~/.bashrc的最后加上以下配置信息(路徑根據(jù)實(shí)際情況配置):
export CUDA_HOME=/usr/local/cuda-10.1
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export PATH=${CUDA_HOME}/bin:${PATH}

# 最后使?命令source ~/.bashrc使它?效。
source ~/.bashrc

在這里插入圖片描述查看版本信息:

nvcc -V

在這里插入圖片描述
如上,cuda安裝成功。

(2)安裝CUDNN

# 安裝cudnn
# 先它進(jìn)?解壓,命令如下
tar -zxvf cudnn-10.1-linux-x64-v7.6.5.32.tgz
# 使?以下兩條命令復(fù)制這些?件到CUDA?錄下:
sudo cp cuda/lib64/* /usr/local/cuda-10.1/lib64/
sudo cp cuda/include/* /usr/local/cuda-10.1/include/
# 拷?完成之后,可以使?以下命令查看CUDNN的版本信息:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

在這里插入圖片描述
在這里插入圖片描述

4、安裝Docker

需要安裝指定的docker版本 19.03.6:

sudo apt-get update && sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && sudo apt-key fingerprint 0EBFCD88

在這里插入圖片描述

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

在這里插入圖片描述

# 查詢(xún)指定可安裝的docker版本
apt-cache madison docker-ce
apt-cache madison docker-ce-cli
# 如果系統(tǒng)是ubuntu18.04可直接使?以下命令安裝,
# ubuntu其他版本可以?上?的命令先查看可安裝的命令
sudo apt-get install docker-ce=5:19.03.6~3-0~ubuntu-bionic docker-ce-cli=5:19.03.6~3-0~ubuntu-bionic containerd.io

在這里插入圖片描述

# 將當(dāng)前?戶(hù)加?docker?戶(hù)組
sudo gpasswd -a $USER docker
# 更新?戶(hù)組
newgrp docker 
#有成功輸出則說(shuō)明安裝成功
docker ps 

在這里插入圖片描述

# 注意以下內(nèi)容?般是不?操作
# 查看docker info
docker info
# 如果默認(rèn)的docker?錄存儲(chǔ)??不夠,想重新指定docker存儲(chǔ)?錄,則修改?件:
vim /lib/systemd/system/docker.service
# From:
ExecStart=/usr/bin/dockerd -H fd:// 
# To: Add --data-root parameter
ExecStart=/usr/bin/dockerd -H fd:// --data-root="/data/docker-files"
# 重啟Docker Servicer
systemctl daemon-reload
systemctl restart docker
# 確認(rèn)是否修改成功
docker info

在這里插入圖片描述

5、安裝nvidia-docker

sudo docker volume ls -q -f 
driver=nvidia-docker | xargs -r -I{} -n1 
docker ps -q -a -f volume={} | xargs -r docker rm -f && 
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | 
sudo apt-key add - && 
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) && 
curl -s -L 
https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list
 | sudo tee /etc/apt/sources.list.d/nvidia-docker.list && 
sudo apt-get update && 
sudo apt-get install -y nvidia-docker2

在這里插入圖片描述
修改配置文件:

sudo vi /etc/docker/daemon.json 
# 內(nèi)容如下:
{
	"registry-mirrors": ["https://spkkpnpn.mirror.aliyuncs.com"],
	"default-runtime": "nvidia",
	"exec-opts": ["native.cgroupdriver=systemd"],
	"runtimes": {
		"nvidia": {
			"path": "nvidia-container-runtime",
			"runtimeArgs": []
		}
	},
	"dns": ["114.114.114.114", "8.8.8.8"]
}

在這里插入圖片描述

# 保存后重新加載docker daemon 
sudo systemctl daemon-reload
sudo systemctl restart docker
# 驗(yàn)證從docker中可以調(diào)?nvidia,在有g(shù)pu環(huán)境的機(jī)器下驗(yàn)證 
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi

在這里插入圖片描述在這里插入圖片描述
如上,出現(xiàn)這個(gè)結(jié)果,說(shuō)明docker可以調(diào)?GPU了??上部少R。

6、安裝 Mongodb、unrar、nfs-common、g++aarch64-linux-gnu

sudo apt-get install mongodb unrar nfs-common g++-aarch64-linux-gnu sox
# 修改mongodb的訪問(wèn)權(quán)限 
sudo vi /etc/mongodb.conf
# 輸入內(nèi)容
bind_ip=0.0.0.0
# 重啟mongodb
sudo systemctl restart mongodb.service 

在這里插入圖片描述

7、安裝Tvm

# 下載tvm源碼 
git clone --recursive https://github.com/apache/incubator-tvm tvm
# 安裝相關(guān)?具 
sudo apt-get update && sudo apt-get install -y python3 python3-dev   python3-setuptools gcc libtinfo-dev zlib1g-dev build-essential cmake libedit-dev libxml2-dev
# 安裝LLVM 
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
# 復(fù)制配置并修改 
cd tvm 
mkdir build 
cp cmake/config.cmake build
# 修改配置,Change set(USE_LLVM OFF) to set(USE_LLVM ON) 
sudo vi ./build/config.cmake
# 修改內(nèi)容
set(USE_LLVM ON)
# build tvm and related libraries. 
cd build 
cmake ..
make -j4
# 安裝編譯出來(lái)的tvm python庫(kù),安裝到python3 
cd tvm 
cd python; sudo python3 setup.py install; cd .. 
cd topi/python; sudo python3 setup.py install; cd ..
# 安裝python依賴(lài)庫(kù) 
sudo apt install antlr4 
sudo pip3 install numpy decorator attrs tornado mypy orderedset antlr4-python3-runtime
# 驗(yàn)證 
python3 
# 進(jìn)?交互模式,輸??下內(nèi)容導(dǎo)?tvm 
import tvm

8、安裝 rknn python庫(kù)

下載地址:https://gitee.com/david12/rknn-toolkit

# ?件rknn_toolkit-1.3.0-cp36-cp36m-linux_x86_64.whl 
sudo pip3 install rknn_toolkit-1.3.0-cp36-cp36m-linux_x86_64.whl

在這里插入圖片描述

9、安裝 docker-py python 庫(kù)

git clone https://github.com/teklia/docker-py.git
cd docker-py 
# 切換到device-device分? 
git checkout device-requests 
sudo python3 setup.py install

在這里插入圖片描述

10、安裝 Nginx,并復(fù)制前端代碼

# 將提供的dist.zip(我司前端文件)放到?錄/home/openailab 
# 解壓dist.zip 
unzip dist.zip -x
# 可以看到多出來(lái)?個(gè)/home/openailab/dist?錄
# 安裝nginx 
sudo apt-get install nginx
# 修改配置,設(shè)置前端?? 
sudo vi /etc/nginx/sites-enabled/default
# 修改內(nèi)容
# (根據(jù)實(shí)際需求進(jìn)行修改即可)
sudo service nginx restart
# 訪問(wèn)配置的端口,如:http://xx.xx.xx.xx:1026

在這里插入圖片描述

11、拉取相關(guān) Docker鏡像

docker login --username=xxxxxxx@126.com registry.xxxxxxxxxx.aliyuncs.com
docker pull xxxxxxxxx 
docker tag  xxxxxxxxx

12、加密后端代碼,并運(yùn)?

相關(guān)推薦