Materiales: Ubuntu, tarjeta gráfica
1. Instalar Miniconda3
1. Dirección de descarga Miniconda3-latest-Linux-x86_64.sh
# 安装命令
./Miniconda3-latest-Linux-x86_64.sh
Nota: Si se instala en una máquina virtual VM, pueden ocurrir los siguientes problemas:
Solución: Al "FIN", ingrese "sí" en el teclado y presione Enter, aparecerá la siguiente situación:
#继续执行
vim ~/.bashrc
#在最后添加如下,并保存退出。
export PATH=/home/用户名/miniconda3/bin:$PATH
#环境变量生效
source ~/.bashrc
2. Ingrese miniconda3
cd /home/用户名/miniconda3/bin
3. Crea un entorno virtual
# 环境名yolov5_env,python版本3.8
conda create -n yolov5_env python=3.8
4. Activa el entorno virtual
conda activate yolov5_env
5. referencia de cambio de fuente de conda
2. Instale cuda y cudnn
descarga cuda , seleccione 10.2 antes de las tarjetas gráficas de la serie 30, seleccione 11.1.1
descarga cudnn para tarjetas gráficas de la serie 30 (requiere registro e inicio de sesión) , seleccione el cudnn correspondiente según la versión de cuda (se recomienda cuda10.2 + cudnn7.6.5, cuda11. 1+cudnn8.1.1)
Instalar:
sudo sh cuda_10.2.89_440.33.01_linux.run
Agregar variables de entorno:
gedit ~/.bashrc
Añadir:
export PATH=/usr/local/cuda-10.2/bin${
PATH:+:${
PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
Actualizar la configuración de la variable de entorno:
source ~/.bashrc
verificar:
nvcc -V
Descomprimir cudnn:
tar -xvf cudnn-10.2-linux-x64-v7.6.5.32.tgz
Copie el archivo y modifique los permisos:
sudo cp cuda/include/* /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
# 顺序一定按照以下顺序
sudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.2_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.5.32-1+cuda10.2_amd64.deb
sudo dpkg -i libcudnn7-doc_7.6.5.32-1+cuda10.2_amd64.deb
Verificar cudnn:
# 将cuDNN示例复制到可写路径
$ cp -r /usr/src/cudnn_samples_v7/ $HOME
# 进入到可写路径
$ cd $HOME/cudnn_samples_v7/mnistCUDNN
# 编译mnistCUDNN示例
$ make clean && make
# 运行mnistCUDNN示例
$ ./mnistCUDNN
Aparecerán los resultados de la ejecución:
Test passed!