友情提示:380元/半年,儿童学编程,就上码丁实验室。
应用背景:darknet+yolov3训练自己数据,特定场景下小目标检测。使用CPU训练太慢,必须要上GPU才能提高速度,前期在别的计算机安装了nvidia显卡驱动,并安装了cuda和cudnn,本文利用一台多年前的计算机,简要讲述如何进行安装。
操作系统:ubuntu16.04。
0. 查看显卡信息
(1)输入如下命令:
lshw -c video
(2)为了再次确认一遍,还可以使用这个命令查看可使用的驱动:
ubuntu-drivers devices
1. 安装显卡驱动
nvidia驱动有多种安装方式,本文简述4种。
(1)官方下载显卡驱动安装,根据官方说明安装即可。
附官方链接:https://www.nvidia.com/Download/index.aspx?lang=en-us。
(2)ubuntu命令行:
sudo ubuntu-drivers autoinstall
驱动安装完成,重新启动,就能看到GPU识别成功了:
你也可以选择,只安装其中一个驱动,命令如下:
sudo apt install nvidia-XXX (XXX等从ubuntu-drivers devices命令输出中选择)
(3)Software & Updates -> Additional Drivers选择所需版本安装即可(如,proprietary, tested)。注:几经折腾,发现本方法界面操作,最适合新手。
(4)安装cuda时,其实包含了对应版本显卡驱动,所以也可以在安装cuda时一起安装驱动。但是,在安装cuda时安装驱动,可能会报错。因此,使用(3)的方法安装驱动是个不错的选择。
2. 安装cuda
官网下载安装包,各个版本:
https://developer.nvidia.com/cuda-toolkit-archive
例如:CUDA Toolkit 10.0
https://developer.nvidia.com/cuda-10.0-download-archive
按下图方式选择:
点击右下角download即可开始下载。
或者,下载完成以后,通过如下命令进行安装:
# cd /some_path_to_download/, 浏览器下载,一般情况是:
cd ~/Downloads/
sudo sh cuda_10.0.130_410.48_linux.run
稍等一会儿,出现如下提示,输入:accept。
然后,根据提示选择安装内容,按上/下键进行选择,空格键控制选中或取消,移动到install回车即可开始安装
3. 安装cudnn
官网下载安装包,安装即可,下载安装包需要注册NVIDIA账号。
各个版本:cuDNN Archive:https://developer.nvidia.com/rdp/cudnn-archive
上文我安装了cuda10.0,这里选择对应该版本的cudnn,由选择对应ubuntu16.04的deb安装包。
下载 deb 格式的文件,打开终端找到下载的deb 文件所在的位置,然后按步骤安装三个文件:
sudo dpkg -i libcudnn7_7.6.4.38-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.4.38-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.6.4.38-1+cuda10.0_amd64.deb
untime 和 Developer 版本的区别是:
developer library 包含了在Ubuntu系统上开发深度学习时所需的cuDNN头文件,如果你不需要开发编译任何深度学习程序,而只是将其用于运行某些深度学习应用,那么只下载“runtime library”就足够了。
我是把3个文件都下载下来了,均进行安装。
4. 显示当前GPU使用情况
nvidia-smi
或者,自动每秒更新一次GPU的使用情况:
watch -n 1 nvidia-smi
5. darknet+yolov3验证
获取darknet源码:
mkdir src
cd src
git clone https://github.com/pjreddie/darknet
安装opencv:
sudo apt install libopencv-dev
待darknet下载完成,opencv安装完成后:
cd ~/src/darknet
gedit Makefile
按如下所示进行修改:
GPU=1
CUDNN=1
OPENCV=1
然后,编译darknet:
cd ~/src/darknet/
make
输入:
./darknet
输出:
usage: ./darknet <function>
说明编译成功了。
接下来进行目标识别测试。
首先,下载预先训练的权重文件:
wget https://pjreddie.com/media/files/yolov3.weights
最后,检测图像:
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
转自公众号:
Robot404