Darknet版YOLO安装与配置
Darknet配置和安装
1. 安装显卡驱动
首先查看一下自己的电脑需要怎样的驱动,我们可以先到 http://www.nvidia.com/Download/index.aspx 查询下我们需要的是怎样的驱动,这里我的显卡是 GTX 1080 Ti,所以以此为例说明,勾选好对应的配置:
点击search并下载驱动
打开terminal,卸掉系统原有驱动:
sudo apt-get remove --purge nvidia*
在安装新驱动前,禁用nouveau:
在终端中运行 lsmod | grep nouveau
若没有输出则nouveau已禁用;若有输出则说明nouveau正在运行,需要手动禁用:
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
在该文件尾部输入以下内容:
blacklist nouveau
options nouveau modeset=0
保存并关闭文件。
在终端中执行:sudo update-initramfs -u
再次运行 lsmod | grep nouveau 检查nouveau是否禁用,若未禁用则重复上述操作。
关闭图形化界面:sudo service lightdm stop
按Ctrl + Alt + F1 进入字符终端页面,
进入驱动所在的目录,运行:
sudo sh 驱动名
安装完之后重启: sudo reboot
打开终端输入命令: nvidia-smi, nvidia-settings查看驱动安装状态:
2. 安装CUDA 9.0
sudo sh cuda_9.0.176_384.81_linux.run
是否Accept EULA:Accpet
Install driver:Yes/No
Install OpenGL:No
Run nvidia_xconfig: No
Install Cuda Toolkit: Yes
Yes
Yes
配置CUDA的环境变量:
sudo gedit ~/.bashrc
在文件尾部输入:
- export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
运行source ~/.bashrc 使其生效
3. 配置 Cudnn
下载Cudnn并解压:
tar -zxvf cudnn-7.0-linux-x64-v3.0-prod.tgz
解压后会看到一个cuda文件夹,里面包含了include以及lib64两个子目录。我们需要做的就是将这两个字母里面的文件复制到cuda对应的安装目录。这里以cuda的安装目录为/usr/local/cuda/,这个目录下也会包含include/以及lib64/这两个文件夹,将之前目录的文件复制过来即可。
sudo cp cuDNN/cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuDNN/cuda/lib64/* /usr/local/cuda/lib64/
这时候本来已经可以了,但是由于权限的原因原来的两个符号链接文件(libcudnn.so,libcudnn.so.7.0)已经失效了,直接编译便会报错,所以这时手动生成符号链接。
#下面的操作在/usr/local/cuda/lib64/目录下进行
sudo rm -rf libcudnn.so libcudnn.so.7.0#删除两个符号链接;
sudo ln -s libcudnn.so.7.0.64 libcudnn.so.7.0
sudo ln -s libcudnn.so.7.0 libcudnn.so
运行source ~/.bashrc 使其生效
如果出现下面问题:
/sbin/ldconfig.real: /usr/local/cuda/lib64/libcudnn.so.7 is not a symbolic link
则参考如下解决方法,版本需对应安装的cudnn的相应版本(link:https://askubuntu.com/questions/1025928/why-do-i-get-sbin-ldconfig-real-usr-local-cuda-lib64-libcudnn-so-7-is-not-a):
sudo rm libcudnn.so
sudo ln libcudnn.so.7.0.5 libcudnn.so.7
sudo ln libcudnn.so.7 libcudnn.so
sudo ldconfig
Cudnn配置完毕
4.Opencv的安装与配置(Darknet框架需要安装配置opencv,编译darknet环境)
4.1. 安装编译工具、依赖包和可选包:
sudo apt-get update
sudo apt-get install build-essential #编译工具
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev #依赖包
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev #可选包
4.2. 在opencv官网下载源码,解压后新建release文件夹并编译opencv环境:
cd opencv-2.4.13.5
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j8 #可根据自己电脑的性能 开启多线程
sudo make install
4.3. 更新动态链接库
sudo ldconfig
4.4. 测试(命令行中启动python,输入 import cv2 不报错即可)
5.安装Darknet
5.1. 首先将github上的项目克隆到本地:
git clone https://github.com/pjreddie/darknet
5.2. 进入darknet目录构建项目:
cd darknet
make
5.3. 进入darknet文件夹,打开Makefile,将GPU、CUDNN、OPENCV的值改成1,保存并退出。
5.4. 输入make clean 清除之前编译的darkent环境,输入make重新编译,不报错即可。
Darknet版YOLO安装与配置的更多相关文章
- Mysql 5.7.12解压版的安装及配置系统编码
这篇博文是由于上篇EF+MySql博文引发的,上篇博文中在Seed方法中插入中文数据到Mysql数据库中乱码,后来网上找了N种方法也没解决.重装了MySql并在安装过程中配置了系统编码,此篇记录一下. ...
- Linux版OpenVPN安装、配置教程(转)
本文将以目前最新的openvpn-2.3.4.tar.gz(更新于2014-5-2,下载地址)为例来介绍如何在Linux系统中安装.配置及使用OpenVPN. 在这里,我们选用了一台预装CentOS ...
- win7 绿色版MySQL安装与配置
操作步骤: 一.安装MySQL数据库 1.下载MySQL-5.6.17-winx64.zip文件.2.解压到指定目录,本例为D:\mysql-5.6.17-winx64.3.修改配置文件,my-def ...
- windows版influxDB安装与配置
一.下载链接https://portal.influxdata.com/downloads,选windows版 二.解压到安装盘,目录如下 三.修改conf文件,代码如下,直接复制粘贴(1.4.2版本 ...
- 绿色版NVM安装与配置详细说明
绿色版本(不需要安装,直接解压,然后配置环境变量等) 由于最初发布的nvm并不支持window,所以如果希望可以像在*nix上一样控制node的版本,有两种选择: nvm-windows nodi ...
- Mysql 5.7 for windows 免安装版(解压版)安装和配置
网上写的不近详细,这里重新整理下. 准备: 1.windows操作系统 2.mysql 的解压版压缩文件 第一步: 解压mysql的压缩包到你的安装目录,因为是虚拟机,这里我就安装在C盘下:C:\my ...
- Apache server for win解压版的安装与配置
下载地址: Apache 2.4.16 Win64位:VC14:http://www.apachelounge.com/download/VC14/binaries/httpd-2.4.16-win6 ...
- solrcloud(solr集群版)安装与配置
1 Solr集群 1.1 什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的 ...
- Mac版Java安装与配置
一.下载并安装JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 双击下载的 ...
随机推荐
- Hibernate3核心API-Configuration类
- javascript之DOM(Document Object Model) 文档对象模型
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- Unity和Mef的比较
1:Mef和Untiy都支持依赖注入 2:Mef支持插件的机制 3:Mef在写法上更简单灵活 4:Mef在宏观上比Unity更加庞大 5:Mef不支持Aop的切入拦截,Unity支持
- CentOS(Oracle_Linux)系统网卡配置文件参数详解
Each physical and virtual network device on an Oracle Linux system has an associated configuration f ...
- golang实现四种排序(快速,冒泡,插入,选择)
本文系转载 原文地址: http://www.limerence2017.com/2019/06/29/golang07/ 前面已经介绍golang基本的语法和容器了,这一篇文章用golang实现四种 ...
- String与toString
String与toString能将对象转为字符串: 类型 行为描述 Array 将 Array 的每个元素转换为字符串,并将它们依次连接起来,两个元素之间用英文逗号作为分隔符进行拼接. Boolean ...
- Debian10服务器安装
对于使用惯windows系统的人来说,刚开始接触使用linux系统一定是很不习惯,因为使用环境的变化经常会出现一些错误.当然,对于我来说,我也是刚刚才开始接触Linux,对此,有些地方想不到的,可以多 ...
- springboot后端实现条件查询,要配合使用mybatis
package cn.com.dyg.work.sqlgen; import cn.com.dyg.work.common.exception.DefException; import cn.com. ...
- HNU_团队项目_Android和数据库对接出现问题总结
1. 问题说明:Android发来的数据JSON格式不对,Time和Date的位置相反 出现原因:Android的JSON数据组装时顺序不对(可能) 2.问题说明:Android发来的数据无法插入到数 ...
- Leetcode之动态规划(DP)专题-53. 最大子序和(Maximum Subarray)
Leetcode之动态规划(DP)专题-53. 最大子序和(Maximum Subarray) 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. ...