<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          分手只為更好!Keras正式從TensorFlow分離

          共 5537字,需瀏覽 12分鐘

           ·

          2021-06-23 14:58

          點擊上方機器學習與生成對抗網(wǎng)絡”,關注星標

          獲取有趣、好玩的前沿干貨!


          以后在本地運行 Keras Bazel 測試將不再花費幾小時,只需要幾分鐘。------文章來源 機器之心 僅分享
          對于深度學習領域的從業(yè)者而言,Keras 肯定不陌生,它是深度學習的主流框架之一。2015 年 3 月 27 日,谷歌軟件工程師、Keras 之父 Francois Chollet 在其 GitHub 上提交并公布了 Keras 的首個版本。作為使用純 Python 編寫的深度學習框架,Keras 的代碼更加簡單方便,適用于初學者。此外,Keras 具有很強的易擴展性,能夠直觀地定義神經(jīng)網(wǎng)絡,函數(shù)式 API 的使用令用戶可以將層定義為函數(shù)。

          Keras 官網(wǎng)地址:https://keras.io/

          為了訓練自定義神經(jīng)網(wǎng)絡,Keras 需要一個后端,在 v1.1.0 版本之前,Keras 的默認后端都是 Theano。2015 年 11 月 9 日,谷歌發(fā)布了 TensorFlow。Keras 開始支持 TensorFlow 作為后端。漸漸地,TensorFlow 成為最受歡迎的后端,并從 Keras v1.1.0 發(fā)行版開始成為它的默認后端。tf.keras 正是在 TensorFlow v1.10.0 中引入的,這是將 Keras 直接集成到 TensorFlow 包中的第一步。

          當谷歌在 2019 年 6 月發(fā)布 TensorFlow 2.0 時,他們宣布 Keras 成為 TensorFlow 的官方高級 API。并且,在 Keras 2.3.0 版本發(fā)布時,F(xiàn)rancois 表示這是 Keras 首個與 tf.keras 同步的版本,也是 Keras 支持 Theano 等多個后端的最終版本。所有深度學習從業(yè)者都應將其代碼轉(zhuǎn)換成 TensorFlow 2.0 和 tf.keras 軟件包。這意味著二者的合并,但看似雙贏的決定,很多開發(fā)者卻不買賬。API 的混亂與割裂不僅令開發(fā)者不知所措,也加大了開發(fā)者尋找教程的難度。

          是時候做出改變了!近日,Keras 之父 Francois Chollet 在其推特宣布一項重要決定:他們已經(jīng)將 Keras 的代碼從 TensorFlow 代碼庫中分離出來,移回到了自己的 repo。


          對于 Keras 從 TensorFlow 分離后有哪些好處?Francois 表示:「這將提升開源貢獻者的開發(fā)體驗。對于用戶而言,這將使他們可以在本地運行測試,不再需要編譯 TF 來測試 Keras 了,并且還將改善 CI 時間?!?/span>

          Keras 正式從 TensorFlow 代碼庫中分離

          此次 Keras 分離過程的負責人是谷歌高級軟件工程師 Scott Zhu,他代表 Keras 團隊向所有 Keras 用戶發(fā)表了公開聲明,解釋了 Keras 從 TensorFlow 代碼庫中分離出來的緣由以及分離后為用戶帶來的諸多便利之處。

          開發(fā)團隊花費了很多精力使 TensorFlow 更加模塊化,并優(yōu)化了 Keras 和 TensorFlow 之間的依賴關系。最終 Keras 從 TensorFlow 代碼庫中分離出來,并擁有了自己獨立的代碼庫。這使 Keras 能夠使用 Tensorflow Python API 作為 PIP 包依賴項,且無需在構建和測試時編譯 TensorFlow。因此現(xiàn)在在本地運行 Keras Bazel 測試只需要幾分鐘,而不是幾小時。

          變更之后,當前 TensorFlow 代碼庫中的 Keras 部分將很快被刪除。這意味著:

          1. Keras 開源代碼庫的訪問地址將發(fā)生變更;


          • 原地址:https://github.com/tensorflow/tensorflow

          • 新地址:https://github.com/keras-team/keras



          2. 經(jīng)過許可之后,原代碼庫中 Keras 部分的相關 PR 將被手動合并到新代碼庫中。Keras 團隊成員將在內(nèi)部進行同步和合并,相關作者無需進行任何操作。但如果 PR 已經(jīng)打開很長時間且沒有作者的活動,Keras 團隊可能會關閉它;

          3. 任何在先前代碼庫中未解決的 Keras 相關活躍問題將在現(xiàn)有的 ticket 線程中處理,并將通過提交到新代碼庫進行修復;

          4. 與原代碼庫相關的陳舊問題將被關閉。如果你認為仍然是有價值的問題,請隨時在新代碼庫中重新打開該問題;

          5. 新 Keras 代碼庫在此次變更前未完成的任何 PR/issue 都被認為是陳舊的,將被關閉。


          用戶想要提交貢獻,如何做?

          用戶在提交自己的代碼以供審查并獲得批準時,必須簽署谷歌個人貢獻者許可協(xié)議(CLA),這樣才可以將代碼放入 Keras 代碼庫中。此外,在提交更多的貢獻時,用戶也應首先通過問題跟蹤器(issue tracker)與 Keras 聯(lián)系溝通。

          包括項目成員在內(nèi)所有用戶的提交都必須接受審查。為此,Keras 使用 GitHub 拉取請求(pull request, PR),并建議用戶在創(chuàng)建 PR 之前閱讀相關指南。

          完成本地更改并通過測試驗證后,用戶可以在 keras-team/keras 項目中打開并發(fā)送 PR,之后會經(jīng)過一系列的測試來驗證它的正確性。一旦 PR 被審查者測試和批準,PR 將被鏡像到谷歌內(nèi)部存儲庫。一旦合并到 Google 內(nèi)部存儲庫成功完成,PR 還將被標記為已合并(merged)。這與 Tensorflow OSS 的貢獻流程相同,相關示例如下圖所示:


          在做任何更改之前,Keras 團隊建議用于打開 issue,并在上面討論。Keras 也會給予反饋并對用戶提出的更改進行驗證。如果更改很小,如文檔修復中簡單的 bug 修復,則只需打開 PR 無需討論。

          與個人用戶不同,企業(yè)用戶提交的貢獻需要遵守《谷歌軟件授權與企業(yè)貢獻者許可協(xié)議》。

          開發(fā)所需的工具

          使用 Keras 開發(fā)所需要的工具主要包括如下:

          • 用于創(chuàng)建和測試 Keras 項目的 Bazel 工具和 Python;

          • 用于代碼庫管理的 git 工具。


          設置和檢查本地工作區(qū)

          以蘋果 Mac 電腦(Linux 系統(tǒng)的配置非常相似)為例,使用如下命令設置并檢查本地工作區(qū)的配置:


          下載 Keras 代碼和設置虛擬環(huán)境

          Python 虛擬環(huán)境是創(chuàng)建獨立環(huán)境的強大工具,可以將任何系統(tǒng)級配置的更改隔離開來。因此,Keras 強烈建議避免出現(xiàn)任何意外的依賴或版本問題。


          本地運行測試

          在本地運行一個測試的代碼如下:

          (venv_dir) scottzhu-macbookpro2:keras scottzhu$ bazel test -c opt keras:backend_testWARNING: The following configs were expanded more than once: [v2]. For repeatable flags, repeats are counted twice and may lead to unexpected behavior.INFO: Options provided by the client: Inherited 'common' options: --isatty=1 --terminal_columns=147INFO: Reading rc options for 'test' from /Users/scottzhu/workspace/keras/.bazelrc: Inherited 'build' options: --apple_platform_type=macos --define open_source_build=true --define=use_fast_cpp_protos=false --define=tensorflow_enable_mlir_generated_gpu_kernels=0 --define=allow_oversize_protos=true --spawn_strategy=standalone -c opt --announce_rc --define=grpc_no_ares=true --config=short_logs --config=v2INFO: Reading rc options for 'test' from /Users/scottzhu/workspace/keras/.bazelrc: 'test' options: --define open_source_build=true --define=use_fast_cpp_protos=false --config=v2INFO: Found applicable config definition build:short_logs in file /Users/scottzhu/workspace/keras/.bazelrc: --output_filter=DONT_MATCH_ANYTHINGINFO: Found applicable config definition build:v2 in file /Users/scottzhu/workspace/keras/.bazelrc: --define=tf_api_version=2 --action_env=TF2_BEHAVIOR=1INFO: Found applicable config definition build:v2 in file /Users/scottzhu/workspace/keras/.bazelrc: --define=tf_api_version=2 --action_env=TF2_BEHAVIOR=1INFO: Analyzed target //keras:backend_test (0 packages loaded, 0 targets configured).INFO: Found 1 test target...Target //keras:backend_test up-to-date: bazel-bin/keras/backend_testINFO: Elapsed time: 45.535s, Critical Path: 45.26sINFO: 19 processes: 19 local.INFO: Build completed successfully, 20 total actions//keras:backend_test PASSED in 45.2s Stats over 4 runs: max = 45.2s, min = 40.0s, avg = 41.5s, dev = 2.1sINFO: Build completed successfully, 20 total actions

          最后為大家推薦一篇 Keras 的中文教程,它由 Keras 團隊軟件工程師金海峰翻譯自官網(wǎng)教程,詳細介紹了 Keras 和 TensorFlow 的基本用法和核心概念,并通過變分自編碼器(Variational Autoencoder)和超網(wǎng)絡(Hypernetwork)這兩個完整的例子展示了如何在實踐中使用 Keras。

          教程知乎鏈接:https://zhuanlan.zhihu.com/p/380472423

          參考鏈接:
          https://github.com/qlzh727
          https://zhuanlan.zhihu.com/p/364670970
          https://www.jiqizhixin.com/articles/2021-04-02-6
          https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests


          猜您喜歡:


          等你著陸!【GAN生成對抗網(wǎng)絡】知識星球!  

          CVPR 2021 | GAN的說話人驅(qū)動、3D人臉論文匯總

          CVPR 2021 | 圖像轉(zhuǎn)換 今如何?幾篇GAN論文

          【CVPR 2021】通過GAN提升人臉識別的遺留難題

          CVPR 2021生成對抗網(wǎng)絡GAN部分論文匯總

          經(jīng)典GAN不得不讀:StyleGAN

          最新最全20篇!基于 StyleGAN 改進或應用相關論文

          超100篇!CVPR 2020最全GAN論文梳理匯總!

          附下載 | 《Python進階》中文版

          附下載 | 經(jīng)典《Think Python》中文版

          附下載 | 《Pytorch模型訓練實用教程》

          附下載 | 最新2020李沐《動手學深度學習》

          附下載 | 《可解釋的機器學習》中文版

          附下載 |《TensorFlow 2.0 深度學習算法實戰(zhàn)》

          附下載 | 超100篇!CVPR 2020最全GAN論文梳理匯總!

          附下載 |《計算機視覺中的數(shù)學方法》分享

          瀏覽 60
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  人人樉人人操 | 视频在线观看一区 | 欧美韩三级片 | 成人18禁秘 啪啪网站网站 | 亚洲第一成人在线视频 |