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

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

super-resolution技术日记——ESPCN

ESPCN一种实时的图像超分辨率方法
  • zuolunqiang
  • zuolunqiang
  • 2016年09月01日 17:19
  • 3518

super-resolution技术日记——FSRCNN

FSRCNN一种快速的图像超分辨率方法 Accelerating the Super-Resolution Convolutional Neural Network...
  • zuolunqiang
  • zuolunqiang
  • 2016年09月02日 10:31
  • 3525

Image Super-Resolution as Sparse Representation of Raw Image Patches

本文为杨建超CVPR08上文章Image Super-Resolution as Sparse Representation of Raw Image Patches的读书笔记,针对如何运动压缩感知的...
  • u010555622
  • u010555622
  • 2013年07月05日 13:44
  • 4992

Image Super-Resolution Using Deep Convolutional Network (with demo)

Paper:  Chao Dong, Chen Change Loy, Kaiming He, Xiaoou Tang, "Image Super-Resolution Using Deep C...
  • yihaizhiyan
  • yihaizhiyan
  • 2015年08月05日 11:01
  • 1594

Image Super-Resolution using CNN

paper:         Chao Dong, Chen Change Loy, Kaiming He, Xiaoou Tang. Learning a Deep Convolutional...
  • yihaizhiyan
  • yihaizhiyan
  • 2015年06月20日 17:22
  • 6213

2018年2月1日训练日记

昨天晚上的cf。。。打的非常惨烈。。。只出了3题。。第三题还被hack了一次。。。好歹最后过了。。。D题没想到dp。。。TLE on test 15。。。赛后看了一眼Q神代码。。。把自己的代码改改一下...
  • LSD20164388
  • LSD20164388
  • 2018年02月01日 17:43
  • 195

SOLOT开发日记(三)

看看上次写开发日记的时间是11月5日,竟然有25天过去了,真是惭愧。这段时间,除了为来北京的诸多烦心事儿奔波,就是在单位做那个大而虚的项目了。还好经过一个星期的努力,一起都已经走上了正规。上下班的车也...
  • bestwolf1983
  • bestwolf1983
  • 2007年11月30日 22:41
  • 729

2018.1.10日记

1、  什么是继承,继承的特点? 子类继承父类的特征和行为,使得子类具有父类的各种属性和方法。或子类从父类继承方法,使得子类具有父类相同的行为。 特点:在继承关系中,父类更通用、子类更具体...
  • Dongser
  • Dongser
  • 2018年01月11日 17:22
  • 33

image super-resolution as sparse representation of raw image patches详解

最近在看杨建超老师的关于基于字典的SR方法,觉得特别有意思,在研究了作者的几篇论文和代码后,总结发文,希望对于刚接稀疏的朋友有帮助: 1.     什么是信号稀疏 信号稀疏的定义: 令字典D的原子...
  • jiangjieqazwsx
  • jiangjieqazwsx
  • 2015年12月28日 14:36
  • 3373

super-resolution

http://www.cvchina.info/tag/super-resolution/
  • RizeJin
  • RizeJin
  • 2010年11月15日 13:29
  • 471
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:super-resolution技术日记——1
举报原因:
原因补充:

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