天天看點

巧妙使用 TensorFlow 之 TensorLayer

TensorFlow 1.0 版本剛剛正式釋出,各路媒體大量刷屏,可見其影響力。再加上 TensorFlow-Fold 的出現,讓其建立 dynamic computation graphs 非常友善,具備了 dynet 和 pytorch 類似的功能。同學們可能發現 1.0 版本改動非常大,很多 API 被重新命名、使用方法也變了很多,導緻舊版本的 TF 代碼無法在 1.0 版本上直接運作。另外,TF1.0 版本中終于加入了tf.layers,雖然功能有限,但比沒有要好多了。

這裡根據最近使用 TL 的經驗,我總結了一些使用小技巧,若寫得不客觀請見諒,當作是自己的筆記吧。

第一次在知乎寫文章,寫得不好看看就好

我現在在美帝讀博,非常喜歡深度學習,歡迎交流 :D

* 由于近期 TL 發展很快,若想用 pip 安裝,建議安裝 master 版本。

TL非常特殊的一點是:需要給每層輸入一個唯一的名字,除非 reuse 該層。我剛開始用時,完全不明白這樣設計的道理,後來發現這樣的好處是杜絕了錯誤重用和友善參數管理。

* 這個方法常常用于選擇哪些參數需要被更新,比如訓練 GAN 時,可以分别擷取 G 和 D 的參數清單,放到對應的 optimizer 中。

很多應用中需要用到預訓練好的CNN模型,比如 image captioning, VQA, 以及在小資料集中 fine-tune 做分類器等等。

* 預訓練的 CNN

* Resnet

* 對一個 batch 的資料做 zero padding:

轉自:https://zhuanlan.zhihu.com/p/25296966

繼續閱讀