关于CIFAR10程序的一些经验总结
- 在卷积层和全连接层中,设置权重和偏置时,推荐使用
tf.get_variable()函数,好处是参数可重复使用,减小内存的占用,而且如果是导入别人的参数进行训练时,必须使用tf.get_variable()。 - 为了用
tensorboard画出图来,在给每一层命名时,通常采用with tf.variable_scope('名字') as scope,tf.name_scope,区别在于:tf.variable_scope在每个参数前加一个前缀,使得参数独一无二,故与tf.get_variable()搭配使用,取得很好地效果;tf.name_scope没有在参数前加前缀,一般用于节点处的命名。 - 在对权重初始化时,使用初始化函数
tf.contrib.layers.xavier_initialize()比较好,默认采用均值初始化,还有可选参数,可根据需要进行设置。常用的还有tf.truncated_normal_initializer(有参数);对偏置初始化一般采用tf.constant_initializer(有参数)。 - 批量输入图片时,要对图片进行归一化
tf.nn.batch_normalization(),原理为:

本文总结了使用修改版Alexnet模型训练CIFAR10数据集的经验,强调了权重和偏置初始化、归一化处理、卷积核大小选择以及损失函数计算等方面的重要细节,提供了优化训练过程的实用技巧。
2万+

被折叠的 条评论
为什么被折叠?



