调参方法:网格调参
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的层数
随缘,深的能力强