在寫CNN中注意到tensorflow目前有tf.nn.conv2d和tf.layers.conv2d這兩個很相似的API.
tf.nn.conv2d故觅, 需要自行傳入初始化好的filter(四個維度)邀层,在初始化filter或者說Weights中谅海,已經(jīng)手動選擇了初始化方案,一般用的是tf.truncated_normal蛛砰。另外tf.nn.conv2d中激活函數(shù)需要另外寫儡蔓。
而在tf.layers.conv2d中优床,只要寫入n和size,參數(shù)列表中kernel_initializer默認(rèn)是None烘豹, 不清楚這里的參數(shù)是如何初始化的瓜贾? tf.layers.conv2d中,激活函數(shù)是一個參數(shù)携悯,不需要另外調(diào)用祭芦。
問過大神,大神答曰:一般推薦使用tf.layers.下面的函數(shù)憔鬼,用起來方便龟劲。但是在tf2.0里,tf.layers.下面的API也都被遺棄了轴或,tf2.0推薦使用keras.layers下面的API昌跌。
tf.nn.conv2d
tf.layers.conv2d