贪玩ML系列之CIFAR-10调参

调参方法:网格调参

 

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

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

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

 

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等it

通常越靠后的层,咱们将kernelsize取的越大一些,strides不变io

 

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

通常取值:1024/2048/4096class

 

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

通常取值:0.001/0.01/0.1/0.0001方法

通常在训练开始时咱们将learning_rate调大让模型加速降低,在训练一段时间后咱们将learning_rate调小让模型更易收敛im

 

epochs参数(批次数)

这个不肯定,通常咱们写一个脚本,判断当validation accuracy不断小幅度波动时中止脚本

 

batch_size参数

通常取64/128/256

图片大的时候取小一点,防止炸内存(例如CIFAR-10中图片小,32*32,因此咱们能够取大一点的例如256)

理论上取大一点好

通常取2的整数次方

 

keep_probability参数

 通常默认0.5

 

conv_pooling的层数

 随缘,深的能力强

相关文章
相关标签/搜索