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

完善資料讓更多小伙伴認(rèn)識你,還能領(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 文檔團(tuán)隊(duì)想要分享一些用于管理大量 Jupyter Notebook 的工具。

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

隨著 TensorFlow 生態(tài)系統(tǒng)的不斷發(fā)展,TensorFlow 文檔本身已發(fā)展成一個(gè)龐大的軟件項(xiàng)目。我們在 tensorflow.google.cn 上發(fā)布了約 270 篇 Notebook 的指南和教程,這些內(nèi)容全部經(jīng)過了測試,并在 GitHub 上提供源碼。同時(shí)我們還另外發(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ā)布了首個(gè) Notebook,當(dāng)時(shí)社區(qū)的反響非常好。在 Google Colab 中,您在瀏覽文檔的同時(shí),支持直接交互式地運(yùn)行樣例。實(shí)際上用戶也非常喜歡這一點(diǎn)。此設(shè)置可讓您直接在瀏覽器中運(yùn)行并試驗(yàn)我們的指南和教程,而無需在機(jī)器上安裝任何軟件。我們在 TensorFlow 官網(wǎng)上集成 Colab 后,新手想要入門變得更加容易了,同時(shí)這也改變了我們指導(dǎo) TensorFlow 入門的方式:借助 Jupyter Notebook 實(shí)現(xiàn)更直觀易懂的教程。其他機(jī)器學(xué)習(xí)項(xiàng)目也將緊隨其后。您只需使用下面的網(wǎng)址,便可將 Notebook 直接從 GitHub 加載到 Google Colab:

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

對于計(jì)算密集型任務(wù),Colab 也免費(fèi)提供了 TPU 和 GPU。TensorFlow 文檔(如:此快速入門教程)中有一些按鈕,可以鏈接到文檔在 GitHub 中的 Notebook 源代碼和其對應(yīng)的 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é)作

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

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

使用 GitLocalize 翻譯 Notebook

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

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

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

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

TensorFlow 文檔 Notebook 工具

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

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

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

除了上述優(yōu)勢,將 Jupyter Notebook 作為源代碼進(jìn)行管理也面臨著一些挑戰(zhàn)。為讓代碼貢獻(xiàn)者和項(xiàng)目維護(hù)者更輕松地進(jìn)行 PR 和 Review,我們創(chuàng)建了 TensorFlow 文檔 Notebook 工具,以通過持續(xù)集成 (Continuous Integration) 測試自動執(zhí)行常規(guī)修復(fù)并將對應(yīng)的 issue 傳達(dá)給貢獻(xiàn)者。您可以直接從 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ù)嵌入到文件中。這些不必要的更改可能會導(dǎo)致 PR 中的內(nèi)容混亂,以致于很難進(jìn)行內(nèi)容 Review。解決辦法是使用自動格式工具來輸出一致的 Notebook JSON。

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

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

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

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

進(jìn)行持續(xù)集成測試時(shí),我們可以使用 --test 標(biāo)記。使用這個(gè)標(biāo)記后,如果 Notebook 未設(shè)置好格式,系統(tǒng)會返回錯(cuò)誤,而不是更新 Notebook。我們在我們其中一個(gè) GitHub 操作工作流的持續(xù)集成測試中使用了該標(biāo)記。通過后續(xù)集成機(jī)器人,格式補(bǔ)丁程序?qū)⒖梢宰詣討?yīng)用于貢獻(xiàn)者的 PR 。

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

nblint

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

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

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

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

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

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

Lint 測試可以包含關(guān)聯(lián)的修復(fù)工具,以輕松更新 Notebook 來自動進(jìn)行樣式檢查。使用 --fix 參數(shù)以應(yīng)用 lint 修復(fù),從而覆蓋 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 的忠實(shí)粉絲。通過將 Notebook 和 Google Colab 結(jié)合,我們可以對指南、教程和翻譯內(nèi)容進(jìn)行驗(yàn)證,簡化了 TensorFlow 原本的學(xué)習(xí)旅程和擴(kuò)展大型開源文檔項(xiàng)目的方式。我們希望通過分享一些工具,可以為其他想要使用 Notebook 發(fā)布文檔的開放源代碼項(xiàng)目提供幫助。

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

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

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

GitLocalize 項(xiàng)目
https://gitlocalize.com/tensorflow/docs-l10n

特別感謝 Mark Daoust、Wolff Dobson、Yash Katariya、TensorFlow 文檔團(tuán)隊(duì),以及所有 TensorFlow 文檔作者、審核人員、貢獻(xiàn)者和支持者。

責(zé)任編輯:lq

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

    關(guān)注

    96

    文章

    2945

    瀏覽量

    66752
  • GitHub
    +關(guān)注

    關(guān)注

    3

    文章

    471

    瀏覽量

    16450
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    329

    瀏覽量

    60536

原文標(biāo)題:Jupyter Notebook 工具分享,增強(qiáng) TensorFlow 文檔體驗(yàn)

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

收藏 人收藏

    評論

    相關(guān)推薦

    工業(yè)物聯(lián)網(wǎng)系統(tǒng)的組成部分

    、控制系統(tǒng)和企業(yè)級應(yīng)用軟件,實(shí)現(xiàn)了工業(yè)生產(chǎn)和運(yùn)營過程的數(shù)字化、智能化和自動化。本文將詳細(xì)介紹工業(yè)物聯(lián)網(wǎng)系統(tǒng)的組成部分,包括感知層、網(wǎng)絡(luò)層、平臺層和應(yīng)用層,以及它們在工業(yè)物聯(lián)網(wǎng)系統(tǒng)中的重要作用。 一、感知層 感知層是工業(yè)物聯(lián)網(wǎng)系統(tǒng)的基礎(chǔ),負(fù)責(zé)采集物理世界的信息
    的頭像 發(fā)表于 10-14 14:19 ?289次閱讀
    工業(yè)物聯(lián)網(wǎng)系統(tǒng)的<b class='flag-5'>組成部分</b>

    物聯(lián)網(wǎng)泵房的功能和組成部分

    隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,物聯(lián)網(wǎng)泵房作為智慧水務(wù)的重要組成部分,正逐步在供水、消防、工業(yè)、農(nóng)業(yè)等多個(gè)領(lǐng)域發(fā)揮重要作用。物聯(lián)網(wǎng)泵房通過集成先進(jìn)的信息技術(shù)、自動化控制技術(shù)和物聯(lián)網(wǎng)技術(shù),實(shí)現(xiàn)了對泵房
    的頭像 發(fā)表于 10-09 10:01 ?186次閱讀

    GUTOR備品備件主要包括哪幾個(gè)組成部分?

    GUTOR備品備件主要包括哪幾個(gè)組成部分?
    發(fā)表于 09-12 17:19

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

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

    同步升壓電路的基本原理和組成部分

    同步升壓電路是一種重要的電路設(shè)計(jì)方案,它通過將輸入電壓轉(zhuǎn)換為更高的輸出電壓,廣泛應(yīng)用于電源模塊、照明設(shè)備、電動汽車充電系統(tǒng)、太陽能和風(fēng)能儲能系統(tǒng)以及便攜式電子產(chǎn)品等領(lǐng)域。以下將詳細(xì)闡述同步升壓電路的基本原理和組成部分。
    的頭像 發(fā)表于 08-28 14:43 ?682次閱讀

    基極電流的組成部分有哪些

    NPN型BJT中,發(fā)射極和集電極是N型半導(dǎo)體,而基極是P型半導(dǎo)體。在PNP型BJT中,情況則相反。 1. BJT的基本工作原理 在討論基極電流的組成部分之前,我們首先需要了解BJT的基本工作原理。BJT是一種電流控制型器件,其工作原理基于PN結(jié)的正向和反向偏置特性。 正向偏置 :當(dāng)發(fā)射極
    的頭像 發(fā)表于 07-18 15:56 ?511次閱讀

    lp模型的要素、組成部分及特征

    。本文將介紹線性規(guī)劃模型的要素、組成部分及特征。 一、線性規(guī)劃模型的要素 目標(biāo)函數(shù)(Objective Function):目標(biāo)函數(shù)是線性規(guī)劃模型的核心,用于描述需要優(yōu)化的目標(biāo)。目標(biāo)函數(shù)通常是一個(gè)線性函數(shù),表示為: Z = c1x1 + c2x2 + ... + cnxn 其中,Z是目標(biāo)函數(shù)值,c
    的頭像 發(fā)表于 07-09 10:10 ?998次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)的組成部分有哪些

    卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNNs)是一種深度學(xué)習(xí)模型,廣泛應(yīng)用于圖像識別、視頻分析、自然語言處理等領(lǐng)域。本文將詳細(xì)介紹卷積神經(jīng)網(wǎng)絡(luò)的組成部分,包括
    的頭像 發(fā)表于 07-03 09:31 ?1036次閱讀

    智能工廠的組成部分

    智慧工廠是工業(yè)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、人工智能和自動化技術(shù)的高度集成應(yīng)用,其目標(biāo)是實(shí)現(xiàn)生產(chǎn)過程的智能化和效率最大化。一個(gè)典型的智慧工廠由以下幾個(gè)核心組成部分構(gòu)成: 1. 自動化生產(chǎn)設(shè)備:包括機(jī)器人、智能
    的頭像 發(fā)表于 06-16 10:50 ?1982次閱讀

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

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

    信號采集系統(tǒng)的作用及組成部分

    信號采集系統(tǒng)是一種用于獲取、處理和分析各種信號的電子設(shè)備。它廣泛應(yīng)用于工業(yè)、科研、醫(yī)療、通信等領(lǐng)域。本文將詳細(xì)介紹信號采集系統(tǒng)的作用、組成部分以及各個(gè)部分的功能。 一、信號采集系統(tǒng)的作用 數(shù)據(jù)獲取
    的頭像 發(fā)表于 05-31 14:21 ?1728次閱讀

    頻率計(jì)的基本概念和組成部分

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

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

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

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

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

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

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