0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Jupyter Notebook是TensorFlow文檔架構(gòu)的重要組成部分

Tensorflowers ? 來源:TensorFlow ? 作者:TensorFlow ? 2020-11-19 09:25 ? 次閱讀

Jupyter Notebook 是 TensorFlow 文檔架構(gòu)的重要組成部分。Jupyter Notebook 是 tensorflow.google.cn 上發(fā)布文檔的首要格式,因此在 JupyterCon 2020 大會上,TensorFlow 文檔團隊想要分享一些用于管理大量 Jupyter Notebook 的工具。

Jupyter Notebook
https://jupyter-notebook.readthedocs.io/

隨著 TensorFlow 生態(tài)系統(tǒng)的不斷發(fā)展,TensorFlow 文檔本身已發(fā)展成一個龐大的軟件項目。我們在 tensorflow.google.cn 上發(fā)布了約 270 篇 Notebook 的指南和教程,這些內(nèi)容全部經(jīng)過了測試,并在 GitHub 上提供源碼。同時我們還另外發(fā)布了約 400 篇翻譯成多種語言的 Notebook,這些 Notebook 像其英文版本一樣也都經(jīng)過了測試。為了管理這些內(nèi)容,我們開發(fā)了可配合 Jupyter Notebook 使用的工具。

GitHub
https://github.com/tensorflow/docs

Notebook
https://github.com/tensorflow/docs-l10n

兩年前,我們在 2018 年 TensorFlow 開發(fā)者峰會上通過 TensorFlow官網(wǎng)(tensorflow.google.cn)發(fā)布了首個 Notebook,當時社區(qū)的反響非常好。在 Google Colab 中,您在瀏覽文檔的同時,支持直接交互式地運行樣例。實際上用戶也非常喜歡這一點。此設置可讓您直接在瀏覽器中運行并試驗我們的指南和教程,而無需在機器上安裝任何軟件。我們在 TensorFlow 官網(wǎng)上集成 Colab 后,新手想要入門變得更加容易了,同時這也改變了我們指導 TensorFlow 入門的方式:借助 Jupyter Notebook 實現(xiàn)更直觀易懂的教程。其他機器學習項目也將緊隨其后。您只需使用下面的網(wǎng)址,便可將 Notebook 直接從 GitHub 加載到 Google Colab:

https://colab.research.google.com/github//blob///notebook.ipynb

對于計算密集型任務,Colab 也免費提供了 TPU 和 GPU。TensorFlow 文檔(如:此快速入門教程)中有一些按鈕,可以鏈接到文檔在 GitHub 中的 Notebook 源代碼和其對應的 Google Colab 中。

Colab
https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/tutorials/quickstart/beginner.ipynb

此快速入門教程
https://tensorflow.google.cn/tutorials/quickstart/advanced

GitHub
https://github.com/tensorflow/docs/blob/master/site/en/tutorials/quickstart/advanced.ipynb

更好地協(xié)作

軟件文檔是一項團隊工作,而 Notebook 是一種富有表現(xiàn)力的專注于手把手教程式的格式,它可以讓工程師和作者搭建出交互式演示,更直觀的了解所學內(nèi)容。Jupyter Notebook 是 JSON 格式的文件,包含文本單元和代碼單元,通常按照從上到下的順序執(zhí)行。Notebook 是一種非常出眾的交流編程理念的方式,而且在某些規(guī)程約束下,也可用于分享可重復的結(jié)果。

在 TensorFlow 團隊中,Notebook 可讓工程師、技術(shù)作者和開放源代碼貢獻者在同一文檔中協(xié)作,而無需再費力處理單獨的代碼示例及其發(fā)布說明。我們選擇編寫 TensorFlow Notebook,這樣一來文檔即代碼,且易于共享和測試。

使用 GitLocalize 翻譯 Notebook

TensorFlow 團隊十分重視文檔在不同地區(qū)可讀性。TensorFlow 社區(qū)翻譯項目經(jīng)過去兩年的發(fā)展,已支持 10 種語言。Translation Sprints 活動是開源文檔項目與社區(qū)展開互動的絕佳方式。

TensorFlow 社區(qū)翻譯項目
https://github.com/tensorflow/docs-l10n

為讓更多開發(fā)者能夠訪問 TensorFlow 文檔,我們與 Alconost 合作,在其 GitLocalize 翻譯工具中添加了對 Jupyter Notebook 的支持。GitLocalize 可輕松創(chuàng)建 Notebook 翻譯版本,并可輕松與源文件同步文檔更新。開放源代碼貢獻者可以通過 TensorFlow GitLocalize 項目(gitlocalize.com/tensorflow/docs-l10n) 提交 PR 并提供評論。

GitLocalize 對 Jupyter Notebook 的支持不僅能讓 TensorFlow 受益,現(xiàn)在該工具也可用于所有在 GitHub 中使用 Notebook 的開源翻譯項目。

TensorFlow 文檔 Notebook 工具

將 Jupyter Notebook 并入我們的文檔架構(gòu)后,我們將可以運行并測試所有已發(fā)布的指南和教程,以確保站點上的一切內(nèi)容均適用于新發(fā)布的 TensorFlow 版本,無論使用的是穩(wěn)定版還是 Nightly 軟件包。

指南
https://tensorflow.google.cn/guide

教程
https://tensorflow.google.cn/tutorials

除了上述優(yōu)勢,將 Jupyter Notebook 作為源代碼進行管理也面臨著一些挑戰(zhàn)。為讓代碼貢獻者和項目維護者更輕松地進行 PR 和 Review,我們創(chuàng)建了 TensorFlow 文檔 Notebook 工具,以通過持續(xù)集成 (Continuous Integration) 測試自動執(zhí)行常規(guī)修復并將對應的 issue 傳達給貢獻者。您可以直接從 tensorflow/docs GitHub 代碼庫安裝 tensorflow-docs pip 軟件包。

$ python3 -m pip install -U git+https://github.com/tensorflow/docs

TensorFlow 文檔 Notebook 工具
https://github.com/tensorflow/docs/tree/master/tools/tensorflow_docs/tools

nbfmt

盡管 Jupyter Notebook 格式很簡單,但 Notebook 創(chuàng)作環(huán)境通常存在與 JSON 格式不一致的情況,或者會將自己的元數(shù)據(jù)嵌入到文件中。這些不必要的更改可能會導致 PR 中的內(nèi)容混亂,以致于很難進行內(nèi)容 Review。解決辦法是使用自動格式工具來輸出一致的 Notebook JSON。

nbfmt 是一種 Notebook 格式工具,其首選的是 TensorFlow 文檔 Notebook 樣式。該工具可以設置 JSON 格式,去除不必要的元數(shù)據(jù),并保留我們集成中所要使用的一些 Colab 特定字段。執(zhí)行以下代碼以運行該工具:

$ python3 -m tensorflow_docs.tools.nbfmt [options] notebook.ipynb

對于 TensorFlow 文檔項目,沒有輸出單元的 Notebook 保存后將被執(zhí)行并測試;有輸出單元的 Notebook 保存后將按原樣發(fā)布。我們更希望除去輸出以測試我們的 Notebook,但這兩種形式都可以使用 nbfmt。

TensorFlow 文檔 Notebook 樣式
https://tensorflow.google.cn/community/contribute/docs

進行持續(xù)集成測試時,我們可以使用 --test 標記。使用這個標記后,如果 Notebook 未設置好格式,系統(tǒng)會返回錯誤,而不是更新 Notebook。我們在我們其中一個 GitHub 操作工作流的持續(xù)集成測試中使用了該標記。通過后續(xù)集成機器人,格式補丁程序?qū)⒖梢宰詣討糜谪暙I者的 PR 。

GitHub 操作工作流
https://github.com/tensorflow/docs/blob/master/.github/workflows/ci.yaml

nblint

進行大規(guī)模 Review 的最簡單方式就是讓機器自動來操作。每個項目在審核過程中都會存在反復出現(xiàn)的問題,而解決樣式問題最有效的方式就是使用樣式指南(TensorFlow 偏好 Google 開發(fā)者文檔樣式指南)。對于大型項目,您能自動捕捉并進行修復的模式越多,用于實現(xiàn)其他目標的時間也就越多。

Google 開發(fā)者文檔樣式指南
https://developers.google.com/style

nblint 是一款 Notebook lint 工具,可針對文檔的樣式規(guī)則進行檢查。在 TensorFlow Notebook 中,我們用其來捕捉常見的樣式和結(jié)構(gòu)問題:

>$ python3 -m tensorflow_docs.tools.nblint [options] notebook.ipynb

Lint 是用于測試 Notebook 特定部分的斷言。系統(tǒng)會將這些 lint 收集到 樣式模塊中。默認情況下,nblint 會針對google和tensorflow樣式進行測試,而其他樣式模塊則可通過命令行進行加載。某些樣式的參數(shù)也需要通過命令行進行傳遞,例如,在對 TensorFlow 翻譯 Notebook 進行 lint 時設置不同的代碼庫:

$ python3 -m tensorflow_docs.tools.nblint --styles=tensorflow,tensorflow_docs_l10n --arg=repo:tensorflow/docs-1l0n notebook.ipynb

Lint 測試可以包含關(guān)聯(lián)的修復工具,以輕松更新 Notebook 來自動進行樣式檢查。使用 --fix 參數(shù)以應用 lint 修復,從而覆蓋 Notebook,例如:

$ python3 -m tensorflow_docs.tools.nblint --fix --arg=repo:tensorflow/docs notebook.ipynb

樣式模塊
https://github.com/tensorflow/docs/tree/master/tools/tensorflow_docs/tools/nblint/style

了解詳情

TensorFlow 是 Project Jupyter 和 Jupyter Notebook 的忠實粉絲。通過將 Notebook 和 Google Colab 結(jié)合,我們可以對指南、教程和翻譯內(nèi)容進行驗證,簡化了 TensorFlow 原本的學習旅程和擴展大型開源文檔項目的方式。我們希望通過分享一些工具,可以為其他想要使用 Notebook 發(fā)布文檔的開放源代碼項目提供幫助。

閱讀 TensorFlow 教程,然后在 Google Colab 中運行 Notebook。要為 TensorFlow 文檔項目貢獻內(nèi)容,請向我們的 GitLocalize 項目提交 PR 或翻譯 Review。

閱讀 TensorFlow 教程
https://tensorflow.google.cn/tutorials/quickstart/beginner

運行 Notebook
https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/tutorials/quickstart/beginner.ipynb

GitLocalize 項目
https://gitlocalize.com/tensorflow/docs-l10n

特別感謝 Mark Daoust、Wolff Dobson、Yash Katariya、TensorFlow 文檔團隊,以及所有 TensorFlow 文檔作者、審核人員、貢獻者和支持者。

責任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2942

    瀏覽量

    66444
  • GitHub
    +關(guān)注

    關(guān)注

    3

    文章

    461

    瀏覽量

    16234
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    327

    瀏覽量

    60413

原文標題:Jupyter Notebook 工具分享,增強 TensorFlow 文檔體驗

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式系統(tǒng)的硬件組成部分

    嵌入式系統(tǒng)的硬件組成部分是構(gòu)成其獨立運作能力的關(guān)鍵要素,這些部分協(xié)同工作,以實現(xiàn)對外部環(huán)境的感知、處理及響應。以下是對嵌入式系統(tǒng)硬件組成部分的詳細解析,涵蓋了處理器、存儲器、輸入輸出設備、接口與總線、電源管理、外圍設備與模塊以及
    的頭像 發(fā)表于 09-02 15:27 ?312次閱讀

    伺服系統(tǒng)的基本要求和組成部分

    伺服系統(tǒng),作為現(xiàn)代工業(yè)自動化和精密控制領(lǐng)域的重要組成部分,其性能的穩(wěn)定性和精確性對于整個系統(tǒng)的運行效率具有至關(guān)重要的影響。本文將詳細闡述伺服系統(tǒng)的定義、基本要求、基本組成以及其在現(xiàn)代工
    的頭像 發(fā)表于 06-05 15:24 ?379次閱讀

    頻率計的基本概念和組成部分

    在現(xiàn)代電子科技領(lǐng)域,信號的頻率測量是不可或缺的一部分。頻率計,作為專門用于測量信號頻率的電子設備,其精準度和可靠性對于電子設備的調(diào)試、維護和研發(fā)都至關(guān)重要。本文將詳細介紹頻率計的基本概念、工作原理、組成部分、應用領(lǐng)域、使用方法及
    的頭像 發(fā)表于 05-15 16:52 ?741次閱讀

    什么是EMSS?它包括哪些組成部分?

    、降低成本,并增強企業(yè)與員工、供應商和客戶之間的溝通與協(xié)作。 EMSS包括以下幾個主要的組成部分: 移動設備管理(Mobile Device Management,MDM):MDM是EMSS
    的頭像 發(fā)表于 02-03 09:56 ?2616次閱讀

    ZR機械手:未來工業(yè)自動化的重要組成部分

    ZR機械手:未來工業(yè)自動化的重要組成部分 隨著科技的飛速發(fā)展,工業(yè)自動化已成為制造業(yè)轉(zhuǎn)型升級的關(guān)鍵。在這個過程中,ZR機械手以其卓越的性能和創(chuàng)新的技術(shù),成為了未來工業(yè)自動化的重要組成部分
    的頭像 發(fā)表于 01-23 17:09 ?553次閱讀

    斷路器的組成部分和工作條件

    斷路器的組成部分和工作條件? 斷路器是電力系統(tǒng)中常見的一種電氣設備,用于開關(guān)電路,并保護電力設備免受過電流和電力故障的損害。它由許多組成部分組成,并有特定的工作條件。 斷路器的組成部分可以分為以下
    的頭像 發(fā)表于 01-22 13:48 ?1452次閱讀

    圖靈機模型的組成部分及作用

    圖靈機是圖靈提出的一種抽象的計算模型,被認為是計算機科學的基礎(chǔ)。在圖靈機模型中,包含了以下幾個組成部分:輸入帶、讀寫頭、狀態(tài)集合、轉(zhuǎn)移函數(shù)以及輸出。 首先,輸入帶是圖靈機的數(shù)據(jù)存儲器,可以看作是一條
    的頭像 發(fā)表于 12-20 17:23 ?2410次閱讀

    微力試驗機有哪些組成部分

    微力試驗機有哪些組成部分
    的頭像 發(fā)表于 11-29 09:25 ?528次閱讀
    微力試驗機有哪些<b class='flag-5'>組成部分</b>

    pcb電路板的組成部分

    一塊完整的pcb電路板的制作是需要經(jīng)過多道復雜的工序的,那么pcb電路板的組成部分有哪些呢?下面由小編簡單介紹一下。
    的頭像 發(fā)表于 11-21 16:16 ?1081次閱讀

    直流穩(wěn)壓電源的組成部分?設計原理是什么?

    直流穩(wěn)壓電源的組成部分?設計原理是什么? 直流穩(wěn)壓電源是一種能夠?qū)⒔涣麟娹D(zhuǎn)換為穩(wěn)定的直流電的電子設備。它為各種電子設備提供所需的電能,確保它們能夠安全可靠地工作。直流穩(wěn)壓電源由多個組成部分構(gòu)成,每個
    的頭像 發(fā)表于 11-16 11:23 ?2313次閱讀

    Imagination回應裁員:中國仍是業(yè)務戰(zhàn)略重要組成部分

    據(jù)報道,imagination回答說,他們正在采取必要的措施,以適應不斷變化的市場。imagination表示,中國仍然是公司業(yè)務戰(zhàn)略的重要組成部分,團隊將繼續(xù)努力為中國生態(tài)伙伴和客戶提供服務。
    的頭像 發(fā)表于 11-15 11:14 ?518次閱讀

    控制電纜組成部分

    控制電纜主要由以下幾部分組成: 導體:導體是控制電纜的基本組成部分,由單根或多根線芯組成。 絕緣層:絕緣層是控制電纜的重要組成,可以保護電纜
    的頭像 發(fā)表于 11-07 11:30 ?917次閱讀

    示波器的各個組成部分及其功能

    示波器的各個組成部分及其功能? 示波器是一種用于測量、觀測、顯示電信號波形的儀器,廣泛應用于電子工程、通信工程以及各種研究領(lǐng)域。它包括多個組成部分,每個部分都有其獨特的功能和作用。下面將詳細介紹
    的頭像 發(fā)表于 11-07 10:13 ?3896次閱讀

    BUCK電路輸入紋波電壓有哪些組成部分?輸入紋波電壓的最大值是多少?

    BUCK電路輸入紋波電壓有哪些組成部分?輸入紋波電壓的最大值是多少? BUCK電路是一種常見的降壓電路,其輸入端的紋波電壓是電路性能和穩(wěn)定性的重要指標之一,因此對于BUCK電路輸入端的紋波電壓需要
    的頭像 發(fā)表于 10-24 10:44 ?1059次閱讀

    什么是 Jupyter Notebook

    Jupyter Notebook 是一個 Web 應用程序,便于創(chuàng)建和共享文學化程序文檔,支持實時代碼、數(shù)學方程、可視化和 Markdown,其用途包括數(shù)據(jù)清理和轉(zhuǎn)換、數(shù)值模擬、統(tǒng)計建模、機器學習
    的頭像 發(fā)表于 10-16 11:15 ?3167次閱讀
    什么是 <b class='flag-5'>Jupyter</b> <b class='flag-5'>Notebook</b>