<label id="jgr5k"></label>
    <legend id="jgr5k"><track id="jgr5k"></track></legend>

    <sub id="jgr5k"></sub>
  1. <u id="jgr5k"></u>
      久草国产视频,91资源总站,在线免费看AV,丁香婷婷社区,久久精品99久久久久久久久,色天使av,无码探花,香蕉av在线
      您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
      此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
      人工智能開(kāi)發(fā)者 正文
      發(fā)私信給AI研習(xí)社
      發(fā)送

      0

      為什么 PyTorch 這么火?一線開(kāi)發(fā)者這樣說(shuō)

      本文作者: AI研習(xí)社 2017-05-10 15:49
      導(dǎo)語(yǔ):專業(yè)人士怎么說(shuō)?

      編者按:2017 年初,F(xiàn)acebook 在機(jī)器學(xué)習(xí)和科學(xué)計(jì)算工具 Torch 的基礎(chǔ)上,針對(duì) Python 語(yǔ)言發(fā)布了一個(gè)全新的機(jī)器學(xué)習(xí)工具包 PyTorch。一經(jīng)發(fā)布,這款開(kāi)源工具包就受到了業(yè)界的廣泛關(guān)注和討論,經(jīng)過(guò)幾個(gè)月的發(fā)展,目前 PyTorch 已經(jīng)成為從業(yè)者最重要的研發(fā)工具之一。PyTorch 為什么如此受歡迎,研究人員是出于怎樣的考慮選擇了 PyTorch?針對(duì)這些問(wèn)題,我們今天不妨來(lái)看看專業(yè)人士怎么說(shuō)。

      以下內(nèi)容轉(zhuǎn)載自饒錦峰在知乎上的問(wèn)答,雷鋒網(wǎng)已或授權(quán)。饒錦峰先后就讀于浙江大學(xué)和美國(guó)馬里蘭大學(xué)的計(jì)算機(jī)科學(xué)學(xué)院,曾于微軟和谷歌實(shí)習(xí),研究方向是深度神經(jīng)網(wǎng)絡(luò)和自然語(yǔ)言處理等。

      為什么 PyTorch 這么火?一線開(kāi)發(fā)者這樣說(shuō)

      PyTorch比較吸引我的特性有以下幾點(diǎn):

      1. 支持Python。之前用Lua寫(xiě)代碼不要太痛苦(用 Torch 時(shí)),各種功能性函數(shù)沒(méi)有。舉個(gè)例子,Lua里面最主要的數(shù)據(jù)結(jié)構(gòu)是table(類似于Python語(yǔ)言里面的dict),table里元素是通過(guò)key的形式來(lái)訪問(wèn)的。很多情況下我想訪問(wèn)table里面有多少個(gè)元素,這要是在python或者java里面就是table.size()一句話就能搞定的,但放在Lua里面,唯一可行的方案就是像下面這樣:

      function tablelength(T)
       local count = 0
       for _ in pairs(T) do count = count + 1 end
       return countend

      2. 支持autograd。不用自己去定義和數(shù)學(xué)推導(dǎo)back-propagation. 這個(gè)還是比較實(shí)用的,記得很早的時(shí)候,torch里面還沒(méi)有計(jì)算cosine similarity的函數(shù),得自己定義cosine的forward和backward函數(shù),又溫習(xí)了一遍微積分=_=不過(guò)自己寫(xiě)backward也是有好處的,這是一個(gè)很好的學(xué)習(xí)過(guò)程,對(duì)你理解深度學(xué)習(xí)的原理有很大的幫助。當(dāng)你的代碼出錯(cuò)了的時(shí)候,你能有個(gè)比較清晰的思路從哪里開(kāi)始debug.

      3. 更容易debug。無(wú)論是Torch還是PyTorch的底層都是一個(gè)C語(yǔ)言實(shí)現(xiàn)的庫(kù)函數(shù)。在寫(xiě)深度學(xué)習(xí)的代碼的時(shí)候最痛苦的一塊可能就是debug了。當(dāng)結(jié)果出現(xiàn)問(wèn)題的時(shí)候你不知道你是因?yàn)槟愕膆yper-parameter設(shè)得不對(duì),還是模型定義的時(shí)候出錯(cuò)了,或者是某一層layer計(jì)算的時(shí)候出錯(cuò)了和整個(gè)模型的assumption就不適合這個(gè)數(shù)據(jù)集。要找出原因只能不斷的簡(jiǎn)化模型并且試錯(cuò),這時(shí)候PyTorch能夠逐層打印出計(jì)算結(jié)果就顯得非常靈活了(簡(jiǎn)直是NN debug的救星)。雖然其他一些工具Keras也能支持顯示每層layer的output,但是依賴于一些輔助函數(shù),寫(xiě)起來(lái)也比較麻煩。

      4. 支持動(dòng)態(tài)圖的創(chuàng)建。現(xiàn)在的深度學(xué)習(xí)平臺(tái)在定義模型的時(shí)候主要用兩種方式:static computation graph(靜態(tài)圖模型) 和 dynamic computation graph(動(dòng)態(tài)圖模型)。 絕大部分平臺(tái)都采用的是static的定義方式,包括TensorFlow, Theano, Caffe,Keras等。靜態(tài)圖定義的缺陷是在處理數(shù)據(jù)前必須定義好完整的一套模型,能夠處理所有的邊際情況。比如在聲明模型前必須知道整個(gè)數(shù)據(jù)中句子的最大長(zhǎng)度。相反動(dòng)態(tài)圖模型(現(xiàn)有的平臺(tái)比如PyTorch, Chainer, Dynet)能夠非常自由的定義模型。舉個(gè)例子,傳統(tǒng)的LSTM往往處理一個(gè)句子的時(shí)候都是以word為單位,然后利用word2vec來(lái)初始化詞向量。但是往往有一些很奇怪的詞在vocabulary里是找不到的,也就是沒(méi)法用word2vec初始化詞向量。這時(shí)候你可能想用characer-level(字符)級(jí)別的表示來(lái)初始化那個(gè)單詞,就需要借助動(dòng)態(tài)圖模型的定義了。簡(jiǎn)單來(lái)說(shuō)動(dòng)態(tài)圖模型允許你在運(yùn)行程序的時(shí)候動(dòng)態(tài)去修正你的模型結(jié)構(gòu),來(lái)處理各種奇奇怪怪的邊角輸入,這在學(xué)術(shù)研究的時(shí)候的靈活性就體現(xiàn)出來(lái)了。

      為什么 PyTorch 這么火?一線開(kāi)發(fā)者這樣說(shuō)

      上圖左邊為靜態(tài)圖的計(jì)算框架,右邊為動(dòng)態(tài)圖的框架 [1]。靜態(tài)圖需要在處理數(shù)據(jù)前定義好一套完整的模型;而動(dòng)態(tài)圖模型允許用戶先定義好一套基本的框架再根據(jù)數(shù)據(jù)來(lái)實(shí)時(shí)修正模型。

      5. 和 LuaJIT 相比降低了大概30%-50%的內(nèi)存使用率,而且 LuaJIT 是有 2G 的內(nèi)存上限的(這個(gè)有時(shí)候很麻煩)。另外謝謝評(píng)論區(qū)的@peng sun補(bǔ)充,LuaJIT的內(nèi)存上限是指lua內(nèi)部的數(shù)據(jù)結(jié)構(gòu),比如table, string等,不包括用戶定義的數(shù)據(jù)結(jié)構(gòu),比如torch.Tensor之類等,不然把word embedding load到內(nèi)存里就炸了。。有時(shí)候?yàn)榱吮苊鈨?nèi)存溢出的情況,會(huì)用Lua 5.1編譯,而不用LuaJIT。關(guān)于Lua 編譯器和LuaJIT的區(qū)別,可以參看這個(gè)帖子:What makes LuaJIT faster than Lua?

      補(bǔ)充一點(diǎn)是,目前版本在效率上比Torch慢5%,可能是因?yàn)閯?chuàng)建動(dòng)態(tài)圖的時(shí)候多耗時(shí)了. 在PyTorch網(wǎng)站上有個(gè)帖子討論和Torch的比較,可以看看:Roadmap for torch and pytorch

      其他一些我會(huì)考慮的點(diǎn):

      1. 遷移成本。作為T(mén)orch用戶,我已經(jīng)很習(xí)慣它的一套開(kāi)發(fā)流程了,也能夠比較高效的實(shí)現(xiàn)定義的模型了。如果要遷移到PyTorch平臺(tái),需要學(xué)習(xí)下里面的一些函數(shù)定義和使用,不想換平臺(tái)的時(shí)候太麻煩。

      2. 社區(qū)支持。作為一個(gè)新開(kāi)發(fā)的平臺(tái),PyTorch的社區(qū)支持還是比較弱的,還沒(méi)有什么開(kāi)源的代碼和模型。我不知道有多少老Torch用戶去轉(zhuǎn)移到PyTorch上面去,但是有一個(gè)良好的社區(qū)環(huán)境是需要長(zhǎng)時(shí)間的積累的。

      在選擇一個(gè)深度學(xué)習(xí)平臺(tái)上,我會(huì)主要考慮易用性,學(xué)習(xí)成本和社區(qū)環(huán)境。舉個(gè)例子就Torch而言,社區(qū)環(huán)境很好,但學(xué)習(xí)成本和易用性上要打個(gè)折扣,我想這是很多新用戶可能不會(huì)選擇Torch的原因,也是PyTorch開(kāi)發(fā)的一部分初衷吧(降低學(xué)習(xí)成本和提高易用性來(lái)吸引更多的新用戶)。就PyTorch而言,剛開(kāi)始開(kāi)放出來(lái)社區(qū)支持還不是很強(qiáng),不過(guò)最近一段時(shí)間口碑上去得很快,社區(qū)的增長(zhǎng)也比較迅速。

      總體來(lái)說(shuō)我還是很喜歡 PyTorch 的編程模式的,非常好用,推薦 researcher 使用。相反,如果只是想了解一下深度學(xué)習(xí),并且快速開(kāi)發(fā)出一套簡(jiǎn)單實(shí)用的深度學(xué)習(xí)模型,推薦 Keras+TensorFlow 作為入門(mén)工具(API簡(jiǎn)單+文檔全+社區(qū)強(qiáng))。

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

      最后貼一張Andrej Karpathy博客里各深度學(xué)習(xí)平臺(tái)使用比例的圖:

      為什么 PyTorch 這么火?一線開(kāi)發(fā)者這樣說(shuō)

      圖片來(lái)源:http://t.cn/R6g0QFB 

      [1] Chainer: a Next-Generation Open Source Framework for Deep Learning, Tokui, Seiya and Oono, Kenta and Hido, Shohei and Clayton, Justin, NIPS 2015, Learning System workshop.

      TensorFlow & 神經(jīng)網(wǎng)絡(luò)算法高級(jí)應(yīng)用班” 要開(kāi)課啦!

      從初級(jí)到高級(jí),理論 + 實(shí)戰(zhàn),一站式深度了解 TensorFlow!

      本課程面向深度學(xué)習(xí)開(kāi)發(fā)者,講授如何利用 TensorFlow 解決圖像識(shí)別、文本分析等具體問(wèn)題。課程跨度為 10 周,將從 TensorFlow 的原理與基礎(chǔ)實(shí)戰(zhàn)技巧開(kāi)始,一步步教授學(xué)員如何在 TensorFlow 上搭建 CNN、自編碼、RNN、GAN 等模型,并最終掌握一整套基于 TensorFlow 做深度學(xué)習(xí)開(kāi)發(fā)的專業(yè)技能。

      兩名授課老師佟達(dá)、白發(fā)川身為 ThoughtWorks 的資深技術(shù)專家,具有豐富的大數(shù)據(jù)平臺(tái)搭建、深度學(xué)習(xí)系統(tǒng)開(kāi)發(fā)項(xiàng)目經(jīng)驗(yàn)。

      時(shí)間:每周二、四晚 20:00-21:00

      開(kāi)課時(shí)長(zhǎng):總學(xué)時(shí) 20 小時(shí),分 10 周完成,每周 2 次,每次 1 小時(shí)

      線上授課地址:http://www.mooc.ai/

      雷鋒網(wǎng)(公眾號(hào):雷鋒網(wǎng))相關(guān)閱讀:

      Facebook 發(fā)布開(kāi)源框架 PyTorch, Torch 終于被移植到 Python 生態(tài)圈

      從原理到實(shí)戰(zhàn) 英偉達(dá)教你用PyTorch搭建RNN(上)

      從原理到實(shí)戰(zhàn) 英偉達(dá)教你用PyTorch搭建RNN(下)

      雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知

      為什么 PyTorch 這么火?一線開(kāi)發(fā)者這樣說(shuō)

      分享:
      相關(guān)文章

      編輯

      聚焦數(shù)據(jù)科學(xué),連接 AI 開(kāi)發(fā)者。更多精彩內(nèi)容,請(qǐng)?jiān)L問(wèn):yanxishe.com
      當(dāng)月熱門(mén)文章
      最新文章
      請(qǐng)?zhí)顚?xiě)申請(qǐng)人資料
      姓名
      電話
      郵箱
      微信號(hào)
      作品鏈接
      個(gè)人簡(jiǎn)介
      為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
      您的郵箱還未驗(yàn)證,完成可獲20積分喲!
      請(qǐng)驗(yàn)證您的郵箱
      立即驗(yàn)證
      完善賬號(hào)信息
      您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
      立即設(shè)置 以后再說(shuō)
      主站蜘蛛池模板: 欧美最猛性xxxxx免费| 欧美日本激情| 亚洲一区二区三区影院| 国产成人av免费观看| 国产三区二区| 中文字幕人乱码中文| 成人国产精品日本在线观看| 97中文字幕在线观看| 男人吃奶摸下挵进去好爽| FUCK老富婆HD| 色噜噜AV| 成人午夜福利视频| 中文字幕无码av激情不卡| 四虎永久精品免费视频| 一区二区 在线 | 中国| 精品国产人成亚洲区| 欧美黑人一区| 两个人的视频全免费观看在线 | 久久无码av中文出轨人妻| 豆花AV| 无码综合网| 亚洲永久一区二区三区在线| 91精品国产午夜福利| 亚洲中文字幕在线精品一区| 丁香五月麻豆| 亚洲乱码伦av| 国语自产少妇精品视频| 无码人妻一区二区三区一| 昌黎县| 99国内精品久久久久久久| 亚洲多毛视频| 国产又色又爽无遮挡免费动态图 | 91综合网| 亚洲va久久久噜噜噜久久男同| 激情综合五月网| 亚洲欧美另类在线图片区| 亚洲中文字幕在线精品一区| 国产精品久久久久久久久久直播| 日韩伦人妻无码| 人人妻人人添人人爽日韩欧美| 国产精品人妻在线观看|