CIFAR-10调参

调参方法:网格调参

 

tf.layers.conv2d()中的padding参数

取值“same”,表示当filter移出边界时,给空位补0继续计算。该方法能够更多的保留图像边缘信息。当图片较小(如CIFAR-10中的32*32)时,推荐使用该选项

取值“valid”,表示当filter移出边界时,舍弃该filter

tf.layers.conv2d()中的filters参数 

一般取值:

一般越靠后的层,我们将它的filters取的更多一些,一是为了保留更多的信息,二是为了提取更多抽象的特征

tf.layers.conv2d()中的kernel_size参数和strides参数

tf.layers.max_pooling2d()中的pool_size参数和strides参数

kernel参数一般取7/5/3/1等,strides一般取3/2/1等

一般越靠后的层,我们将kernelsize取的越大一些,strides不变

tf.layers.dense()中的units参数

一般取值:1024/2048/4096

tf.train.AdamOptimizer()中的learning_rate参数

一般取值:0.001/0.01/0.1/0.0001

一般在训练开始时我们将learning_rate调大让模型加速下降,在训练一段时间后我们将learning_rate调小让模型更易收敛

epochs参数(批次数)

这个不确定,一般我们写一个脚本,判断当validation accuracy不断小幅度波动时停止

batch_size参数

一般取64/128/256

图片大的时候取小一点,防止炸内存(例如CIFAR-10中图片小,32*32,所以我们可以取大一点的例如256)

理论上取大一点好

一般取2的整数次方

keep_probability参数

 一般默认0.5

conv_pooling的层数

 随缘,深的能力强

猜你喜欢

转载自www.cnblogs.com/zealousness/p/9333215.html
今日推荐