Pylearn2之YAML
最近在看GAN的源碼,源碼是使用python編寫的,中間涉及到了pylearn的內容,由于之前從來都沒有接觸過這部分內容,所以讀起來還是很吃力的,不過應該還是會在后面學習一下這部分的內容,以后的內容中應該會使用到。
首先看一下yaml的內容,官方解釋為是一種置標語言,無論是對機器或人而言都是便于閱讀理解的。下面的內容是從deeplearning上面摘下來的,感興趣的同學也可以訪問原網站點擊打開鏈接(包含下面講解的內容)以及點擊打開鏈接(一些庫、模型等說明文檔),這篇就主要介紹一下YAML
使用!obj對對象進行實例化,通常的語法為?!obj:<package>[.<subpackage>]*.<module>.<object>,舉個栗子,下面就可以創建一個AutoEncoder的實例,以784個可見單元和100個隱藏單元為參數,標準差為0.2。!obj實現的功能有兩個,可以遞歸的導入所有子包,直到導入最終模型。
可以使用load方法將模塊進行導入。如下例,假定模型存儲在example.yaml中,使用yaml_parse.load方法就可以已有模型進行導入
anchor&reference,這里不知道應該怎么翻譯了,所以就直接把詞擺在這里好了。主要實現的功能是可以避免重復的代碼,如下例,所實現的功能是首先通過&nvis將可見單元nvis的熟練變為增廣矩陣;隨后通過使用*nvis指定隱藏單元的數量。通過使用*nvis能夠避免在兩個位置修改代碼
使用!import動態導入。同!obj功能類似,但是它不會創建實例,只會返回一個指針。
通過使用Pickl導入文件,和load功能函數類似,實現過程見下圖
通過對這些tag進行組合即可得到一個比較完整的結構了
從結構上來看,格式還是非常規整,語法結構也清晰易懂。后續部分繼續學習
總結
以上是生活随笔為你收集整理的Pylearn2之YAML的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: anaconda安装及环境变量配置
- 下一篇: pycharm运行出现ImportErr