您的位置:首页 > Web前端

StyleTransfer (图像风格迁移) 代码解析

2018-03-15 18:39 447 查看
代码来源:https://github.com/hwalsuklee/tensorflow-fast-style-transfer

Ⅰ.run_train.py

需用到的包:
(1)numpy  (2)os   (3)tensorflow   (4)argparse
1.parse_args函数



函数的主要作用是变量解析,通过在程序中定义好我们需要的参数,argparse将会从sys.argv中解析这些参数,并自动生成帮助和使用信息。
required = True 的变量是必要的变量,缺少时会报错。使用argparse后,变量的输入应在cmd或anaconda prompt中进行。详细用法见官方文档:https://docs.python.org/3/library/argparse.html

函数返回值为另一个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 数据集的路径是否存在;
(4) 测试风格图片路径是否存在;
(5) 测试输出路径,不存在则新建。

其他的try则是对风格图片的属性以及learning rate、epoch、batch 等进行测试3.add_one_dim函数(暂时跳过)


4.   main主函数


语句功能见注释。



创建session时,可用ConfigProto对session进行参数配置。可配置 控制GPU资源使用率 以及 使用哪块GPU等;详细信息:http://blog.csdn.net/u012436149/article/details/53837651





关于程序入口、__name__见文章:http://blog.konghy.cn/2017/04/24/python-entry-program/

Ⅱ.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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息