一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

DeepMind開源Sonnet:可在TensorFlow中快速構(gòu)建神經(jīng)網(wǎng)絡(luò)

 學(xué)習(xí)雪雪 2017-05-07

選自DeepMind

作者:Malcolm Reynolds等

機(jī)器之心編譯

參與:李澤南、Ellen Han

昨天,DeepMind 發(fā)布了 Sonnet,一個(gè)在 TensorFlow 之上用于構(gòu)建復(fù)雜神經(jīng)網(wǎng)絡(luò)的開源庫。這是繼 DeepMind Lab 后,這家谷歌旗下的公司的又一次開源舉措。Sonnet 的開源意味著 DeepMind 構(gòu)建的模型可以更輕松地與所有開發(fā)者共享。


距 DeepMind 做出決定,在整個(gè)研究機(jī)構(gòu)中使用 TensorFlow(TF) 已將近一年。事實(shí)證明這是一個(gè)明智的選擇——較之以往,我們很多模型的學(xué)習(xí)速度變得更快,而分布式訓(xùn)練中的嵌入式特征極大地簡化了我們的代碼。同時(shí),我們發(fā)現(xiàn) TensorFlow 的靈活性和自適應(yīng)性使得為特定目的構(gòu)建更高級(jí)的框架成為可能,DeepMind 內(nèi)部已經(jīng)開發(fā)了一個(gè)框架來用 TF 快速構(gòu)建神經(jīng)網(wǎng)絡(luò)模塊。我們正積極開發(fā)的這個(gè)代碼庫以讓它更好地滿足我們的研究需求,今天我們很高興宣布今天它已開源化。我們把這個(gè)框架命名為 Sonnet。


自從 2015 年 11 月首次推出以來,圍繞 TensorFlow 出現(xiàn)了許多更高級(jí)的庫,使得很多常用任務(wù)得以更快實(shí)現(xiàn)。除了和現(xiàn)存的一些神經(jīng)網(wǎng)絡(luò)庫具有許多相似性外,Sonnet 還具有一些根據(jù) DeepMind 的研究需求設(shè)計(jì)的特性。和我們 Learning to learn 論文一同發(fā)布的代碼是 Sonnet 的初級(jí)版本,其它即將發(fā)布的代碼則基于我們今天發(fā)布的完整庫而完成。


將 Sonnet 開源化使其它在 DeepMind 內(nèi)創(chuàng)建的模型得以在社區(qū)中共享,我們也希望社區(qū)能使用 Sonnet 將他們的研究向前推進(jìn)。在最近幾個(gè)月,我們也將自己的旗艦平臺(tái) DeepMind Lab 開源化了,并且正和暴雪一同工作來開發(fā)一個(gè)開源 API 以支持《星際爭霸 2》中的人工智能研究。還有更多的發(fā)布版即將到來,并且它們將出現(xiàn)在我們新的開源頁面:


https:///research/open-source/


與 Torch/NN 類似,Sonnet 庫使用面向?qū)ο蟮姆椒?,允許創(chuàng)建定義一些前向傳導(dǎo)計(jì)算的模塊。模塊用一些輸入 Tensor 調(diào)用,添加操作到圖里并返回輸出 Tensor。其中一種設(shè)計(jì)選擇是通過在隨后調(diào)用相同的模塊時(shí)自動(dòng)重用變量來確保變量分享被透明化處理。


在各類文獻(xiàn)中,很多模型都可以被視為分層形式,如可微分神經(jīng)計(jì)算機(jī)可能包含 LSTM 控制器,可以實(shí)現(xiàn)為包含標(biāo)準(zhǔn)線性層。我們已經(jīng)發(fā)現(xiàn),編寫明確表示子模塊的代碼可以輕松實(shí)現(xiàn)代碼重用和快速實(shí)驗(yàn)——Sonnet 可以在內(nèi)部聲明其他子模塊的編寫模塊,或在構(gòu)建時(shí)傳遞其他模塊。



我們發(fā)現(xiàn)最有意義的技術(shù)是允許某些模塊在任意嵌套的 Tensors 組中進(jìn)行操作。循環(huán)神經(jīng)網(wǎng)絡(luò)的最佳表現(xiàn)形式通常是一些異構(gòu) Tensor 的集合,如果表示為一個(gè)平面列表則會(huì)容易出錯(cuò)。Sonnet 提供了用于處理這些層次結(jié)構(gòu)的實(shí)用工具,這樣在你需要更換另一種 RNN 的時(shí)候就不需要繁瑣的代碼更改了。我們已經(jīng)對(duì) TensorFlow 內(nèi)核進(jìn)行了更改,對(duì)這種用例增加了更多支持。


Sonnet 專為 TensorFlow 設(shè)計(jì),因此它不會(huì)阻止你訪問 Tensor 和 variable_scope 這樣的底層細(xì)節(jié)。用 Sonnet 編寫的模型可以與原始 TensorFlow 代碼,及其他高級(jí)庫中的代碼自由融合。


Sonnet 的發(fā)布不是一次性的,我們將持續(xù)更新 Github 以使其符合 DeepMind 的內(nèi)部版本。我們對(duì)目前 Sonnet 的功能還有很多想法,它們將陸續(xù)成為現(xiàn)實(shí)。我們非常感謝來自開源社區(qū)的貢獻(xiàn)。


GitHub 鏈接:https://github.com/deepmind/sonnet


安裝步驟


若想安裝 Sonnet,你需要使用 bazel 依靠 TensorFlow 頭文件對(duì)這個(gè)庫進(jìn)行編譯。請(qǐng)按照指定步驟安裝 TensorFlow:

https://www./install/


該庫兼容 Linux/Mac OS X 和 Python 2.7。TensorFlow 的版本必須至少為 1.0.1。Sonnet 支持 TensorFlow 的 virtualenv 安裝模式,以及 nativ pip 安裝。


安裝 BAZEL


請(qǐng)確保你擁有最新版本的 bazel(至少為 0.4.5 版),如果版本過舊,請(qǐng)遵循以下步驟:

https://bazel.build/versions/master/docs/install.html


Virtualenv TensorFlow 安裝


如果你想使用 virtualenv,請(qǐng)?jiān)诎惭b時(shí)急活你的 virtualenv,或跳過此步驟:


$ source $VIRTUALENV_PATH/bin/activate # bash, sh, ksh, or zsh

$ source $VIRTUALENV_PATH/bin/activate.csh # csh or tcsh


配置 TensorFlow 頭文件


首先復(fù)制 Sonnet 和 TensorFlow 的源代碼作為一個(gè)子模塊:


$ git clone --recursive https://github.com/deepmind/sonnet


然后使用 configure:


$ cd sonnet/tensorflow

$ ./configure

$ cd ../


你可以在 TensorFlow 配置期間選擇建議的默認(rèn)值。注意:這不會(huì)修改你現(xiàn)有的 TensorFlow 安裝。這一步是讓 Sonnet 構(gòu)建于 TensorFlow 頭文件上的必要步驟。


構(gòu)建和運(yùn)行安裝程序


運(yùn)行安裝腳本,在臨時(shí)目錄中創(chuàng)建一個(gè) wheel file:


$ mkdir /tmp/sonnet

$ bazel build --config=opt :install

$ ./bazel-bin/install /tmp/sonnet


pip install 生成的 wheel file:


$ pip install /tmp/sonnet/*.whl


如果已安裝 Sonnet,卸載 wheel file 上之前的 pip install :


$ pip uninstall sonnet


你可以通過嘗試重采樣(resampler op)這樣的操作來驗(yàn)證 Sonnet 是否安裝成功:


$ cd ~/

$ python>>> import sonnet as snt>>> import tensorflow as tf>>> snt.resampler(tf.constant([0.]), tf.constant([0.]))


預(yù)計(jì)的輸出應(yīng)該是:



當(dāng)然,如果引入了 ImportError,C++組件未找到時(shí),請(qǐng)確保你沒有導(dǎo)入復(fù)制的源代碼(即在復(fù)制的資源庫外調(diào)用 Python),并在安裝 wheel file 前卸載 Sonnet。 


原文鏈接:https:///blog/open-sourcing-sonnet/




本文為機(jī)器之心編譯,轉(zhuǎn)載請(qǐng)聯(lián)系本公眾號(hào)獲得授權(quán)。

------------------------------------------------

加入機(jī)器之心(全職記者/實(shí)習(xí)生):hr@jiqizhixin.com

投稿或?qū)で髨?bào)道:editor@jiqizhixin.com

廣告&商務(wù)合作:bd@jiqizhixin.com

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    日韩精品人妻少妇一区二区| 国产欧美一区二区色综合| 日韩精品在线观看完整版| 亚洲一区二区三区中文久久| 亚洲综合伊人五月天中文| 日韩欧美91在线视频| 免费特黄欧美亚洲黄片| 中文字幕精品人妻一区| 大香蕉久草网一区二区三区| 中字幕一区二区三区久久蜜桃| 色综合伊人天天综合网中文| 欧美一级内射一色桃子| 国产亚洲精品久久久优势| 国产乱人伦精品一区二区三区四区| 国产高清在线不卡一区| 69精品一区二区蜜桃视频| 人妻久久一区二区三区精品99| 国内精品偷拍视频久久| 加勒比东京热拍拍一区二区| 欧美成人免费一级特黄| 欧美中文日韩一区久久| 精品人妻一区二区三区免费| 欧美日韩久久精品一区二区| 国产老女人性生活视频| 中文字幕91在线观看| 日韩欧美一区二区不卡视频| 亚洲a级一区二区不卡| 国产成人精品午夜福利av免费| 欧美日韩综合在线精品| 中文字幕日韩一区二区不卡| 精品欧美日韩一区二区三区| 好东西一起分享老鸭窝| 国产又粗又长又爽又猛的视频| 91播色在线免费播放| 狠狠干狠狠操在线播放| 日本欧美在线一区二区三区| 久一视频这里只有精品| 可以在线看的欧美黄片| 不卡一区二区在线视频| 久草视频这里只是精品| 一区二区三区国产日韩|