Configuração do ambiente YOLO3 no Ubuntu16.04: Driver NVIDIA + CUDA9.0 + CUDNN7.05 + OpenCv3.4.5

1. Instale o driver gráfico da NVIDIA

Referência: 1 2 3

1. Desative o novo

Por padrão, o ubuntu 16.04 instala o driver de código-fonte aberto nouveau de terceiros.Para instalar o driver gráfico da nvidia, primeiro desative o nouveau; caso contrário, você encontrará conflitos, o que impede a instalação do driver gráfico da nvidia A.
Abra o arquivo:

sudo gedit /etc/modprobe.d/blacklist.conf 

b) Adicione no final do arquivo:

blacklist nouveau
options nouveau modeset=0

c) Atualize a modificação do sistema:

sudo update-initramfs -u

d, reinicie o sistema
e, verifique se o nouveau está desativado

lsmod | grep nouveau

Insira a descrição da imagem aquiSe nada aparecer, é bem sucedido

2. Baixe o arquivo do driver e instrua a instalação

um, em Nvidia site oficial para encontrar e baixar os drivers apropriados no modelo de placa de vídeo do seu computador, os arquivos são executados continha copiados para o diretório home, o arquivo é: NVIDIA-Linux-x86_64-xxx.run:
Insira a descrição da imagem aqui

Pressione ctrl + alt + f1 + f2 + ... f6 no ubuntu (até que você entre na interface da linha de comandos para parar)
Nota: ctrl + alt + f7 é para sair da interface de comando e retornar à interface gráfica
c, logon: nome da conta do computador, senha : Senha, efetue login na interface da linha de comandos
d, feche a interface gráfica (deve ser fechada)

sudo service lightdm stop

Desinstale o driver existente no sistema, ele é instalado por padrão

sudo apt-get remove nvidia-* 

F. Dê permissões de arquivo

sudo chmod  a+x NVIDIA-Linux-x86_64-xxx.run(根据自己下载的文件)
sudo ./NVIDIA-Linux-x86_64-xxx.run -no-x-check -no-nouveau-check -no-opengl-files

Entre eles:
-no-x-check: desativa o serviço X ao instalar o driver
-no-nouveau-check: desativa o nouveau ao instalar o driver
-no-opengl-files: instala apenas os arquivos do driver, não os arquivos do OpenGL

Se a instalação não iniciar em seguida, a mensagem de erro parece ser de dois códigos. Nesse momento, as informações são consideradas o problema da versão do driver. Depois baixei o driver novamente. A versão 440 foi substituída por 430, como mostrado na figura, e você pode reinstalá-lo:
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
g
1. Processo de instalação 1. O script de pré-instalação fornecido pela distribuição falhou! Tem certeza de que deseja continuar? Selecione Sim para continuar.

2 、 Deseja registrar as fontes do módulo kernel no DKMS? Isso permitirá que o DKMS crie automaticamente um novo módulo, se você instalar um kernel diferente posteriormente? 选择 NÃO 继续

3 、 Deseja executar o nvidia-xconfigutility para atualizar automaticamente sua configuração x para que o driver NVIDIA x seja usado quando você reiniciar o x? Qualquer backup pré-existente x será copiado. 选择 Sim 继续

h) Reinicie a interface gráfica

sudo service lightdm start 

Pressione Ctrl + Alt + F7 para retornar à interface gráfica

I. Verifique se o driver foi instalado com sucesso

nvidia-smi 

2020-03-20 10-11-53 captura de tela
A instalação foi bem sucedida!

Segundo, instale o CUDA9.0

Referência: 1 2 3
1 site oficial na CUDA9.0 download:
Insira a descrição da imagem aquiEscolha aqui runfile instalado, baixado, tais como: cuda_9.0.176_384.81_linux.run, eu colocá-lo em casa pasta, e fácil de encontrar o próximo caminho

2. Instale o CUDA9.0 A.
Pressione ctrl + alt + f1 + f2 + ... f6 no ubuntu (pare até entrar na interface da linha de comandos) e efetue login
b. Feche a interface gráfica

sudo service lightdm stop

Alterne para o caminho do arquivo de instalação cuda e execute a instalação

cd ~
sudo sh cuda_9.0.176_384.81_linux.run

Continue pressionando enter até que os termos de serviço mostrem 100% e siga a pergunta:

aceite
n (não instale o driver)
y
y
y
e exiba a instalação bem-sucedida

3. Reinicie a interface gráfica

sudo service lightdm start

Pressione Alt + ctrl + F7 para retornar à interface gráfica de login

4. Reinicie o computador e verifique a verificação do nó do dispositivo

ls /dev/nvidia* 

Pode haver dois resultados, aeb, verifique os
assentos : a) Se o resultado mostra / dev / nvidia0 / dev / nvidiactl / dev / nvidia-uvm ou exibe informações semelhantes, deve haver três (incluindo um / dev / nvidia- NVV), a instalação foi bem sucedida.
b. A maioria dos resultados pode ser assim ls: não é possível acessar / dev / nvidia *: não existe esse arquivo ou diretório ou é assim, apenas um ou dois de / dev / nvidia0 / dev / nvidiactl a aparece, mas não há / dev / nvidia-num, ou seja, o arquivo não é exibido completamente.

Se for b, então:

sudo vi /etc/rc.local 

Se você estiver abrindo esse arquivo pela primeira vez, ele deverá estar vazio (exceto para o # comentário linha após linha);

A primeira linha deste arquivo é #! / Bin / sh -e Remove -e (esta etapa é muito importante, caso contrário, não carregará o conteúdo do texto). Em seguida, copie o seguinte conteúdo nele, exceto #! / Bin / bash , (Antes da saída 0) salve e saia;

#!/bin/bash
/sbin/modprobe nvidia
 
if [ "$?" -eq 0 ]; then
# Count the number of NVIDIA controllers found.
NVDEVS=`lspci | grep -i NVIDIA`
N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`
 
N=`expr $N3D + $NVGA - 1`
for i in `seq 0 $N`; do
mknod -m 666 /dev/nvidia$i c 195 $i
done
 
mknod -m 666 /dev/nvidiactl c 195 255
 
else
exit 1
fi
 
/sbin/modprobe nvidia-uvm
 
if [ "$?" -eq 0 ]; then
# Find out the major device number used by the nvidia-uvm driver
D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`
 
mknod -m 666 /dev/nvidia-uvm c $D 0
else
exit 1
fi

Reinicie! Digite novamente:

 ls /dev/nvidia*

Os resultados mostram: / dev / nvidia0 / dev / nvidiactl / dev / nvidia-uvm bem-sucedido!

Caso contrário, verifique aqui:
Insira a descrição da imagem aqui

5. Defina variáveis ​​de ambiente

sudo gedit /etc/profile

No final do arquivo aberto, adicione as duas linhas a seguir:

64位系统:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64\
                                ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
32位系统:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib\
                             ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

Salve o arquivo e reinicie, porque o / etc / profile de origem é temporariamente efetivo, a reinicialização do computador é permanentemente efetiva

6. Verifique se as variáveis ​​de ambiente acima estão definidas com êxito
a. Verifique a versão do driver

cat /proc/driver/nvidia/version 

Os resultados mostram que a versão NVRM: NVIDIA UNIX x86_64 Módulo do kernel 384.81 Sáb 2 de setembro 02:43:11 PDT 2017 Versão GCC: versão gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.5)

b) Verifique o CUDA Toolkit

nvcc -V     

As informações da versão CUDA serão exibidas se for assim: O programa 'nvcc' não está instalado no momento. Você pode instalá-lo digitando: sudo apt-get install nvidia-cuda-toolkit A configuração do ambiente pode não ser bem-sucedida, repita as etapas acima )

Nota: Se você encontrar um erro: Faltando biblioteca recomendada:
Insira a descrição da imagem aqui
então:

`sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev`

Em seguida, reinstale, consulte: https://blog.csdn.net/weixin_43506858/article/details/89845768

7. Tente compilar o exemplo fornecido por cuda

cd /home/xxx/NVIDIA_CUDA-9.0_Samples 
make

Todo o processo leva cerca de dez a vinte minutos, por favor, seja paciente. Se ocorrer um erro, o sistema reportará imediatamente o erro e parará. Um erro pode ser relatado durante a primeira execução. A mensagem de erro pode ser que não há gcc no sistema. A solução é reinstalar o gcc através do comando:

sudo apt-get install gcc 

Após a instalação do gcc, o make é normal novamente; se a compilação for bem-sucedida, as amostras CUDA da construção concluída serão exibidas no final, conforme mostrado na figura a seguir:
Insira a descrição da imagem aqui

`cd /home/lxxx/NVIDIA_CUDA-9.0_Samples/bin/x86_64/linux/release`
./deviceQuery

O resultado é como mostrado na figura abaixo: Se você vir uma tela semelhante à figura a seguir, significa que o CUDA foi instalado e configurado com êxito, onde Resultado = PASS significa sucesso, se falhar Resultado = FAIL
Insira a descrição da imagem aqui

./bandwidthTest

Ver uma tela semelhante à figura abaixo significa sucesso!
Insira a descrição da imagem aqui

Três, instale CUDNN7.05

1. Faça o download do arquivo de instalação

Download do site oficial: https://developer.nvidia.com/rdp/cudnn-archive
2020-03-20 10-58-03 captura de tela
2. Instalação
Descompacte o arquivo baixado, você pode ver a pasta cuda, abra o terminal no diretório atual (camada superior do cudnn), execute o seguinte comando:

sudo cp cuda/include/cudnn.h /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*

3. Verifique a versão do cudnn

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

Se as informações da versão mostradas na figura abaixo aparecerem, a instalação foi bem-sucedida:
Insira a descrição da imagem aqui4. Visualize a GPU em tempo real (por segundo)

watch -n 1 nvidia-smi

Insira a descrição da imagem aqui

Quarto, instale o OpenCv3.4.5

Referência: https://blog.csdn.net/gaoyu1253401563/article/details/89380270
1, codecs download
Shang site oficial versão fonte de OpenCV download, escolher a versão Fontes de OPenCV3.4.5;
disco Baidu nuvem foi baixado: https: / /download.csdn.net/download/gaoyu1253401563/11129399

2. Instale bibliotecas dependentes e cmake
no pacote de arquivos descompactado (opencv-3.4.5)

sudo apt-get update
sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev  

Após instalar o cmake, execute o comando, crie uma pasta de compilação e digite a pasta de compilação

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

Quando o comando acima é executado, o IPPICV será baixado: Download: ippicv_2019_lnx_intel64_general_20180723.tgz, para esta linha durante o tempo de execução, o download não se move, há uma situação em que não pode ser baixado, pode ser porque o mural não pode ser baixado, por isso, baixamos manualmente esse arquivo Desça e execute novamente:
Baidu SkyDrive (gratuito): link: https://pan.baidu.com/s/1eyG7mqKLY6CvUQdh7CbUgA código de extração: 1miu

Após o download, substitua os arquivos com o mesmo nome no diretório opencv-3.4.5 / 3rdparty / ippicv / downloads / linux- * e reinicie o cmake (no diretório build)

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

Os resultados são os seguintes:
Insira a descrição da imagem aqui3. Execute o processo de compilação

sudo make

Insira a descrição da imagem aqui
4. Instalação

sudo make install

Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
5. Configure algum ambiente de compilação OpenCV

Adicione a biblioteca OPenCV ao caminho para que o sistema possa encontrar:

sudo gedit /etc/ld.so.conf.d/opencv.conf

Após executar este comando, pode ser um documento em branco. Isso não precisa ser controlado. Basta adicionar a seguinte instrução ao final:

/usr/local/lib 

Execute o seguinte comando para que o caminho configurado apenas entre em vigor:

sudo ldconfig

Configure o bash:

sudo gedit /etc/bash.bashrc

No final do arquivo aberto, adicione o seguinte comando em uma nova linha:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 
export PKG_CONFIG_PATH 

Salve e execute o seguinte comando para efetivar a configuração:

source /etc/bash.bashrc 

Última atualização:

sudo updatedb

6. Teste o opencv
no diretório example_cmake do diretório opencv e execute:

cmake .
make
./opencv_example

Resultado:
2020-03-20 11-32-07 captura de tela
Sucesso!

Publicado 26 artigos originais · elogiado 0 · visitas 1206

Acho que você gosta

Origin blog.csdn.net/weixin_44264994/article/details/104983395
Recomendado
Clasificación