2017-12-06 01:16:29 cicibabe 阅读数 398
  • YOLOv3目标检测:原理与源码解析

    Linux创始人Linus Torvalds有一句名言:Talk is cheap, Show me the code.(冗谈不够,放码过来!)。 代码阅读是从入门到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步优化和创新。   YOLOv3是一种基于深度学习的端到端实时目标检测方法,以速度快见长。 YOLOv3的实现Darknet是使用C 语言开发的轻型开源深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。   本课程将解析YOLOv3 的实现原理和源码,具体内容包括: *      YOLO目标检测原理  *      神经网络及Darknet的C语言实现,尤其是反向传播的梯度求解和误差计算  *      代码阅读工具及方法  *      深度学习计算的利器:BLAS和GEMM  *      GPU的CUDA编程方法及在Darknet的应用  *      YOLOv3的程序流程及各层的源码解析   本课程将提供注释后的Darknet的源码程序文件。   除本课程《YOLOv3 目标检测:原理与源码解析》外,本人推出了有关YOLOv3目标检测的系列课程,包括: *   《YOLOv3目标检测实战:训练自己的数据集》 *   《YOLOv3目标检测实战:交通标志识别》 *   《YOLOv3目标检测:原理与源码解析》 *   《YOLOv3目标检测:网络模型改进方法》   建议先学习课程《YOLOv3目标检测实战:训练自己的数据集》或课程《YOLOv3 目标检测实战:交通标志识别》,对YOLOv3的使用方法了解以后再学习本课程。

    958 人正在学习 去看看 白勇

Linux nvidia CUDA安装手册

Taylor Guo, 2017年12月6日

命令行查看显卡硬件配置

$ lspci | grep -i nvidia

这里写图片描述

这里写图片描述

这里写图片描述


命令行查看系统软件配置

$ uname -m && cat /etc/*release

这里写图片描述

  • && : 命令执行控制—方式:command1 && command2, 如果command1执行成功,则执行command2。
  • cat : concatenate, 显示或者把多个文本文件连接起来
  • /etc/*release : /etc 目录包含各种系统配置文件,存放配置文件的地方,配置文件的目录, Editable Text Configuration, 初期etcetra directory(ETCetera), 后来”Editable Text Configuration” 或者 “Extended Tool Chest”。 /etc/*release是系统安装时默认的发行版本信息,通常安装好系统后文件内容不会发生变化。

这里写图片描述


查看系统中CUDA Toolkit所需的gcc编译器的版本

$ gcc –version

这里写图片描述

2018-08-20 23:12:39 wf19930209 阅读数 50597
  • YOLOv3目标检测:原理与源码解析

    Linux创始人Linus Torvalds有一句名言:Talk is cheap, Show me the code.(冗谈不够,放码过来!)。 代码阅读是从入门到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步优化和创新。   YOLOv3是一种基于深度学习的端到端实时目标检测方法,以速度快见长。 YOLOv3的实现Darknet是使用C 语言开发的轻型开源深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。   本课程将解析YOLOv3 的实现原理和源码,具体内容包括: *      YOLO目标检测原理  *      神经网络及Darknet的C语言实现,尤其是反向传播的梯度求解和误差计算  *      代码阅读工具及方法  *      深度学习计算的利器:BLAS和GEMM  *      GPU的CUDA编程方法及在Darknet的应用  *      YOLOv3的程序流程及各层的源码解析   本课程将提供注释后的Darknet的源码程序文件。   除本课程《YOLOv3 目标检测:原理与源码解析》外,本人推出了有关YOLOv3目标检测的系列课程,包括: *   《YOLOv3目标检测实战:训练自己的数据集》 *   《YOLOv3目标检测实战:交通标志识别》 *   《YOLOv3目标检测:原理与源码解析》 *   《YOLOv3目标检测:网络模型改进方法》   建议先学习课程《YOLOv3目标检测实战:训练自己的数据集》或课程《YOLOv3 目标检测实战:交通标志识别》,对YOLOv3的使用方法了解以后再学习本课程。

    958 人正在学习 去看看 白勇

Linux安装CUDA的正确姿势

CUDA(Compute Unified Device Architecture,统一计算架构)是由NVIDIA所推出的一种集成技术,是该公司对于GPGPU的正式名称。

透过这个技术,用户可利用NVIDIAGeForce 8以后的GPU和较新的Quadro GPU进行计算。

查看显卡是否支持CUDA

输入下面命令查看电脑的NVIDIA型号:

vincent@dell-Inspiron-7559 Dir:~
·····$lspci | grep -i nvidia
02:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)

我的显卡型号为: GeForce GTX 960M

然后到官网查看是否支持CUDA网址地址

下载CUDA文件

下载最新的CUDA软件安装包, CUDA Toolkit 9.2 Download

这里写图片描述

我们选择runfile文件进行安装。然后放到一个目录下,要记住,后面我们会要执行它。

确认安装环境

1. NVIDIA显卡已经正常安装

2. nouveau已经禁用

可以使用下面命令查看,如果没有输出代表成功:

lsmod | grep nouveau

如果正确安装了NVIDIA的驱动就会禁止掉了。

3. 验证系统是否安装了gcc

终端输入下面命令查看是否安装:

vincent@dell-Inspiron-7559 Dir:~
·····$gcc --version
gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

安装CUDA

1. 进入tty界面

alt + ctrl + F1进入tty命令行界面,登录用户和密码

2. 关闭图形界面

tty中输入下面命令关闭图形界面:

sudo service lightdm stop

或者

sudo telinit 3

3. 运行cuda文件

首先给cuda可执行权限:

sudo chmod a+x cuda_9.2_linux.run

运行cuda文件:

sudo ./cuda_9.2_linux.run --no-opengl-libs

cuda主要有以下参数:

  • --no-opengl-libs:表示只安装驱动文件,不安装OpenGL文件。必需参数,原因同上。注意:不是-no-opengl-files
  • --uninstall (deprecated):用于卸载CUDA Driver(已废弃)。
  • --toolkit:表示只安装CUDA Toolkit,不安装DriverSamples
  • --help:查看更多高级选项。

4. 安装过程的选项选择

(1). 会先有个阅读声明,一直按D即可,然后accept
(2). 选项install nvidia accelerated Graphics Driver,输入n,因为我们已经安装了nvidia的驱动。
(3). 选项install the OpenGL libraries,如果双显卡(集显+独显)选择n,如果只有独显可以选择y,如果双显卡选择y的话,会出现黑屏或者循环登录的问题,如果加了上面的参数就不会出现这个选项了。
(4). 后面的可以都选择yes,最后一个选项我们可以选择n,也就是不复制Samples,因为安装目录下有samples

安装过程结束后会有以下信息:

Driver :Installed
Toolkit :Installed in /usr/local/cuda-9.2
Samples :Installed in /home/vincent

代表安装完成,但是不代表成功。这时需要重启。

5. 验证*cuda是否成功安装*

重启进入界面,打开终端输入:

export PATH="/usr/local/cuda-9.2/bin:$PATH" 
export LD_LIBRARY_PATH="/usr/local/cuda-9.2/lib64:$LD_LIBRARY_PATH" 

这两条命令是将cudabin文件和lib导出到系统环境中。
如果安装的版本不是一样的,更换路径中的cuda-9.2

(1). 终端输入:

nvcc -V

如果有CUDA的版本信息代表正常。

(2). 编译samples例子

#编译并测试设备 deviceQuery:
cd /usr/local/cuda-9.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

#编译并测试带宽 bandwidthTest:
cd ../bandwidthTest
sudo make
./bandwidthTest

如果这两个测试的最后结果都是Result = PASS,说明CUDA安装成功啦。

备注:
如果安装失败,有可能是缺少依赖,终端执行:

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

(6). 将cudabinlib写入系统环境

打开~.bashrc文件在末尾追加两句:

export CUDA_HOME=/usr/local/cuda-9.2
export LD_LIBRARY_PATH=/usr/local/cuda-9.2/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-9.2/bin:$PATH

然后退出重新打开终端即可。

CUDA卸载

CUDA默认安装在 /usr/local/cuda-9.2下,用下面的命令卸载::

sudo /usr/local/cuda-9.2/bin/uninstall_cuda-9.2.pl

NVIDIA驱动卸载:

sudo /usr/bin/nvidia-uninstall

卸载过程一路都是yes

安装后不能进入系统

1. 如果出现循环登录

alt + ctrl + F1进入tty,然后切换集显:

sudo  prime-select intel

卸载cuda文件:

sudo /usr/local/cuda-9.2/bin/uninstall_cuda_9.2.pl
  1. 如果重启之后还是不能进入,那就把nvidia驱动卸载:
sudo /usr/bin/nvidia-uninstall
  1. 然后重启,如果重启黑屏,在grub界面进入linux的选择上按e键,找到quiet splash,在后面加nouveau.modeset=0,然后按F10启动。
    然后安装nvidia驱动,再安装CUDA软件。

END

2018-08-06 18:41:30 heiheiya 阅读数 10810
  • YOLOv3目标检测:原理与源码解析

    Linux创始人Linus Torvalds有一句名言:Talk is cheap, Show me the code.(冗谈不够,放码过来!)。 代码阅读是从入门到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步优化和创新。   YOLOv3是一种基于深度学习的端到端实时目标检测方法,以速度快见长。 YOLOv3的实现Darknet是使用C 语言开发的轻型开源深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。   本课程将解析YOLOv3 的实现原理和源码,具体内容包括: *      YOLO目标检测原理  *      神经网络及Darknet的C语言实现,尤其是反向传播的梯度求解和误差计算  *      代码阅读工具及方法  *      深度学习计算的利器:BLAS和GEMM  *      GPU的CUDA编程方法及在Darknet的应用  *      YOLOv3的程序流程及各层的源码解析   本课程将提供注释后的Darknet的源码程序文件。   除本课程《YOLOv3 目标检测:原理与源码解析》外,本人推出了有关YOLOv3目标检测的系列课程,包括: *   《YOLOv3目标检测实战:训练自己的数据集》 *   《YOLOv3目标检测实战:交通标志识别》 *   《YOLOv3目标检测:原理与源码解析》 *   《YOLOv3目标检测:网络模型改进方法》   建议先学习课程《YOLOv3目标检测实战:训练自己的数据集》或课程《YOLOv3 目标检测实战:交通标志识别》,对YOLOv3的使用方法了解以后再学习本课程。

    958 人正在学习 去看看 白勇

因tensorflow版本的原因,现需要卸载原来的cuda8.0版本,重新安装cuda9.0版本。

一、卸载cuda8.0

使用cuda自带的卸载工具进行卸载。

cd /usr/local/cuda/bin
sudo ./uninstall_cuda_9.0.pl

安装指示卸载即可。

二、安装cuda9.0

2.1 安装驱动

首先安装驱动。

最简单的办法是点击Applications-->System-->Software Updater。

选择Additional Drivers选项卡。

选择要应用的驱动版本,点击Apply Changes,等待驱动安装好,安装好之后需要重启电脑。

另一种runfile安装方式请参考链接:Ubuntu16.04安装NVIDIA驱动390.87

2.2 安装cuda9.0

cuda9.0下载地址

 

执行

sudo sh cuda_9.0.176_384.81_linux.run

一路按照指示安装即可。只是有一个地方需要注意:在询问是否安装gpu drivers时要选择no。

安装路径在/usr/local/cuda-9.0,一般会链接到/usr/local/cuda。安装成功之后,还要配置环境变量。

执行

vim ~/.bashrc

 在末尾添加如下内容:

export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"

执行 

sudo vim /etc/profile

在末尾添加如下内容。

export PATH=/usr/local/cuda/bin:$PATH
export CUDA_INSTALL_PATH=/usr/local/cuda
export LD_LIBRARY_PATH=$CUDA_INSTALL_PATH/lib64:$LD_LIBRARY_PATH

执行

source /etc/profile

使设置生效。

创建链接文件:

sudo vim /etc/ld.so.conf.d/cuda.conf

 在其中添加如下语句:

/usr/local/cuda/lib64

然后执行 

sudo ldconfig

 

2.3 安装cudnn

下载cudnn需要登录nvidia账户,请自行下载。

下载之后解压,目录结构如下:

将头文件和库文件分别拷贝到cuda对应的目录下:

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*

最后更新一下链接:

sudo ln -sf libcudnn.so.7.0.5 libcudnn.so.7  
sudo ln -sf libcudnn.so.7 libcudnn.so  
sudo ldconfig  

查看一下nvcc的信息验证安装是否成功。

nvcc -V

2008-10-17 04:33:00 OpenHero 阅读数 4983
  • YOLOv3目标检测:原理与源码解析

    Linux创始人Linus Torvalds有一句名言:Talk is cheap, Show me the code.(冗谈不够,放码过来!)。 代码阅读是从入门到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步优化和创新。   YOLOv3是一种基于深度学习的端到端实时目标检测方法,以速度快见长。 YOLOv3的实现Darknet是使用C 语言开发的轻型开源深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。   本课程将解析YOLOv3 的实现原理和源码,具体内容包括: *      YOLO目标检测原理  *      神经网络及Darknet的C语言实现,尤其是反向传播的梯度求解和误差计算  *      代码阅读工具及方法  *      深度学习计算的利器:BLAS和GEMM  *      GPU的CUDA编程方法及在Darknet的应用  *      YOLOv3的程序流程及各层的源码解析   本课程将提供注释后的Darknet的源码程序文件。   除本课程《YOLOv3 目标检测:原理与源码解析》外,本人推出了有关YOLOv3目标检测的系列课程,包括: *   《YOLOv3目标检测实战:训练自己的数据集》 *   《YOLOv3目标检测实战:交通标志识别》 *   《YOLOv3目标检测:原理与源码解析》 *   《YOLOv3目标检测:网络模型改进方法》   建议先学习课程《YOLOv3目标检测实战:训练自己的数据集》或课程《YOLOv3 目标检测实战:交通标志识别》,对YOLOv3的使用方法了解以后再学习本课程。

    958 人正在学习 去看看 白勇
一、CUDA on linux Redhat AS 5 后来升级到为centos(根据redhat AS开源程序做的学生平台的server)

1.安装redhat AS的时候最好别选择xen支持,因为NV的显卡驱动可能不支持Xen
2.安装显卡驱动的时候,需要关闭x server,这里可以ctrl+alt+f1进入到字符界面,然后输入init 2 关闭x server(gdm)
这个时候就可以安装驱动了
3.安装toolkit,安装sdk
进入sdk的安装目录,编译sdk,搞定:)
由于系统比较老,还没打AS 5 package1 所以安装的时候遇到了一两个状况:
1.-lglut的问题,这个可以参照CUDA linux install readme 解决;
2.还有一个问题,忘记了……好像是运行的时候找不到cuda的动态库,这个地方忘记是怎么弄好的了~~想起来再写,应该就是一些连接过来,连接过去的东东

然后修改grub的启动项里面的顺序,让other 第一个启动,我这里的other就是windows:)grub 在/etc下面grub.conf,由一个启动顺序,默认的是0,然后可以自己定义默认是第几个,这个自己可以做试验:)不多讲。

二、Eclipse的安装,这个地方让我费了点神~~有点郁闷,系统没升级,然后系统也是采用的默认的gcj的java运行库,所以这个地方需要安装sun的1.50以上的jdk,安装了还不没完,需要添加用alternatives --install sun的java,然后在用alternatives 的config选项配置java,这个可以man alternatives就可以知道怎用了,很简单,这里就可以替换掉自带的java库~~java的标准开源,谁都可以做~~so gcj 就是gnu 写的一个java的平台~~~和sun的java平台差不多,不过现在评价没sun 的高~~

然后是一个mozilla的一个xunl……的库太老了~~eclipse已启动就停在了那个位置~~~还得我去/root/workspace/.med.../.log文件找错误信息~~~
然后升级了系统,同时就升级了这个xunl什么的动态库,然后eclipse就可以正常启动了

三、AS系统升级,如果要使用redhat提供的升级服务,就得付钱~~穷人,穷不是用盗版的理由,so,那就用开源的呗,然后就知道AS 升级到CentOS的配置,这里就是配置yum的配置文件,然后升级就可以了,这个可以上网搜索,yum 升级 CentOs有很多配置,copy过来就可以了~~

四、intel的编译器和tbb都在linux下可以免费使用的,学习研究使用。TBB是一个不错的开源的并行库,有课余时间闲着没事的时候,可以看看TBB的实现源代码,不错的东东~~

五、Mosix,系里面装了一套新的mosix cluster系统(mosix集群系统)不过白天不能用,那个实验室得给别人上课用,只有晚上可以调试,现在就是晚上测试它的性能。Mosix算是集中控制式的集群系统,后面的节点都可以算是透明的,不过也可以分小集群。在业界也有很高的地位。不过个人喜好而言,更喜欢像rocks cluster这样的集群架构~~或者完全分布式的集群架构~~

晚上简单的测试了mosix的自动分发的功能,然后想装一个图形监控的环境,但是系里面的机器,是不能乱装东东的~~郁闷

六、配置Xmanager+Suse,后来看了一下mosix总结点服务器的系统,是suse,然后就心动,利用xmanger来图形化的现实mosix的运行状况。suse默认安装的是图形界面的,但是没开放远程图形界面控制的一些配置,比较郁闷。然后利用xstart ssh连接server,然后选择xterm 第一个默认项,进去以后,界面没启动,运行startx,肯定不行,server端的屏幕已经现实了~~启动了x 服务,然后用startkde命令~~呵呵,勉强可以使用了~~

一个下午,加一个晚上~~~一会准备回去睡觉了~~~

很久没写技术了~~

过几天把office里面的机器装上rocks cluster 然后配上CUDA的sdk 来做一个小型的廉价GPU 集群测试,嘿嘿:)

cuda

阅读数 344

linux centos7 cuda安装

博文 来自: claroja
没有更多推荐了,返回首页