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