VGG 1 模型实现

2017-09-05  本文已影响0人  vincehxb

有了AelxNet网络的实现基础后,创建一个VGG网络是很简单的事情了。仿照这里 的VGG实现,我对VGG网络进行了类封装,使得网络结构更加清晰

这里主要遇到了一些问题:

1.关于计算图,是先创建graph然后再进行赋值。主要是用  tf.name_scope,和tf.get_variable配合来保证创建图的时候和赋值的时候面对的变量是同一个

总结:

tf.name_scope(reuse=True)的时候只能访问已经创建的变量,否则会报错。

tf.name_scope()reuse为默认参数的时候只能创建不存在这个名字的变量,否则报错

2.关于变量初始化:习惯性的 sess.run(tf.global_variables_initializer()),也就是对全部变量进行初始化。这样做会导致刚刚赋值好的权值又被初始化一遍(而且还是均值为0的高斯初始化),这个问题很难发现,是通过一层一层网络的输出对比来排除错误的。以后要注意,对于迁移的网络参数,不要使用全局变量的初始化

结果:

上一篇下一篇

猜你喜欢

热点阅读