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终止批处理操作吗”的问题,复制功能也出现只能在空白处粘贴成功的问题,关掉有道词典、金山词典等翻译工具的划译功能就可以了。

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

相关文章推荐

目标识别】深度学习进行目标识别的资源列表

(出处: thinkface论坛) http://www.thinkface.cn/thread-4434-1-1.html  目标识别】深度学习进行目标识别的资源列表:O网页链接 包括RNN、Mu...

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

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

1X1卷积核到底有什么作用

1*1的卷积核在NIN、Googlenet中被广泛使用,但其到底有什么作用也是一直困扰的问题,这里总结和归纳下在网上查到的自认为很合理的一些答案,包括1)跨通道的特征整合2)特征通道的升维和降维  3...

(SRCNN)Image super-resolution using deep convolutional networks

(SRCNN)Image super-resolution using deep convolutional networks论文总结。 (中国海洋大学—刘利朋 版权所有) abstrac...

物体检测-回归方法(YOLO+SSD)

转载注明出处:http://write.blog.csdn.net/postedit 在上一篇文章中,介绍了以region+proposal来检测的框架,这一系列速度和精度不断提高,但是还是无法达到...

super-resolution技术日记——FSRCNN

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

卷积神经网络概念与原理

一、卷积神经网络的基本概念        受Hubel和Wiesel对猫视觉皮层电生理研究启发,有人提出卷积神经网络(CNN),Yann Lecun 最早将CNN用于手写数字识别并一直保持了其在...

基于图像超分辨率的深度卷积网络的学习

摘要。我们提出了一种用于单图像超分辨率(SR)的深度学习方法。我们的方法直接学习低/高分辨率图像之间的端对端映射。 映射表示为一个深层卷积神经网络(CNN)[15],它将低分辨率图像作为输入,并输出高...
  • lxubin
  • lxubin
  • 2016-11-13 11:29
  • 6018
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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