darknet高性能服务器配置

darknet是一个人工智能框架,由C语言实现。正是由于其完全由C语言实现,性能才会更快,配置也更加容易。

darknet有yolo的实现,所以我们可以直接拿yolo的实现来调用。很方便。

darknet也有其他的实现,这里我不一一介绍了。

darknet可以支持实时的识别,并且会告诉你当前每秒的帧数。

darknet的网址:https://pjreddie.com/darknet/tiny-darknet/

最近几天github登不上去,原因是dns解析错误。这个问题想必大家都已经遇到过。但是程序员不能一天没有github,那么怎么解决呢?

https://blog.csdn.net/where_is_horse/article/details/80143083

好了,下面我们来开始darknet的配置。

首先下载darknet

git clone https://github.com/pjreddie/darknet.git

接着:

cd darknet
make

这样就CPU版本的就编译完成了

测试编译是否正确,我们就需要下载网络的权重

下载权重:

 wget https://pjreddie.com/media/files/tiny.weights

运行

 ./darknet classify cfg/tiny.cfg tiny.weights data/dog.jpg

如果显示:

data/dog.jpg: Predicted in 0.160994 seconds.
malamute: 0.167168
Eskimo dog: 0.065828
dogsled: 0.063020
standard schnauzer: 0.051153
Siberian husky: 0.037506

就表示成功了

接着配置gpu

将Makefile中gpu后面的0变成1

下载gcc-4.9.4

wget http://mirror.koddos.net/gcc/releases/gcc-4.9.4/gcc-4.9.4.tar.gz

解压

tar -xvf gcc-4.9.4.tar.gz

进入目录

cd gcc-4.9.4

下载依赖

./contrib/download_prerequisites

找到一个文件夹安装gcc

cd ..
mkdir gcc4.9.4
cd gcc-4.9.4

配置

./configure --prefix=/path/to/gcc4.9.4 -enable-threads=posix -disable-checking -disable-multilib -enable-languages=c,c++

编译

make -j24

安装到自定义目录

make install

配置环境变量

vim ~/.bahsrc

添加两句

export $PATH=/path/to/gcc4.9.4/bin:$PATH
export LD_LIBRARY_PATH=/path/to/gcc4.9.4/lib:/path/to/gcc4.9.4/lib64:$LD_LIBRARY_PATH

使环境变量生效

source ~/.bashrc

查看是否配置成功

gcc --version

在gcc配置成功之后,就需要配置cuda

首先确定服务器上时候有cuda

locate cuda

找到相应的cuda路径之后

将Makefile中的

COMMON+= -DGPU -I/usr/local/cuda/include/

换成

COMMON+= -DGPU -I/path/to/cuda/include/

LDFLAGS+= -L/usr/local/cuda/lib64 -lcuda -lcudart -lcublas -lcurand

变成

LDFLAGS+= -L/path/to/cuda/lib64 -lcuda -lcudart -lcublas -lcurand

添加环境变量

vim ~/.bashrc

添加两句

export $PATH=/path/to/cuda/bin:$PATH
export LD_LIBRARY_PATH=/path/to/cuda/lib:/path/to/cuda/lib64:$LD_LIBRARY_PATH

使环境变量生效

source ~/.bashrc

保存后将以前编译的清除

make clean

再进行编译

make -j24

编译成功后再进行测试

cuda配置成功后,我们开始配置cudnn

修改Makefile将cudnn后面的0变成1

打开nvidia开发者网站

首先需要注册一个nvidia的账号后才可以下载

选择和自己的cuda相匹配的cudnn

下载完毕后

tar -xvf cudnn.tar.gz

修改Makefile 

COMMON+= -DCUDNN

改为

COMMON+= -DCUDNN -I/path/to/cudnn/include/

LDFLAGS+= -lcudnn

变成

LDFLAGS+= -lcudnn -L/path/to/cudnn/lib64

将编译好的文件删除

make clean

重新编译

make -j6

测试是否编译成功



你可能感兴趣的:(darknet高性能服务器配置)