当前位置: 首页 > news >正文

caffe--安装心得

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:

来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多,本身是由C语言开发。这个是很基础的扩展,其余的扩展都是以此为基础。数据结构为ndarray,一般有三种方式来创建:
a.Python对象的转换;
b.通过类似工厂函数numpy内置函数生成:np.arange,np.linspace.....;
c.从硬盘读取,loadtxt.

scipy:
方便、易于使用、专为科学和工程设计的Python工具包.它包括 统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器等等
基本可以代替Matlab,但是使用的话和数据处理的关系不大,数学系,或者工程系相对用的多一些。(略)
近期发现有个statsmodel可以补充scipy.stats,时间序列支持完美
Matplotlib:
Python中最著名的绘图系统,很多其他的绘图例如seaborn(针对pandas绘图而来)也是由其封装而成。创世人John Hunter于2012年离世。这个绘图系统操作起来很复杂,和R的ggplot,lattice绘图相比显得望而却步,这也是为什么我个人不丢弃R的原因,虽然调用
plt.style.use("ggplot")
绘制的图形可以大致按照ggplot的颜色显示,但是还是感觉很鸡肋。但是matplotlib的复杂给其带来了很强的定制性。其具有面向对象的方式及Pyplot的经典高层封装。
需要掌握的是:
散点图,折线图,条形图,直方图,饼状图,箱形图的绘制。
绘图的三大系统:pyplot,pylab(不推荐),面向对象
坐标轴的调整,添加文字注释,区域填充,及特殊图形patches的使用
金融的同学注意的是:可以直接调用Yahoo财经数据绘图(真。。。)

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的结果我们知道:

1. service的格式:service SCRIPT COMMAND [OPTIONS]
    
也就是: service    脚本名      命令(stop/start/restart)     命令选项

2.  /etc/init.d/目录下的脚本至少要提供的两条命令: stop、start

3. service 调用的命令的执行环境是可预测的,一般只有两到三个环境变量(LANG, TERM, PATH).

$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  [指定目录]

参考:http://blog.csdn.net/techbirds_bao/article/details/9179853




相关文章:

  • R-FCN、SSD、YOLO2、faster-rcnn和labelImg实验笔记
  • 【深度学习:CNN】GoogLeNet (1)
  • 【深度学习:CNN】GoogLeNet系列解读(1)
  • 工作半年
  • 【Python-Numpy】NumPy的详细教程
  • 【Python教程】Python快速教程
  • 【Python教程】python之路
  • 【深度学习:CNN】Dropout解析(1)
  • 【深度学习:CNN】Dropout解析(2)
  • 【深度学习:CNN】Batch Normalization解析(1)
  • 【深度学习:CNN】Batch Normalization解析(2)-- caffe中batch_norm层代码详细注解
  • 【深度学习:CNN】Batch Normalization解析(3)
  • 【深度学习:CNN】BP算法
  • 【深度学习:CNN】Deep Learning模型之CNN
  • 【深度学习:caffe】Caffemodel解析
  • Android Volley源码解析
  • ES6语法详解(一)
  • Golang-长连接-状态推送
  • iOS 颜色设置看我就够了
  • JAVA_NIO系列——Channel和Buffer详解
  • Java的Interrupt与线程中断
  • mac修复ab及siege安装
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Python_OOP
  • vue脚手架vue-cli
  • 汉诺塔算法
  • 那些被忽略的 JavaScript 数组方法细节
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 说说动画卡顿的解决方案
  • 我有几个粽子,和一个故事
  • 字符串匹配基础上
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • ionic异常记录
  • Spring Batch JSON 支持
  • ​ubuntu下安装kvm虚拟机
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • !!Dom4j 学习笔记
  • #define与typedef区别
  • #if 1...#endif
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (十)T检验-第一部分
  • (四)模仿学习-完成后台管理页面查询
  • (算法设计与分析)第一章算法概述-习题
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)Sublime Text3配置Lua运行环境
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .Net Winform开发笔记(一)
  • .net 流——流的类型体系简单介绍