成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Keras正式從TensorFlow分離:結束API混亂與耗時編譯

新聞 前端
以后在本地運行 Keras Bazel 測試將不再花費幾小時,只需要幾分鐘。

 [[405983]]

對于深度學習領域的從業者而言,Keras 肯定不陌生,它是深度學習的主流框架之一。2015 年 3 月 27 日,谷歌軟件工程師、Keras 之父 Francois Chollet 在其 GitHub 上提交并公布了 Keras 的首個版本。作為使用純 Python 編寫的深度學習框架,Keras 的代碼更加簡單方便,適用于初學者。此外,Keras 具有很強的易擴展性,能夠直觀地定義神經網絡,函數式 API 的使用令用戶可以將層定義為函數。

[[405984]]

Keras 官網地址:https://keras.io/

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

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

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

Keras正式從TensorFlow分離:結束API混亂與耗時編譯

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

Keras 正式從 TensorFlow 代碼庫中分離

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

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

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

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

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

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

Keras正式從TensorFlow分離:結束API混亂與耗時編譯

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

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

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

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

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

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

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

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

Keras正式從TensorFlow分離:結束API混亂與耗時編譯

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

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

開發所需的工具

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

用于創建和測試 Keras 項目的 Bazel 工具和 Python;

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

設置和檢查本地工作區

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

Keras正式從TensorFlow分離:結束API混亂與耗時編譯

下載 Keras 代碼和設置虛擬環境

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

本地運行測試

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

  1. (venv_dir) scottzhu-macbookpro2:keras scottzhu$ bazel test -c opt keras:backend_test 
  2. WARNING: The following configs were expanded more than once: [v2]. For repeatable flags, repeats are counted twice and may lead to unexpected behavior. 
  3. INFO: Options provided by the client: 
  4.   Inherited 'common' options: --isatty=1 --terminal_columns=147 
  5. INFO: Reading rc options for 'test' from /Users/scottzhu/workspace/keras/.bazelrc: 
  6.   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=v2 
  7. INFO: Reading rc options for 'test' from /Users/scottzhu/workspace/keras/.bazelrc: 
  8.   'test' options: --define open_source_build=true --define=use_fast_cpp_protos=false --config=v2 
  9. INFO: Found applicable config definition build:short_logs in file /Users/scottzhu/workspace/keras/.bazelrc: --output_filter=DONT_MATCH_ANYTHING 
  10. INFO: Found applicable config definition build:v2 in file /Users/scottzhu/workspace/keras/.bazelrc: --define=tf_api_version=2 --action_env=TF2_BEHAVIOR=1 
  11. INFO: Found applicable config definition build:v2 in file /Users/scottzhu/workspace/keras/.bazelrc: --define=tf_api_version=2 --action_env=TF2_BEHAVIOR=1 
  12. INFO: Analyzed target //keras:backend_test (0 packages loaded, 0 targets configured). 
  13. INFO: Found 1 test target... 
  14. Target //keras:backend_test up-to-date: 
  15.   bazel-bin/keras/backend_test 
  16. INFO: Elapsed time: 45.535s, Critical Path: 45.26s 
  17. INFO: 19 processes: 19 local. 
  18. INFO: Build completed successfully, 20 total actions 
  19. //keras:backend_test                                                     PASSED in 45.2s 
  20.   Stats over 4 runs: max = 45.2s, min = 40.0s, avg = 41.5s, dev = 2.1s 
  21.  
  22.  
  23. INFO: Build completed successfully, 20 total actions 

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

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

 

責任編輯:張燕妮 來源: 機器之心Pro
相關推薦

2017-08-25 10:26:04

業務邏輯程序員

2011-10-28 10:04:18

API

2012-09-18 09:50:39

PC時代

2020-10-23 07:39:39

深度學習PyTorch代碼

2017-06-06 10:14:55

KerasTensorFlow深度學習

2012-07-09 08:57:10

云安全身份訪問和控制

2022-06-29 09:00:00

前端圖像分類模型SQL

2021-02-03 13:56:09

KerasAPI深度學習

2022-08-24 09:00:00

深度可分離卷積運算模型

2021-11-05 15:28:55

TensorFlow數據機器學習

2017-10-11 06:04:04

2017-10-30 13:34:22

深度學習KerasAPI

2019-08-06 08:20:07

編譯器工具開發者

2022-10-20 11:30:38

VMware

2011-09-07 10:53:24

Google+

2023-05-14 22:35:24

TensorFlowKeras深度學習

2018-05-15 08:44:44

TensorFlowKeras內存

2018-10-15 10:08:53

程序員技能深度學習

2023-03-03 07:34:05

2024-11-08 09:06:16

agentJava探針
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 最新中文字幕 | 久久精品这里 | 91精品国产综合久久久久久丝袜 | a免费在线| 国产成人在线播放 | 国产毛片毛片 | 91中文视频| 综合视频在线 | 51ⅴ精品国产91久久久久久 | 国产精品视频一二三区 | 在线免费看黄 | 最近最新中文字幕 | 欧美日韩国产精品一区二区 | 久久久久久国产精品免费免费狐狸 | 欧美午夜激情在线 | 午夜在线免费观看视频 | 免费黄色a视频 | 婷婷丁香在线视频 | 91成人免费看 | 亚洲毛片在线观看 | 国产精品久久久久久久久久久久久久 | 爱综合 | 免费在线黄 | 日本不卡一区 | 久久综合久久自在自线精品自 | 欧美日韩综合精品 | 久久精品免费观看 | 久久爱综合 | 91黄色片免费看 | 亚洲精品永久免费 | 亚洲福利在线观看 | 日本一二区视频 | 成人欧美一区二区三区在线观看 | 亚洲国产高清在线观看 | 国产成人精品免费视频大全最热 | 亚洲欧美一区二区三区国产精品 | 九九综合| 91综合在线观看 | 日韩在线 | 日韩视频在线免费观看 | 99精品免费 |