中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

官方解讀:TensorFlow 2.0中即將到來的所有新特性

2019-01-17    來源:raincent

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬Linux鏡像隨意使用

四天前,TensorFlow 2.0 預(yù)覽版終于上線了,看來穩(wěn)定版距離我們也不會(huì)太遠(yuǎn)——按照官方說法會(huì)是今年的第一個(gè)季度。近日,TensorFlow 官方博客全面介紹了 2.0 版的所有新特性。為了讓開發(fā)者們簡單高效地搭建模型,2.0 版本經(jīng)過了大幅度重建。

作為最流行的深度學(xué)習(xí)框架,TensorFlow 已經(jīng)成長為全球使用最廣泛的機(jī)器學(xué)習(xí)平臺(tái)。目前,TensorFlow 的開發(fā)者社區(qū)包括研究者、開發(fā)者和企業(yè)等。

去年 11 月,TensorFlow 慶祝了自己的三歲生日。不久之后,也將迎來另一個(gè)重要里程碑——TensorFlow 2.0。

TensorFlow 2.0 將專注于簡潔性和易用性,主要升級(jí)方向包括:

♦ 使用 Keras 和 eager execution 輕松構(gòu)建模型。

♦ 在任意平臺(tái)上實(shí)現(xiàn)穩(wěn)健的生產(chǎn)環(huán)境模型部署。

♦ 為研究提供強(qiáng)大的實(shí)驗(yàn)工具。

♦ 通過清理廢棄的 API 和減少重復(fù)來簡化 API。

谷歌表示,在過去幾年里,TensorFlow 增加了很多組件。通過 TensorFlow 2.0 版本的大幅度重建,這些功能將被打包成為一個(gè)綜合平臺(tái),支持從訓(xùn)練到部署的整個(gè)機(jī)器學(xué)習(xí)工作流程。下圖簡要展示了 TensorFlow 2.0 的新架構(gòu):

 

 

Note:雖然上圖的訓(xùn)練部分側(cè)重 Python API,但是 TensorFlow.js 也支持訓(xùn)練模型。TensorFlow 2.0 對(duì)其他語言也有不同程度的支持,包括 Swift、R 語言和 Julia。

輕松構(gòu)建模型

TensorFlow 團(tuán)隊(duì)近期宣布 Keras API 將成為 TensorFlow 中構(gòu)建和訓(xùn)練模型的核心高級(jí) API。Keras API 使得使用 TensorFlow 開啟項(xiàng)目變得簡單。重要的是,Keras 提供多個(gè)模型構(gòu)建 API(Sequential、Functional 和 Subclassing),這樣你可以選擇適合自己項(xiàng)目的抽象級(jí)別。TensorFlow 的實(shí)現(xiàn)有多項(xiàng)增強(qiáng),包括可直接迭代和直觀調(diào)試的 eager execution,以及用于構(gòu)建可擴(kuò)展輸入流程的 tf.data。

以下是工作流程示例(在接下里的幾個(gè)月中,我們將努力更新以下鏈接的指南):

用 tf.data 加載數(shù)據(jù)。用 tf.data 創(chuàng)建的輸入線程讀取訓(xùn)練數(shù)據(jù)。使用 tf.feature_column 描述特征特性,例如分段和特征交叉。還支持從內(nèi)存數(shù)據(jù)(例如 NumPy)中方便地輸入。

使用 tf.keras、Premade Estimators 構(gòu)建、訓(xùn)練和驗(yàn)證模型。Keras 與 TensorFlow的其余部分緊密集成,因此你可以隨時(shí)訪問 TensorFlow 的功能。一組標(biāo)準(zhǔn)的打包模型(例如,線性或邏輯回歸、梯度增強(qiáng)樹、隨機(jī)森林)也可以直接使用(使用 tf.estimator API 實(shí)現(xiàn))。如果你不想從頭開始訓(xùn)練一個(gè)模型,你很快就能通過 TensorFlow Hub 的模塊利用遷移學(xué)習(xí)來訓(xùn)練 Keras 或 Estimator 模型。

用 eager execution 運(yùn)行和調(diào)試,然后在圖形上使用 tf.function。TensorFlow 2.0 默認(rèn)用 eager execution 運(yùn)行,以便于輕松使用和順利調(diào)試。此外,tf.function 注釋透明地將 Python 程序轉(zhuǎn)換成 TensorFlow 圖。這個(gè)過程保留了 TensorFlow1.x 基于圖形執(zhí)行的所有優(yōu)點(diǎn):性能優(yōu)化、遠(yuǎn)程執(zhí)行,以及序列化、導(dǎo)出和部署的能力,同時(shí)增加了用簡單 Python 表達(dá)程序的靈活性和易用性。

使用分布式策略進(jìn)行分布式訓(xùn)練。對(duì)于大部分 ML 訓(xùn)練任務(wù)來說,Distribution Strategy API 使得在不同的硬件配置上分布和訓(xùn)練模型變得很容易,而無需改變模型定義。由于 TensorFlow 為一系列硬件加速器(如 CPU、GPU、TPU)提供支持,你可以將訓(xùn)練工作負(fù)載分配給單節(jié)點(diǎn)/多加速器以及多節(jié)點(diǎn)/多加速器配置,包括 TPU Pods。盡管這個(gè) API 支持多種群集配置,但提供了在本地或云環(huán)境中的 Kubernete 集群上部署訓(xùn)練的模板。

導(dǎo)出至 SavedModel。TensorFlow 將在 SavedModel 上標(biāo)準(zhǔn)化,來作為 TentsorFlow Serving、TensorFlow Lite、TensorFlow.js、TentsorFlow Hub 等的交換格式。

在任意平臺(tái)上實(shí)現(xiàn)穩(wěn)健的生產(chǎn)環(huán)境模型部署

TensorFlow 總是會(huì)提供直接的產(chǎn)品化路徑。不論是在服務(wù)器、邊緣設(shè)備還是網(wǎng)頁上,也不論你使用的是什么語言或平臺(tái),TensorFlow 總能讓你輕易訓(xùn)練和部署模型。在 TensorFlow 2.0 中,我們正在通過標(biāo)準(zhǔn)化交換格式和調(diào)整 API 來改進(jìn)跨平臺(tái)和組件的兼容性和奇偶性(parity)。

TensorFlow Serving:允許通過 HTTP/REST 或 gRPC /協(xié)議緩沖區(qū)為模型提供服務(wù)的 TensorFlow 庫。

TensorFlow Lite:TensorFlow 針對(duì)移動(dòng)和嵌入式設(shè)備的輕量級(jí)解決方案提供了在 Android、iOS 和嵌入式系統(tǒng)(如 Raspberry Pi 和 Edge TPU)上部署模型的能力。

TensorFlow.js:支持在 JavaScript 環(huán)境中部署模型,例如通過 Node.js. TensorFlow.js 在 web 瀏覽器或服務(wù)器端部署模型,還支持在 JavaScript 中定義模型和在 web 瀏覽器中使用類似 Keras 的 API 直接訓(xùn)練模型。

TensorFlow 還支持其它語言(由更廣泛的社區(qū)維護(hù)),包括:C、Java、Go、C#、Rust、Julia、R 等等。

為研究提供強(qiáng)大的實(shí)驗(yàn)工具

TensorFlow 使得從概念到代碼和從模型到出版物中獲取新想法變得更加容易。TensorFlow 2.0 結(jié)合了很多功能,能夠在不犧牲速度或性能的情況下定義和訓(xùn)練最先進(jìn)的模型:

Keras Functional API 和 Model Subclassing API:允許創(chuàng)建復(fù)雜的拓?fù)洌ㄊ褂脷埐顚、自定義多輸入/輸出模型以及強(qiáng)制編寫的正向傳遞。

自定義訓(xùn)練邏輯:用 tf.GradientTape 和 tf.custom_gradient 對(duì)梯度計(jì)算進(jìn)行細(xì)粒度控制。

為了獲得更強(qiáng)的靈活性和控制,低級(jí) TensorFlow API 始終可用,并與更高級(jí)別的抽象一起工作,以實(shí)現(xiàn)完全可定制的邏輯。

TensorFlow 2.0 新添了一些附加功能,讓研究人員和高級(jí)用戶可以使用豐富的插件來進(jìn)行實(shí)驗(yàn),如 Ragged Tensors、TensorFlow Probability、Tensor2Tensor 等。

除了這些功能之外,TensorFlow 還提供了易于制作原型和調(diào)試的 eager execution,可以大規(guī)模訓(xùn)練的 Distribution Strategy API 和 AutoGraph,以及對(duì) TPU 的支持,使 TensorFlow 2.0 成為一個(gè)易于使用、可定制和高度可擴(kuò)展的平臺(tái),用于展開最先進(jìn)的 ML 研究并將該研究轉(zhuǎn)化為生產(chǎn)流水線。

TensorFlow 1.x 和 2.0 的區(qū)別

自我們開源 TensorFlow 以來,到現(xiàn)在已經(jīng)發(fā)展出很多個(gè)版本和 API 迭代。隨著 ML 的快速發(fā)展,這個(gè)平臺(tái)也有了巨大的進(jìn)展,現(xiàn)在支持很多具有不同需求的不同用戶。有了 TensorFlow 2.0,我們有機(jī)會(huì)基于語義版本控制來清理和模塊化平臺(tái)。

此次的重大改變包括:

♦ 刪除 queue runner 以支持 tf.data。

♦ 刪除圖形集合。

♦ 變量處理方式的變化。

♦ API 符號(hào)的移動(dòng)和重命名。

此外,tf.contrib 將從核心 TensorFlow 存儲(chǔ)庫和構(gòu)建過程中移除。TensorFlow 的 contrib 模塊已經(jīng)超出了單個(gè)存儲(chǔ)庫可以維護(hù)和支持的范圍。較大的項(xiàng)目最好單獨(dú)維護(hù),而較小的擴(kuò)展將逐漸移至核心 TensorFlow 代碼。一個(gè)特別興趣小組(SIG)已經(jīng)成立,以維持和進(jìn)一步發(fā)展一些更重要的未來 contrib 項(xiàng)目。如果你有興趣貢獻(xiàn),請(qǐng)聯(lián)系以下 RFC:

https://github.com/tensorflow/community/pull/37

兼容性和持續(xù)性

為了簡化向 TensorFlow 2.0 的過渡,將會(huì)有一個(gè)轉(zhuǎn)化工具來更新 TensorFlow 1.x Python 代碼,以使用 TensorFlow 2.0 兼容的 API,或標(biāo)記代碼無法自動(dòng)轉(zhuǎn)換的情況。

不是所有的變化都可以完全自動(dòng)化進(jìn)行。例如,一些被棄用的 API 沒有直接的等效物。這也是我們要引入 tensorflow.compat.v1 兼容性模塊的原因,該模塊支持完整的 TensorFlow 1.x API(包括 tf.contrib)。該模塊將會(huì)在 TensorFlow 2.x 的時(shí)間線內(nèi)得到維護(hù),并允許用 TensorFlow 1.x 編寫的代碼保持功能。

此外,SavedModels 或存儲(chǔ)的 GraphDefs 將向后兼容。用 TensorFlow 1.x 保存的 SavedModels 將繼續(xù)在 2.x 中加載和執(zhí)行。然而,2.0 中的更改意味著原始檢查點(diǎn)中的變量名可能會(huì)更改,所以使用 2.0 之前的檢查點(diǎn)而代碼已轉(zhuǎn)化為 2.0 時(shí),可能無法保證有效。詳情可參閱 TensorFlow 2.0 指南:

https://github.com/tensorflow/docs/blob/master/site/en/r2/guide/effective_tf2.md

我們相信,TensorFlow 2.0 將為社區(qū)帶來巨大的利益,我們也盡了最大的努力來讓轉(zhuǎn)化變得簡單。但是,我們也發(fā)現(xiàn)遷移現(xiàn)在的線程需要時(shí)間,我們非常重視社區(qū)當(dāng)下在學(xué)習(xí)和使用 TensorFlow 方面的投入。我們將在最近的 1.x 版本中提供 12 個(gè)月的安全補(bǔ)丁,以為現(xiàn)有的用戶提供足夠的時(shí)間來過渡和利用 TensorFlow 2.0。

TensorFlow 2.0 時(shí)間線

TensorFlow 2.0 于今年年初發(fā)布預(yù)覽版。你現(xiàn)在已經(jīng)可以通過使用 tf.keras 、eager execution、預(yù)打包模型和部署庫來開發(fā) TensorFlow 2.0 了。Distribution Strategy API 也已經(jīng)部分可用。

原文鏈接:https://medium.com/tensorflow/whats-coming-in-tensorflow-2-0-d3663832e9b8?linkId=62351082

標(biāo)簽: 安全 代碼 服務(wù)器 服務(wù)器端 谷歌 開發(fā)者

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:一份關(guān)于機(jī)器學(xué)習(xí)端到端學(xué)習(xí)指南

下一篇:數(shù)據(jù)結(jié)構(gòu)與算法必備書單,我們都幫你整理好了