一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

TensorFlow 2.0中關(guān)于Keras的一些新功能和重大變化

電子工程師 ? 來(lái)源:lq ? 2018-12-12 09:55 ? 次閱讀

【導(dǎo)語(yǔ)】早在今年 8 月的時(shí)候,谷歌開(kāi)源戰(zhàn)略師 Edd Wilder-James 在一封公開(kāi)郵件中表示正在研發(fā) TensorFlow 2.0,并將于今年晚些時(shí)候發(fā)布預(yù)覽版。在 2018 年最后半個(gè)月的日子里,我們就要迎來(lái)了新版本的發(fā)布。

在之前的公開(kāi)郵件中,Edd Wilder-James 曾提到過(guò)一些 TensorFlow 2.0 的設(shè)計(jì)思想和重大改變:易用性將成為重點(diǎn)、Eager Execution 將會(huì)是核心功能、支持更多的平臺(tái)和語(yǔ)言等。

而且未來(lái)所有的 tf.contrib 都會(huì)被棄用,對(duì)于每個(gè) contrib 模塊,要么 a)將項(xiàng)目集成到 TensorFlow 中;b)將其移至單獨(dú)的存儲(chǔ)庫(kù);c)完全將其移除。

在這篇文章中,我們將預(yù)覽 TensorFlow 中高級(jí) API 的未來(lái)方向,并回答大家常問(wèn)的一些問(wèn)題。

Keras 是廣受開(kāi)發(fā)者社區(qū)歡迎的高級(jí) API,主要用于構(gòu)建和訓(xùn)練深度學(xué)習(xí)模型。它可以用于快速原型設(shè)計(jì)、最先進(jìn)的研究以及實(shí)際生產(chǎn)。雖然 TensorFlow 已經(jīng)支持 Keras,但是 2.0 版本將實(shí)現(xiàn)更加緊密的集成。

Keras有以下幾大關(guān)鍵優(yōu)點(diǎn):用戶友好、模塊化、可組合、容易擴(kuò)展,既適合新手,也適合專家。這些優(yōu)點(diǎn)加起來(lái)??梢宰寣W(xué)習(xí)、研究、開(kāi)發(fā)、部署的工作流更加容易,效率更高。通過(guò)將 Keras 構(gòu)建為 TensorFlow 的高級(jí) API,機(jī)器學(xué)習(xí)領(lǐng)域的新手可以更容易上手。通過(guò)單一的高級(jí) API 可以減少混淆,讓我們能夠?qū)W⒂跒檠芯咳藛T提供高級(jí)功能。

TensorFlow 2.0 版本發(fā)布在即。我們會(huì)先解答下大家比較關(guān)注的幾個(gè)問(wèn)題,然后我們會(huì)介紹 TensorFlow2.0中關(guān)于Keras 的一些新功能和重大變化,如Sequential API、Functional API、Model Subclassing API 與 Estimators 等。

FAQ

▌1、問(wèn):Keras 是否是一個(gè)獨(dú)立的庫(kù)?

答:其實(shí),更應(yīng)該把 Keras 視為一個(gè) API。Keras 一直作為一個(gè)開(kāi)源項(xiàng)目進(jìn)行維護(hù),大家可以在 (www.keras.io.)中找到。這個(gè)項(xiàng)目一直獨(dú)立于 TensorFlow,并且擁有一個(gè)活躍的貢獻(xiàn)者社區(qū)和用戶社區(qū)。在 tf.keras 模塊里,TensorFlow 有一個(gè)特定增強(qiáng)功能的完整 Keras API 實(shí)現(xiàn)。

▌2、問(wèn):Keras 只是 TensorFlow 或其他庫(kù)的一個(gè)包裝器嗎?

答:不,這是一個(gè)常見(jiàn)的(但可以理解的)錯(cuò)誤觀念。 Keras 用于定義和訓(xùn)練機(jī)器學(xué)習(xí)模型的 API 標(biāo)準(zhǔn),它與特定實(shí)現(xiàn)無(wú)關(guān):除了 TensorFlow,Keras API 還可以用于 MXNet,TypeScript,JavaScript,CNTK,Theano,PlaidML,Scala,CoreML 和其他庫(kù)的實(shí)現(xiàn)。

▌3、問(wèn):TensorFlow 內(nèi)置的 Keras 版本與 keras.io 上的版本有什么區(qū)別?

答:TensorFlow 包含 Keras API(在 tf.kerasmodule 中)的實(shí)現(xiàn),具有 TensorFlow 特定的增強(qiáng)功能,包括支持EagerExecution,方便直觀調(diào)試和快速迭代,支持 TensorFlow SavedModel模型交換格式,以及分布式訓(xùn)練(包括 TPU)。

當(dāng)用到 tf.keras 模塊的子類 API 時(shí),Eager Execution 特別有用。這類 API 受到 Chainer 的啟發(fā),大家通過(guò)命令行就可以編寫(xiě)模型。tf.keras 與 TensorFlow 的生態(tài)系統(tǒng)緊密結(jié)合,可以支持:

tf.data 用于構(gòu)建高性能的輸入流。你可以用 Numpy 處理的數(shù)據(jù)來(lái)訓(xùn)練模型,或者用 tf.data 來(lái)衡量規(guī)模和性能。

分布策略。在跨各種計(jì)算平臺(tái)時(shí)進(jìn)行分布式訓(xùn)練,包括分布在很多機(jī)器上的 GPU 和 TPU。

輸出模型。通過(guò) tf.keras APIs 創(chuàng)建的模型可以在 TensorFlow SavedModel 格式下進(jìn)行序列化,并且可以使用 TensorFlow Serving 或通過(guò)其他語(yǔ)言(Java、Go、Rust、C#等)進(jìn)行綁定。

模型可以使用 TensorFlow Lite 部署在移動(dòng)或嵌入式設(shè)備上,也可以使用 TensorFlow.js。(也可以使用與此相同的 Keras API 直接在 JavaScript 中開(kāi)發(fā)模型。)

特征列,用于有效地表示和分類結(jié)構(gòu)化數(shù)據(jù)。

如何安裝 tf.keras?我是否需要先通過(guò) pip 安裝 Keras ?

因?yàn)?tf.keras 是包含在 TensorFlow 內(nèi)的,所以,大家不用單獨(dú)安裝 Keras。如果在 Colab 中你可以直接運(yùn)行下面的代碼:

然后你就可以使用 tf.keras 了。如果你是安裝新手,可以通過(guò)近期教程中的一些例子來(lái)檢查是否導(dǎo)入成功。

▌5、TensorFlow 為專家和新手提供了不同 API,如何使用?

TensorFlow 的開(kāi)發(fā)者們經(jīng)驗(yàn)、層次都不同,有剛接觸 ML 的學(xué)生們、也有 ML 領(lǐng)域的專家或研究者。而 TensorFlow 的一個(gè)優(yōu)點(diǎn)就是它提供了不同的 APIs 支持不同的工作流和目標(biāo)。這也是 TensorFlow 的 Keras 集成的一個(gè)主要目標(biāo),可以讓用戶選擇對(duì)自己更有益處的部分,而無(wú)需采用 Keras 的整體框架。

Sequential API

如果你正在學(xué)習(xí)機(jī)器學(xué)習(xí),我們 建議你從 tf.keras Sequential API 開(kāi)始,它非常直觀、簡(jiǎn)潔,適用于機(jī)器學(xué)習(xí)中 95% 的問(wèn)題。使用這個(gè) API,10 行代碼就能搭建一個(gè)神經(jīng)網(wǎng)絡(luò)。

參考案例:

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

定義模型的最常用方法是構(gòu)建神經(jīng)網(wǎng)絡(luò)的層圖,最簡(jiǎn)單的模型類型是把這些層堆疊起來(lái)。 你可以使用 Sequential API 來(lái)定義這樣的模型,如下所示:

在 “Learn and UseML”章節(jié)下面,你可以找到更多使用 the Sequential API 的教程,參考鏈接:

https://www.tensorflow.org/tutorials/

Functional API

當(dāng)然,順序模型是一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)層堆棧,不能代表任何模型。不過(guò),你可以使用 Functional API 來(lái)構(gòu)建更高級(jí)的模型,定義復(fù)雜的拓?fù)浣Y(jié)構(gòu),包括多輸入和多輸出模型,具有共享層的模型以及具有殘差連接的模型。

使用 Functional API 構(gòu)建模型時(shí),神經(jīng)層是可調(diào)用的,并可以返回張量作為輸出。然后可以使用這些輸入張量和輸出張量來(lái)定義模型。 例如:

上面的模型同樣可以使用簡(jiǎn)單的代碼來(lái)進(jìn)行編譯和訓(xùn)練。

Model Subclassing API

如果你想搭建完全可自定義的模型,那么可以使用 Model Subclassing API。在類方法(class method)的主體中,你必須以這種方式定義前向傳播。

這樣的模型更靈活,但是也更難調(diào)試。所有這三種類型的模型三種類型的模型都可以使用前面顯示的簡(jiǎn)單編譯和調(diào)整命令來(lái)編譯和訓(xùn)練,或者你可以編寫(xiě)自己的定制訓(xùn)練循環(huán)來(lái)實(shí)現(xiàn)完全控制。

例如:

更多 the Model Subclassing 的案例,可以在“research and experimentation”章節(jié)中查看教程,參考鏈接:

https://www.tensorflow.org/tutorials/

使用 the Model Subclassing API 實(shí)現(xiàn)的 Neural Machine Translation with Attention

使用the Model Subclassing API實(shí)現(xiàn)的 GAN

如果這些模型都無(wú)法滿足你的研究?

如果你發(fā)現(xiàn) tf.keras 限制了你的應(yīng)用領(lǐng)域,你還有其他選擇:

使用獨(dú)立于 Keras 模型定義的 tf.keras 神經(jīng)層,并編寫(xiě)自己的梯度和訓(xùn)練代碼。類似地,你可以單獨(dú)使用tf.keras.optimizers,tf.keras.initializers,tf.keras.losses或tf.keras.metrics。

同時(shí),你也可以完全忽略 tf.keras,使用較低層級(jí)的 TensorFlow,Python 和 AutoGraph 來(lái)獲得你想要的結(jié)果。

這完全取決于你!請(qǐng)注意,tf.layers 中的非面向?qū)ο髮訉⒈粭売茫瑃f.contribution(包括高級(jí)API,如 tf.contribution.slim 和 tf.contribution.learn)在 TF 2.0 中將不可用。

Estimators會(huì)發(fā)生哪些變化?

Estimator 在 Google 和 TensorFlow 社區(qū)的應(yīng)用都十分廣泛。 我們已經(jīng)將幾種模型打包為 Premade Estimators,包括線性分類器,DNN 分類器,組合 DNN 線性分類器(又名 寬深模型)和梯度增強(qiáng)樹(shù)。 這些模型已經(jīng)投入生產(chǎn)并得到廣泛部署,由于這些原因,包括 Premade Estimators 在內(nèi)的Estimator API 將包含在 TensorFlow 2.0 中。

對(duì)于 Premade Estimators 的用戶來(lái)說(shuō),Keras 和EagerExecution 焦點(diǎn)變化帶來(lái)的的影響將是微乎其微的。我們可能會(huì)更改 Premade Estimators 的實(shí)現(xiàn),同時(shí)保持 API 的界面相同。我們還將努力添加作為 Premade Estimators 實(shí)現(xiàn)的模型的 Keras 版本,并擴(kuò)展 Keras 以更好地滿足大規(guī)模生產(chǎn)的要求。

也就是說(shuō),如果你正在開(kāi)發(fā)自定義體系結(jié)構(gòu),那我們建議使用 tf.keras 來(lái)構(gòu)建模型而不是Estimator。如果你正在構(gòu)建需要用到 Estimators 的基礎(chǔ)架構(gòu),那么可以使用model_to_estimator() 來(lái)轉(zhuǎn)換模型,同時(shí)我們也努力確保Keras可以跨TensorFlow生態(tài)系統(tǒng)工作。

進(jìn)擊到TensorFlow 2.0!

希望大家可以和我們一樣喜歡使用 tf.keras 。在接下來(lái)幾個(gè)月的時(shí)間,TensorFlow 團(tuán)隊(duì)將關(guān)注于提升開(kāi)發(fā)者們的體驗(yàn)。在我們的文檔和教程里也將會(huì)體現(xiàn)這點(diǎn)。我們也期待您的想法和反饋,并通過(guò) Github issues 和 PRs 為項(xiàng)目作出貢獻(xiàn)。感謝大家!

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

    關(guān)注

    66

    文章

    8481

    瀏覽量

    133866
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    330

    瀏覽量

    60940
  • keras
    +關(guān)注

    關(guān)注

    2

    文章

    20

    瀏覽量

    6154

原文標(biāo)題:TensorFlow 2.0發(fā)布在即,高級(jí)API變化搶先看

文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TensorFlow常用Python擴(kuò)展包

    TensorFlow 能夠?qū)崿F(xiàn)大部分神經(jīng)網(wǎng)絡(luò)的功能。但是,這還是不夠的。對(duì)于預(yù)處理任務(wù)、序列化甚至繪圖任務(wù),還需要更多的 Python 包。下面列出了一些常用的 Python 包:Numpy:這是用
    發(fā)表于 07-28 14:35

    TensorFlow的特點(diǎn)和基本的操作方式

    2015年11月在GitHub上開(kāi)源,在2016年4月補(bǔ)充了分布式版本,最新版本為1.10,2018年下半年將發(fā)布Tensorflow 2.0預(yù)覽版。Tensorflow目前仍處于快速開(kāi)發(fā)迭代
    發(fā)表于 11-23 09:56

    keras可視化介紹

    keras的model.summary()方法 對(duì)于一些簡(jiǎn)單的模型,可以直接使用keras提供的model.summary()方法,如上講的mnist模型,代碼
    發(fā)表于 08-18 07:53

    Keras搭建神經(jīng)網(wǎng)絡(luò)的般步驟

    是: Keras 是為人類而不是為機(jī)器設(shè)計(jì)的 API,它把用戶體驗(yàn)放在首要和中心位置,能夠以最短時(shí)間把你的想法轉(zhuǎn)換為實(shí)驗(yàn)結(jié)果。 這列文檔主要講述keras一些入門(mén)知識(shí),
    發(fā)表于 08-18 07:35

    介紹OVN新功能

    本文檔主要是關(guān)于2017年8月底發(fā)布的Open vSwitch 2.8添加的內(nèi)容,重點(diǎn)介紹OVN新功能。同時(shí)也涵蓋了即將在2018年2月發(fā)布的Open vSwitch和OVN 2
    發(fā)表于 03-06 10:05 ?2283次閱讀

    TensorFlow2.0 版本將來(lái)臨

    TensorFlow 的 contrib 模塊已經(jīng)超越了單個(gè)存儲(chǔ)庫(kù)可以維護(hù)和支持的模塊。較大的項(xiàng)目最好分開(kāi)維護(hù),我們將在 TensorFlow 的主代碼里添加一些規(guī)模較小的擴(kuò)展。因此
    的頭像 發(fā)表于 08-15 09:01 ?5624次閱讀

    KerasTensorFlow究竟哪個(gè)會(huì)更好?

    Keras 依然作為個(gè)庫(kù),與 TensorFlow 分開(kāi),進(jìn)行獨(dú)立操作,所以仍存在未來(lái)兩者會(huì)分開(kāi)的可能性;然而,我們知道 Google 官方同時(shí)支持 Keras
    的頭像 發(fā)表于 10-11 10:05 ?2.2w次閱讀

    TensorFlowKeras哪個(gè)更好用?

    作為個(gè)庫(kù),Keras 仍然可以單獨(dú)使用,因此未來(lái)兩者可能會(huì)分道揚(yáng)鑣。不過(guò),因?yàn)楣雀韫俜街С?KerasTensorFlow,所以似乎不太可能出現(xiàn)這種情況。
    的頭像 發(fā)表于 10-31 09:40 ?1.1w次閱讀

    深入了解TensorFlow隨附的此版Keras將能為您實(shí)現(xiàn)哪些功能

    TensorFlow 開(kāi)發(fā)者的經(jīng)驗(yàn)水平千差萬(wàn)別,既有首次學(xué)習(xí)機(jī)器學(xué)習(xí)的學(xué)生,也有機(jī)器學(xué)習(xí)專家和研究人員。恰巧,TensorFlow 的優(yōu)點(diǎn)之便是能提供多個(gè) API 以支持不同的工作流程和目標(biāo)。而這
    的頭像 發(fā)表于 12-18 13:38 ?2963次閱讀

    TensorFlow 2.0 alpha提供即將發(fā)生的變化的預(yù)覽

    。Alpha 版文檔的每個(gè)教程均會(huì)自動(dòng)下載并安裝 TensorFlow 2.0 Alpha 版,并且后續(xù)將提供更多內(nèi)容!
    的頭像 發(fā)表于 03-10 10:17 ?3069次閱讀

    最新tf.keras指南,TensorFlow官方出品

    TensorFlow 1.x以靜態(tài)圖為主,網(wǎng)上主流的TF代碼編寫(xiě)主要是面向過(guò)程的(函數(shù)為主),在引入tf.keras之后,TensorFlow官方就開(kāi)始推薦tf.keras里各種面向?qū)?/div>
    的頭像 發(fā)表于 03-29 11:28 ?4452次閱讀

    2020年航空業(yè)將會(huì)發(fā)生哪些重大變化

    不過(guò),隨著航空業(yè)對(duì)陳舊的空中交通管制系統(tǒng)進(jìn)行現(xiàn)代化改造,2020年機(jī)場(chǎng)延誤可能會(huì)有一些緩解。以下是我們將在2020年看到的一些重大變化。
    發(fā)表于 01-03 11:33 ?1377次閱讀

    TensorFlow主題演講涉及的一些更新總結(jié)

    Google 開(kāi)發(fā)者?Youku?頻道上找到所有主題演講的視頻。以下是按產(chǎn)品領(lǐng)域列出的一些更新摘要(視頻還有更多產(chǎn)品更新要點(diǎn),請(qǐng)務(wù)必查看)。 移動(dòng)版和網(wǎng)站版 TensorFlow
    的頭像 發(fā)表于 05-28 14:19 ?1960次閱讀

    基于TensorFlowKeras的圖像識(shí)別

    ,讓我們先花點(diǎn)時(shí)間來(lái)了解一些術(shù)語(yǔ)。TensorFlow/KerasTensorFlow是GoogleBrain團(tuán)隊(duì)創(chuàng)建的個(gè)Python開(kāi)源庫(kù),它包含許多算法和模型
    的頭像 發(fā)表于 01-13 08:27 ?1058次閱讀
    基于<b class='flag-5'>TensorFlow</b>和<b class='flag-5'>Keras</b>的圖像識(shí)別

    keras模型轉(zhuǎn)tensorflow session

    在這篇文章,我們將討論如何將Keras模型轉(zhuǎn)換為TensorFlow session。 KerasTensorFlow簡(jiǎn)介
    的頭像 發(fā)表于 07-05 09:36 ?745次閱讀