1.安装依赖项部分
$sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
lib有两种:
一种是静态库,比如C-Runtime库,这种LIB中有函数的实现代码,一般用在静态连编上,它是将LIB中的代码加入目标模块(EXE或者DLL)文件中,所以链接好了之后,LIB文件就没有用了;
一种LIB是和DLL配合使用的,里面没有代码,代码在DLL中,这种LIB是用在静态调用DLL上的,所以起的作用也是链接作用,链接完成了,LIB也没用了。至于动态调用DLL的话,根本用不上LIB文件。 目标模块(EXE或者DLL)文件生成之后,就用不着LIB文件了。
protobuf: 序列化工具
leveldb: 创建数据集用的
libopencv: 图像处理用的
hdf5:保存caffemodel用的
snappy: 数据压缩,和leveldb一起用的
protobuf-compiler: 和libprotobuf-dev一起用的
总而言之:以上就是caffe整个框架用到的第三库
$sudo apt-get install python-numpy python-scipy python-matplotlib
三个模块:numpy,scipy,matplotlib
参考:https://www.zhihu.com/question/37180159
numpy:
近期发现有个statsmodel可以补充scipy.stats,时间序列支持完美
plt.style.use("ggplot")
需要掌握的是:
2.禁止nouveau驱动
ALT+CTRL+F1打开tyy控制台
$sudo service lightdm stop
lightdm stop:关闭图像选项
service: 用于管理Linux系统中的各种服务的命令。其实service是位于系统中/usr/sbin/service的一个可执行的脚本,service的本质是一个可执行的脚本,它的功能“不过是/etc/init.d/ 目录下各种可执行脚本的一个为了方便调用而增加的一个包装而已。”
参考:http://blog.chinaunix.net/uid-25909722-id-3023051.html
service的结果我们知道:
$sudo update-initramfs –u #更新内核
$lspci | grep nouveau
lspci: 一个用来 显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具。
PCI是Peripheral Component Interconnect(外围设备互联)的简称,是普遍使用在桌面及更大型的计算机上的外设总线。PCI架构被设计为ISA标准的替代品,它有三个主要目标:获得在计算机和外设之间传输数据时更好的性能;尽可能的平台无关;简化往系统中添加和 删除外设的工作。
$sudo ldconfig
ldconfig是一个动态链接库管理命令
为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfig
ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可
共享的动态 链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为
/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.
cuDNN安装
$sudo ln -sf libcudnn.so.5.1.5 libcudnn.so.5
$sudo ln -sf libcudnn.so.5 libcudnn.so
ln -sf
-s = soft 软链接
-f = force 强制创建(使用前请备份之前存在文件)
拉取caffe源码
git clone xxx.git [指定目录]