代码来源:https://github.com/hwalsuklee/tensorflow-fast-style-transfer
Ⅰ.run_train.py
需用到的包:
(1)numpy (2)os (3)tensorflow (4)argparse
(1)numpy (2)os (3)tensorflow (4)argparse
1.parse_args函数
函数的主要作用是变量解析,通过在程序中定义好我们需要的参数,argparse将会从sys.argv中解析这些参数,并自动生成帮助和使用信息。
required = True 的变量是必要的变量,缺少时会报错。
使用argparse后,变量的输入应在cmd或anaconda prompt中进行。
函数返回值为另一个check_args函数
2.check_args函数
函数的作用是对可能出现的错误进行处理,
当我们认为某些代码可能会出错时,就可以用
try
来运行这段代码,如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码,即except
语句块,执行完except
后,如果有finally
语句块,则执行finally
语句块,至此,执行完毕。
assert(断言):
是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假。可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。
os模块:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431925324119bac1bc7979664b4fa9843c0e5fcdcf1e000; http://blog.sina.com.cn/s/blog_40669df60102x38g.html
(1) 测试VGG19模型的路径是否存在;
(2) 测试VGG19模型大小是否符合标准;
(3) 测试 train_2014 数据集的路径是否存在;
(3) 测试 train_2014 数据集的路径是否存在;
(4) 测试风格图片路径是否存在;
(5) 测试输出路径,不存在则新建。
其他的try则是对风格图片的属性以及learning rate、epoch、batch 等进行测试
3.add_one_dim函数(暂时跳过)
4. main主函数
语句功能见注释。
创建session时,可用ConfigProto对session进行参数配置。可配置 控制GPU资源使用率 以及 使用哪块GPU等;
Ⅱ.utils.py
需用到的包:(1) numpy (2) os (3) scipy (4) PIL.image
1.get_image 函数
scipy.misc官方文档:
https://docs.scipy.org/doc/scipy/reference/misc.html