貪玩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的層數

 隨緣,深的能力強

相關文章
相關標籤/搜索