【第22期】观点:IT 行业加班,到底有没有价值?

super-resolution技术日记——1

原创 2016年08月30日 17:17:34

super-resolution技术日记

2016.8.29

Caffe Python接口的使用

1. 环境配置

Python可供选择的发行版比较多,我选择是python(x,y),原因也比较直接,python(x,y)是为科学计算任务而设计的,里面包含了各种工具如SR中可以用到的:hdf5 ,opencv等库的python包。
Caffe是一个跨平台的深度学习库,它可以在windows,mac,linux操作系统下运行,本人使用的是微软的windows版caffe(https://github.com/Microsoft/caffe),安装按照readme中的setup来就可以,使用vs2013编译,由于使用了依赖库的管理器,安装非常方便不需要自己去下载安装caffe的依赖库。注:编译的过程中可能报错,修改libcaffe工程属性重新编译就可以了。安装好后将release文件夹路径添加到PATH环境变量方便以后使用,同时添加release\pycaffe\到pythonpath环境变量。

2. 程序基本流程

Caffe是用c++编写的一个深度学习库,除了使用c++调用caffe,我们还可以通过caffe提供的matlab,python的接口来使用caffe。这里的使用通常是指应用训练好的网络参数来完成分类、识别、计算等任务,而不是通过调用来训练网络。并不是说不能调用caffe这个库来做训练,而是在我看来caffe官方提供的tools工具中的caffe同名可执行程序的训练功能已经很完备我们没有必要再另外再重新造车来完成训练功能。而如何使用tools来进行训练将在以后的日志中说明。事实上无论使用哪种语言的接口来调用caffe来完成应用任务,其流程都是极其相似的。基本的过程如下:

Created with Raphaël 2.1.0读入数据设置运行模式GPU or CPU初始化网络(model,weights,'Test')根据输入reshape完整的一次前向传播读取输出层数据

具体过程可以参考:
http://christopher5106.github.io/deep/learning/2015/09/04/Deep-learning-tutorial-on-Caffe-Technology.html

3. 网络可视化

Caffe的python接口中带了一个绘制网络结构的python程序draw_net.py,我们可以通过调用它来可视化我们的网络结构。在调用改程序之前需要确认python构建中已经安装了pydot,可以在python终端通过命令pip install pydot来安装,安装后直接运行的话仍然会出现找不到dot.exe的错误提示,这是因为pydot底层依赖项GraphViz还未安装,需要自己单独下载GraphViz安装,并将/bin添加到PATH环境变量中,重启python运行终端此时才能通过命令:
python pycaffe/draw_net.py models/bvlc_reference_caffenet/deploy.prototxt net.png
open caffenet.png
(注:当前路径应该在models的上一级目录)来完成caffe网络的绘制,效果如下图所示:
fsrcnn

4. 踩过的坑

a. matlab矩阵的存储方式是列序优先,numpy opencv中则是行序优先,因而要注意训练样本数据的存储方式于应用输入数据的存储方式应该一致。
b. 运行批处理文件来开始任务时一直“^c终止批处理操作吗”的问题,复制功能也出现只能在空白处粘贴成功的问题,关掉有道词典、金山词典等翻译工具的划译功能就可以了。

版权声明:本文为博主原创文章,转载请私信。 举报

相关文章推荐

激活函数总结.md

激活函数激活函数在神经网络中的作用作为神经网络的基本单元——神经元的结构如下图所示,在一个神经元中f函数通常被称为激活函数(激励函数,传递函数)。它的引入参考的是生物神经元,生物神经元一般具有激活态与...

Metal Performance Shader使用小结

Metal Performance Shader介绍metal performance shader是apple推出的一套通过metal来在ios上实现深度学习的工具,它主要封装了MPSImage来存...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

super-resolution技术日记——FSRCNN

FSRCNN一种快速的图像超分辨率方法 Accelerating the Super-Resolution Convolutional Neural Network

super-resolution技术日记——ESPCN

ESPCN一种实时的图像超分辨率方法

caffe-fast-rcnn(Caffe、FSRCNN、FastRCNN)

一、文件架构  二、FSRCNN开发环境搭建: faster-rcnn: matlab版本ShaoqingRen/faster_rcnn: Faster R-CN...

FSRCNN网络资源学习(Fast Region-based Convolutional Network)

FSRCNN(Fast Region-based Convolutional Network)参考: https://arxiv.org/pdf/1608.00367v1.pdf Accelera...

caffe-fast-rcnn(Caffe、FSRCNN、FastRCNN)

一、文件架构 二、FSRCNN开发环境搭建: faster-rcnn: matlab版本ShaoqingRen/faster_rcnn: Faster R-CNN rbg提供的python版本rbg...

Fast RCNN、Faster RCNN理论学习笔记

Fast RCNN、Faster RCNN理论学习笔记:非极大值抑制(NMS): http://blog.csdn.net/u014365862/article/details/53376516 ...

【论文笔记】Compression Artifacts Reduction by a Deep Convolutional Network(以及SRCNN)

Compression Artifacts Reduction by a Deep Convolutional Network以及SRCNN 引入 SRCNN回顾 ARCNN总结 SRCNN和ARCN...

Yoshua Bengio新书《Deep Learning》深度学习(中文)学习笔记(improving)

深度学习(中文)学习笔记:
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)