阿里云服务器装caffe 阿里云服务器装宝塔

深度学习入门 用caffe 还是tensorflow好 知乎

这个我觉得不一定吧,深度学习平台没有好坏之分,只能说每个平台的特点都不一样,选哪个都可以,关键是当你选定平台准备开始做的时候,尽量就不要换了。我目前用的是caffe,其实百度自己平台PaddlePaddle也是可以的--、还有,你如果想去读源码的话,数学基础一定要强!!!

创新互联公司专注于企业营销型网站、网站重做改版、新田网站定制设计、自适应品牌网站建设、H5建站商城网站开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为新田等各大城市提供网站开发制作服务。

caffe for windows安装一定需要cuda吗

建议还是放到linux下运行,实际上很多人把caffe放到服务器上跑,而服务器一般是不带GPU的,所以caffe可以不依赖cuda,如果你不需要CUDA,你可以安装CPU_ONLY版本:编辑文件 .\windows\CommonSettings.props,设置CpuOnlyBuild 为 true,UseCuDNN为false。

当然我还是建议在linux上跑

阿里云深度学习caffe怎么改源码

Caffe是目前深度学习比较优秀好用的一个开源库,采样c++和CUDA实现,具有速度快,模型定义方便等优点。学习了几天过后,发现也有一个不方便的地方,就是在我的程序中调用Caffe做图像分类没有直接的接口。Caffe的数据层可以从数据库

linux caffe支持的cuda capability 最小是多少

由于最近安装了Ubuntu16.04,苦于之前配置Caffe的教程都在版本14.04左右,无奈只能自己摸索,最终配置成功。本文教程的特点是不需要降级gcc的版本,毕竟cuda7.5不支持gcc5以上(默认不支持,实际支持),避免出现一系列乱七八糟的问题,反正之前我是碰到了。

本文是在参考caffe官网教程()结合自己总结经验而来,对此表示感谢。

1.所需文件下载

1.1.Ubuntu16.04在官网下载(),然后在windows下用UltraISO制作,相关文章搜索有一大片,此处不再赘述。

1.2.cuda7.5下载,下载的版本是ubuntu15.04的run文件,个人感觉比较方便。

1.3.cudnn4.0下载(),进去之后如果有注册过nvidia的账户直接点击download,否则需要注册一个账户,注册完之后有一个调查,随便选几个钩就可以,然后下一步是接受条款开始就可以下载了。

1.4.caffe下载()就在官方的github下载就可以了。

2.显卡驱动安装

2.1.第一种方法是直接在ubuntu系统设置,软件和更新里面,选择中国的服务器源刷新之后,点击附加驱动选项,在Nvidia Corporation选择361.42(强迫症必须安装最新的),然后点击应用更改,下载安装完之后重启。

2.2.第二种方法是去官方下载()好驱动的run文件,选择对应显卡型号下载。然后关机把显示器插到集成显卡接口上,或者终端下

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

输入密码后在最后一行编辑上

blacklist nouveau

Ctrl +C保存后终端输入

sudo update-initramfs -u

重启之后在界面按Ctrl+Alt+F2,输入root以及密码,然后

service lightdm stop

sh 你自己的驱动文件的完整路径,默认选项就可以安装了,安装后重启

3.Cuda7.5安装

3.1.以文件名为cuda.run为例,终端下输入

sh cuda.run --override 启动安装程序,此处有大量的条款,一路空格到最后 输入accept,依次输入y回车,然后n(不安装显卡驱动),然后一路y回车,有一个地方需要输入密码,还有两个地方确认安装路径,直接回车即可,完成安装,默认安装路径是/usr/local

将下载下来的cudnn-7.0-linux-x64-v4.0-prod.tgz 解压之后,解压后的cuda文件夹先打开里面的include文件夹,空白右键在终端打开输入:

sudo cp cudnn.h /usr/local/cuda/include/

cd ~/cuda/lib64

sudo cp lib* /usr/local/cuda/lib64/

继续更新文件链接

cd /usr/local/cuda/lib64/

sudo rm -rf libcudnn.so libcudnn.so.4

sudo ln -s libcudnn.so.4.0.7 libcudnn.so.4

sudo ln -s libcudnn.so.4 libcudnn.so

然后设置环境变量

sudo gedit /etc/profile

在末尾加入

PATH=/usr/local/cuda/bin:$PATH

export PATH

保存之后创建链接文件

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

键盘按i进入编辑状态,添加文字

/usr/local/cuda/lib64

然后按esc,输入:wq保存退出。

终端下接着输入

sudo ldconfig 使链接生效

4.生成Cuda Sample测试

首先在此之前先把需要的依赖包都安装好,为接下来make caffe做准备

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler

sudo apt-get install --no-install-recommends libboost-all-dev

sudo apt-get install libatlas-base-dev

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

然后开始make samples ,终端下

cd /home/gomee/NVIDIA_CUDA-7.5_Samples

sudo make all -j4

我是4核电脑所以用了j4,正常情况下肯定会报错“unsupported GNU version! gcc versions later than 4.9 are not supported!”,原因就是这个cuda不支持gcc5.0以上,终端运行

cd /usr/local/cuda-7.5/include

cp host_config.h host_config.h.bak

sudo gedit host_config.h

Ctrl+F寻找有”4.9”的地方,应该是只有一处,在其上方的

#if __GNUC__ 4 || (__GNUC__ == 4 __GNUC_MINOR__ 9)将两个4改成5,保存退出,继续

cd /home/gomee/NVIDIA_CUDA-7.5_Samples

sudo make all -j4

这就应该开始make了,此处大约有5、6分钟。完成之后

cd /home/gomee/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux

./deviceQuery

会出现类似以下的信息

CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 750 Ti"

CUDA Driver Version / Runtime Version 8.0 / 7.5

CUDA Capability Major/Minor version number: 5.0

Total amount of global memory: 2047 MBytes (2146762752 bytes)

( 5) Multiprocessors, (128) CUDA Cores/MP: 640 CUDA Cores

GPU Max Clock rate: 1228 MHz (1.23 GHz)

Memory Clock rate: 3004 Mhz

Memory Bus Width: 128-bit

L2 Cache Size: 2097152 bytes

Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)

Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers

Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers

Total amount of constant memory: 65536 bytes

Total amount of shared memory per block: 49152 bytes

Total number of registers available per block: 65536

Warp size: 32

Maximum number of threads per multiprocessor: 2048

Maximum number of threads per block: 1024

Max dimension size of a thread block (x,y,z): (1024, 1024, 64)

Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)

Maximum memory pitch: 2147483647 bytes

Texture alignment: 512 bytes

Concurrent copy and kernel execution: Yes with 1 copy engine(s)

Run time limit on kernels: Yes

Integrated GPU sharing Host Memory: No

Support host page-locked memory mapping: Yes

Alignment requirement for Surfaces: Yes

Device has ECC support: Disabled

Device supports Unified Addressing (UVA): Yes

Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0

Compute Mode:

Default (multiple host threads can use ::cudaSetDevice() with device simultaneously)

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GTX 750 Ti

Result = PASS

这就说明成功了。

5.Python配置

将之前github下载的caffe压缩文件解压缩到任一目录,然后安装python

python的版本安装有两种方式:

第一是直接安装anaconda,去官网下载 ,选择linux 64bit 2.7版本下载安装,anaconda安装方便但是需要在最后的make配置文件中更改python包含路径。

第二种方法就是使用原生的python2.7版本,终端下

sudo apt-get install python-pip 安装pip

这里我们用pip安装一些python需要的依赖包,不过为了避免各种问题,也可以通过apt-get安装,反正我这两种方式都安装了一遍(-.-)

sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

以caffe默认解压到/home/user(你的用户名)/ ,文件夹名名称caffe为例

cd /home/user/caffe/python

sudo su

for req in $(cat requirements.txt); do pip install $req; done

这里用pip安装可能速度很慢,很可能下载好几个小时,推荐用清华大学的pip源临时安装,所以命令改为如下:

for req in $(cat requirements.txt); do pip install -i $req; done

这里如果第一次有很多红字错误,建议再运行几遍指导安装成功,对于黄字提示无需理会,可能是pip版本需要更新。

6.Caffe编译过程

接下来要进入最后的步骤了,终端中

cd /home/user/caffe

cp Makefile.config.example Makefile.config

gedit Makefile.config

将USE_CUDNN := 1 取消注释,在

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include后面打上一个空格 然后添加/usr/include/hdf5/serial 如果没有这一句可能会报一个找不到hdf5.h的错误

PYTHON_INCLUDE := /usr/include/python2.7 \

/usr/lib/python2.7/dist-packages/numpy/core/include先不做更改。

如果是需要生成matlab的caffe wrapper 请取消注释MATLAB_DIR然后替换为自己的目录

说一下提前会出现的问题:

第一,make过程中出现比如 string.h ‘memcy’ was not declared in this scope的错误是由于gcc编译器版本太新,解决方法是打开makefile搜索并替换

NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

保存退出

第二,在make过程中还会报一个ld找不到libhdf5 和libhdf5_hl的链接问题,这个原因可能也是因为hdf5的问题,首先看/usr/lib/x86_64-linux-gnu 目录下有没有libhdf5.so和libhdf5_hl.so,如果有的话,查看属性是否有正确的链接(正常情况下应该是没有这两个文件),然后右键在终端中打开

sudo ln libhdf5_serial.so.10.1.0 libhdf5.so

sudo ln libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so

注意,10.1.0和10.0.2可能不同电脑安装版本不同,注意看当前目录下存在的文件然后

sudo ldconfig 生效

接下来就是直接编译的过程

cd /home/user/caffe

make all -j4

make test -j4

make runtest

make pycaffe

make matcaffe

如果编译没报错正常的话,基本就没问题了。测试python打开

cd /home/user/caffe/python

python

import caffe

如果不报错就说明编译成功

测试matlab打开./caffe/matlab/+caffe/private,看有没有生成一个caffe的mex文件,可以运行+test文件夹里面的程序测试。

小问题:

在使用python接口的时候,可能会报一个什么错误(我给忘记了–!),对了是’Mean shape incompatible with input shape.’的错误,处理方法是python/caffe文件夹,编辑io.py文件,将

if ms != self.inputs[in_][1:]:

raise ValueError('Mean shape incompatible with input shape.')

替换为

if ms != self.inputs[in_][1:]:

print(self.inputs[in_])

in_shape = self.inputs[in_][1:]

m_min, m_max = mean.min(), mean.max()

normal_mean = (mean - m_min) / (m_max - m_min)

mean = resize_image(normal_mean.transpose((1,2,0)),in_shape[1:]).transpose((2,0,1)) * (m_max - m_min) + m_min

然后make clean再重新make

7.总结

至此,Ubuntu16.04下编译Caffe的教程就结束了,作者历时三天,装了好几遍系统,刚开始用Ubuntu14.04,结果系统出现问题,强迫症实在受不了,就尝试着装16.04继续折腾,最终折腾成功。以后可能会更新python3下的编译教程,需要自己编译boost版本,总之也很麻烦。


当前文章:阿里云服务器装caffe 阿里云服务器装宝塔
分享链接:http://csdahua.cn/article/ddjdhdh.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流