tf.nn.conv2d 與 tf.layers.conv2d 的區別

在寫CNN中注意到tensorflow目前有tf.nn.conv2d和tf.layers.conv2d這兩個很相似的API.

tf.nn.conv2d, 需要自行傳入初始化好的filter(四個維度),在初始化filter或者說Weights中,已經手動選擇了初始化方案,一般用的是tf.truncated_normal。另外tf.nn.conv2d中激活函數需要另外寫。

而在tf.layers.conv2d中,只要寫入n和size,參數列表中kernel_initializer默認是None, 不清楚這裏的參數是如何初始化的? tf.layers.conv2d中,激活函數是一個參數,不需要另外調用。

問過大神,大神答曰:一般推薦使用tf.layers.下面的函數,用起來方便。但是在tf2.0裏,tf.layers.下面的API也都被遺棄了,tf2.0推薦使用keras.layers下面的API。

tf.nn.conv2d

 

tf.layers.conv2d

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章