SRCNN-tensorflow学习笔记

首先声明我是一个小白,目前的研究方向是超分辨率,从现在开始写自己这一方面的博客。
第一篇文章介绍超分辨率与神经网络的第一次接触,来自港中文的《Learning a Deep Convolutional Network for Image Super-Resolution, ECCV2014》,也叫做SRCNN。
本文使用的代码为:https://github.com/tegg89/SRCNN-Tensorflow
关于SRCNN的介绍有很多资料,本文只解释上面github的代码。
首先先看MAIN函数啦。

if __name__ == '__main__':
  tf.app.run()

这两句在mian.py文件的最下面,表示启动mian函数。

flags = tf.app.flags
flags.DEFINE_integer("epoch", 15000, "Number of epoch [15000]")
...
flags.DEFINE_boolean("is_train", True, "True for training, False for testing [True]")

这里tf.app.flags官方解释是命令行参数的解析工作。个人理解是当你直接一个脚本时,没办法控制脚本里面的参数,但是这个函数就把脚本开了一个口子,可以在命令行运行的时候定义里面的参数(作为一个小白,只能按照自己的理解说一些大白话,如果有不正确的欢迎指出),下面是我转载的一个例子。

import tensorflow as tf

#第一个是参数名称,第二个参数是默认值,第三个是参数描述
tf.app.flags.DEFINE_string('str_name', 'def_v_1',"descrip1")
tf.app.flags.DEFINE_integer('int_name', 10,"descript2")
tf.app.flags.DEFINE_boolean('bool_name', False, "descript3")

FLAGS = tf.app.flags.FLAGS

#必须带参数,否则:'TypeError: main() takes no arguments (1 given)';   main的参数名随意定义,无要求
def main(_):  
    print(FLAGS.str_name)
    print(FLAGS.int_name)
    print(FLAGS.bool_name)

if __name__ == '__main__':
    tf.app.run()  #执行main函数

利用两种不同的方式执行这个脚本。

[root@AliHPC-G41-211 test]# python tt.py
def_v_1
10
False
[root@AliHPC-G41-211 test]# python tt.py --str_name test_str --int_name 99 --bool_name True
test_str
99
True

有好奇心的同学可以尝试直接打印FLAGS,就是把参数的各个属性都打印出来了。
这就挺好理解的了,继续看代码。
上文的第二段代码片我用省略号省略了很多参数定义,很多学过的都忘记了,再写一遍加深印象。
epoch:迭代次数、batch_size:批处理参数、image_size:图像大小、label_size:暂时不理解、learning_rate:学习率、c_dim:图像颜色维度、scale:暂时不理解、stride:卷积步长、checkpoint_dir:暂时不理解、sample_dir:样本数、is_train:是否训练。


                
  • 7
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值