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

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

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

TensorFlow2.0終于問世,Alpha版可以搶先體驗

DPVg_AI_era ? 來源:lp ? 2019-03-08 09:30 ? 次閱讀

TensorFlow2.0終于問世,Alpha版可以搶先體驗。新版本主打簡單易用可擴(kuò)展,大大簡化API,最后,連logo也改了。

TensorFlow 2.0終于來了!

今天凌晨,谷歌在加州舉辦TensorFlow開發(fā)者峰會(TensorFlow Dev Summit),正式發(fā)布2.0版本。

這場發(fā)布會有幾大亮點:

TensorFlow 2.0Alpha版發(fā)布,用戶現(xiàn)在可以搶先體驗;

2.0版本具有簡易性、更清晰、擴(kuò)展性三大特征,大大簡化API;

提高了TensorFlow Lite和TensorFlow.js部署模型的能力;

發(fā)布會還把TensorFlow目前的家底透露了一遍:目前TF在全球已經(jīng)有超過4100萬的下載次數(shù),社區(qū)有超過1800多個貢獻(xiàn)者。

盡管官方?jīng)]有透露中國社區(qū)的情況,但是發(fā)布會現(xiàn)場展示一張全球地圖,根據(jù)圖中的用戶分布情況可以推測,目前TF中國應(yīng)該是僅次于美國和歐洲的第三大地區(qū)。

另外一個值得注意的變化是,從2.0開始,TensorFlow的logo也不一樣,從類似積木的形狀變成了兩個分開的字母“T”和“F”,或許也意味著減少冗余,看上去更簡潔。

簡單易用可擴(kuò)展,TF2.0迎來新架構(gòu)

TensorFlow 已經(jīng)發(fā)展為世界上最受歡迎和被廣泛采用的機器學(xué)習(xí)平臺之一,自2015年問世,并在去年11月迎來三周歲生日。

之前開發(fā)者反饋,希望TensorFlow能夠簡化API、減少冗余并改進(jìn)文檔和示例。這次2.0發(fā)布,聽取了開發(fā)者的建議,因此新版本有以下三大特點:簡單、強大、可拓展。

基于這三大特點,TensorFlow 2.0也有新架構(gòu),如下面的簡化概念圖所示:

TensorFlow 2.0 將專注于簡單性和易用性,具有以下更新:

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

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

為研究提供強大的實驗工具

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

下面詳細(xì)介紹TF2.0的新特性。

易用至上,TensorFlow 2.0 Alpha發(fā)布

這次TensorFlow的一些列更新,重點就在于:讓你使用得更加簡單。

TensorFlow 2.0發(fā)布以后,訓(xùn)練的流程將變得十分簡潔:

主要流程就是:數(shù)據(jù)集成和轉(zhuǎn)換→模型構(gòu)建→訓(xùn)練→保存模型。

當(dāng)然,TensorFlow也秉承著“哪兒都可以部署”的原則,使其在應(yīng)用方面更加靈活和方便:

下面是TensorFlow2.0在這次更新中的幾大亮點:

TensorFlow Alpha

更易用:諸如tf.keras等高級API將更易于使用;并且Eager execution將成為默認(rèn)設(shè)置。例如:

>>>tf.add(2,3)

更清晰:刪除了重復(fù)的功能;不同API的調(diào)用語法更加一致、直觀;兼容性更加完善。

更靈活:提供完整的低級API;可在tf.raw_ops中訪問內(nèi)部操作;提供變量、checkpoint和層的可繼承接口

當(dāng)然,TensorFlow 2.0 Alpha版本從安裝上便十分的簡單,僅需一句話:

pip install -U --pre tensorflow

而Eager execution 與 “@tf.function”作為核心升級重點,接下將會對其如何協(xié)同工作進(jìn)行做詳細(xì)介紹。

其中一個最明顯的變化是,TensorFlow 是 “Eager 優(yōu)先”,這意味著 op 在調(diào)用后會立即運行。在 TensorFlow 1.x 中,使用者可能會先構(gòu)圖,然后通過 “tf.Session.run()” 執(zhí)行圖的各個部分。

TensorFlow 2.0 從根本上簡化了 TensorFlow 的使用 — 同樣出色的 op,現(xiàn)在卻更易理解和使用。

a=tf.constant([1,2])b = tf.constant([3, 4])print(a+b)# returns: tf.Tensor([4 6], shape=(2,), dtype=int32)

TensorFlow 2.0 使用 Keras 作為開發(fā)者的核心體驗。在 2.0 中,可以如常使用 Keras,利用 Sequential API 構(gòu)建模型,然后使用 “compile” 和 “fit”。tensorflow.org 中所有這些熟悉的 “tf.keras” 示例均可在 2.0 中實現(xiàn) “開箱即用”。

Keras 的 “fit()” 適用于很多情況,但是,需要更高靈活性的開發(fā)者現(xiàn)在可以有更多選擇。來看一下如下示例中以 TensorFlow 2.0 風(fēng)格編寫的自定義訓(xùn)練循環(huán):

deftrain_one_step(model,optimizer,x,y):withtf.GradientTape()astape:logits=model(x)loss=compute_loss(y,logits)grads=tape.gradient(loss,model.trainable_variables)optimizer.apply_gradients(zip(grads,model.trainable_variables))compute_accuracy(y,logits)returnlossdeftrain(model,optimizer):train_ds=mnist_dataset()step=0loss=0.0forx,yintrain_ds:step+=1loss=train_one_step(model,optimizer,x,y)iftf.equal(step%10,0):tf.print('Step',step,':loss',loss,';accuracy',compute_accuracy.result())return step, loss, accuracy

此示例采用 Autograd 風(fēng)格的 GradientTape,并通過優(yōu)化器手動應(yīng)用你的梯度。在編寫具有復(fù)雜內(nèi)部運作的自定義訓(xùn)練循環(huán)(譬如在強化學(xué)習(xí)中)或進(jìn)行研究(輕松幫您落實提高優(yōu)化器效率的新想法)時,這特別有幫助。

“Eager execution” 還有助于調(diào)試和監(jiān)控運行中的代碼,可以使用 Python 調(diào)試程序檢查變量、層及梯度等對象。在訓(xùn)練循環(huán)中,使用 “if”、“for” 和 “print()” 等 Python 語句。

一旦代碼運行正常,便會想要獲得圖表優(yōu)化和效率。為此,可以利用裝飾器 “@tf.function” 封裝 “train”?!皌f.function” 中內(nèi)置 Autograph,因此無需任何特殊操作便可獲取以用圖表效率運行的 “if” 或 “for” 子句。

@tf.functiondeftrain(model,optimizer):train_ds=mnist_dataset()step=0loss=0accuracy=0forx,yintrain_ds:#如上所述,包括“if”和“print()”return step

這段代碼并不會受注釋影響,但會將其編譯到可在 GPU、TPU 上輕松運行的圖表中,或?qū)⑵浔4嬷?“SavedModel” 留待后用。

針對這對代碼,尤為有趣之處在于,通過在 “@tf.function” 中封裝 “train()”,“train_one_step()”、“compute_loss()” 和 “compute_accuracy()” 也會自動進(jìn)行轉(zhuǎn)換。也可選擇在 “@tf.function” 中僅封裝部分運算,從而獲得所需行為。

此外,TensorFlow 2.0 完全支持 Estimator。

tensorflow.org/alpha 鏈接

https://www.tensorflow.org/alpha

高級API變化

TensorFlow 2.0 在API上可謂是下足了功夫,在這個版本中,高級API將十分“易于擴(kuò)展”且“擴(kuò)展地很容易”:

例如,對tf.keras.optimizer tf.keras.layers tf.keras.loss等一些列高級API都做了“易用性”的優(yōu)化。例如:

值得注意的是,尤其是對諸如RNN layers等神經(jīng)網(wǎng)絡(luò)的高級API做了優(yōu)化,用戶還可以對其自定義。

可謂是開發(fā)者福音。

升級

TensorFlow 2.0 將包含許多 API 變更,例如,對參數(shù)進(jìn)行重新排序、重新命名符號和更改參數(shù)的默認(rèn)值。手動執(zhí)行所有這些變更不僅枯燥乏味,而且容易出錯。

為簡化變更過程并讓開發(fā)者盡可能順暢地過渡到 TensorFlow 2.0,TensorFlow 工程團(tuán)隊創(chuàng)建了實用程序tf_upgrade_v2,可將舊代碼轉(zhuǎn)換至新 API。

tf_upgrade_v2 鏈接

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

TensorFlow.js v1.0

TensorFlow for Javascript已經(jīng)有300,000次下載和100個貢獻(xiàn)者。 今天TensorFlow.js的1.0版本包括性能改進(jìn)。

例如瀏覽器中MobileNet v1推理的9倍提升。 還有針對Web開發(fā)人員的新現(xiàn)成模型和更廣泛的平臺支持。

TensorFlow Lite:超20億移動設(shè)備部署使用

TensorFlow Lite是一個為移動和嵌入式設(shè)備打造的輕量級、跨平臺解決方案。

這樣一個輕量級的解決方案很有必要,因為機器學(xué)習(xí)越來越多地轉(zhuǎn)移到終端設(shè)備,如手機、汽車、可穿戴設(shè)備等。在這樣的設(shè)備上使用ML有很多限制,如有限的計算能力、有限的內(nèi)存、電池限制等,TensorFlow Lite可以很大程度上解決這些限制。

TensorFlow Lite的用例

一個驚人的事實:已經(jīng)有20億移動設(shè)備部署使用了TensorFlow Lite。

說明,TensorFlow Lite有很多國內(nèi)外客戶……

網(wǎng)易有道技術(shù)總監(jiān)林會杰作為“為什么選擇TensorFlow Lite”的代表,受邀上臺介紹了有道翻譯應(yīng)用TensorFlow Lite取得的成果。

TensorFlow Lite四大主題:

可用性(Usability):拿來即用

性能(Performance):模型執(zhí)行速度更快

優(yōu)化(Optimization):讓你的模型更小、更快

文檔(Documentation):有很多資源

可用性:部署簡單,拿來即用

保存模型,轉(zhuǎn)換到TF Lite,就是這么簡單。

新的TensorFlow Select功能讓模型轉(zhuǎn)換到TensorFlow Lite更簡單。

性能:在可用的硬件條件下,讓模型執(zhí)行盡可能快

有多快呢?訓(xùn)練MobileNet v1,CPU、GPU和Edge TPU下推理速度分別提升了1.9倍、7.7倍和62倍!

優(yōu)化:讓模型更小、更快

優(yōu)化表現(xiàn):

文檔:

One More Thing:

TensorFlow Lite工程師Pete Warden上臺介紹了一個非??岬摹靶⊥嬉狻保?/p>

是一個名為珊瑚(Coral)的小型開發(fā)板,一款可以構(gòu)建和試驗AI設(shè)備的硬件。

它的原理類似樹莓派,但使用了定制的Google處理器,專為AI設(shè)計。沒錯,在這個小小的板上,你可以運行TensorFlow。

Warden展示了一個小demo:

說一個特定的單詞,Coral板上黃色的小燈會應(yīng)聲亮起來。

模型只有20KB大小,運行使用不到100KB的RAM和80KB Flash。

谷歌表示:“Coral提供了一個完整的本地AI工具包,可以輕松地將你的想法從原型變成到產(chǎn)品?!?/p>

像樹莓派一樣,可以期待更多使用Coral開發(fā)的有趣的事情。

售價149.99美元,傳送門:

https://coral.withgoogle.com/products/

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

    關(guān)注

    27

    文章

    6128

    瀏覽量

    104949
  • 機器學(xué)習(xí)
    +關(guān)注

    關(guān)注

    66

    文章

    8349

    瀏覽量

    132315
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    328

    瀏覽量

    60473

原文標(biāo)題:TensorFlow 2.0 新鮮出爐!新版本,新架構(gòu),新特性

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

收藏 人收藏

    評論

    相關(guān)推薦

    stm32mp135d的板子可不可以tensorflow的模型???

    請問是stm32mp135d的板子可不可以tensorflow的模型???
    發(fā)表于 07-18 06:49

    TensorFlow是什么?TensorFlow怎么用?

    TensorFlow是由Google開發(fā)的一個開源深度學(xué)習(xí)框架,它允許開發(fā)者方便地構(gòu)建、訓(xùn)練和部署各種復(fù)雜的機器學(xué)習(xí)模型。TensorFlow憑借其高效的計算性能、靈活的架構(gòu)以及豐富的工具和庫,在學(xué)
    的頭像 發(fā)表于 07-12 16:38 ?535次閱讀

    使用TensorFlow進(jìn)行神經(jīng)網(wǎng)絡(luò)模型更新

    使用TensorFlow進(jìn)行神經(jīng)網(wǎng)絡(luò)模型的更新是一個涉及多個步驟的過程,包括模型定義、訓(xùn)練、評估以及根據(jù)新數(shù)據(jù)或需求進(jìn)行模型微調(diào)(Fine-tuning)或重新訓(xùn)練。下面我將詳細(xì)闡述這個過程,并附上相應(yīng)的TensorFlow代碼示例。
    的頭像 發(fā)表于 07-12 11:51 ?311次閱讀

    騰訊銀發(fā)輔抱式移位機2.0問世

    在2024年7月10日盛大召開的第二十三屆中國互聯(lián)網(wǎng)大會上,騰訊公司隆重展示了其專為解決中國失能老人照護(hù)難題而精心研發(fā)的智能化創(chuàng)新產(chǎn)品——騰訊銀發(fā)輔抱式移位機2.0版。這款產(chǎn)品的問世,標(biāo)志著騰訊在智慧養(yǎng)老領(lǐng)域邁出了堅實的一步。
    的頭像 發(fā)表于 07-10 16:07 ?402次閱讀

    請問ESP32如何運行TensorFlow模型?

    請問ESP32如何運行TensorFlow模型?
    發(fā)表于 07-09 07:30

    tensorflow和pytorch哪個更簡單?

    PyTorch更簡單。選擇TensorFlow還是PyTorch取決于您的具體需求和偏好。如果您需要一個易于使用、靈活且具有強大社區(qū)支持的框架,PyTorch可能是一個更好的選擇。如果您需要一個在
    的頭像 發(fā)表于 07-05 09:45 ?702次閱讀

    tensorflow和pytorch哪個好

    tensorflow和pytorch都是非常不錯的強大的框架,TensorFlow還是PyTorch哪個更好取決于您的具體需求,以下是關(guān)于這兩個框架的一些關(guān)鍵點: TensorFlow : 發(fā)布時間
    的頭像 發(fā)表于 07-05 09:42 ?603次閱讀

    tensorflow簡單的模型訓(xùn)練

    和Java。在本文中,我們將使用Python作為編程語言。 1.1 安裝Python 在安裝TensorFlow之前,我們需要確保已經(jīng)安裝了Python。可以
    的頭像 發(fā)表于 07-05 09:38 ?472次閱讀

    keras模型轉(zhuǎn)tensorflow session

    在這篇文章中,我們將討論如何將Keras模型轉(zhuǎn)換為TensorFlow session。 Keras和TensorFlow簡介 Keras是一個高級神經(jīng)網(wǎng)絡(luò)API,它提供了一種簡單、快速的方式來構(gòu)建
    的頭像 發(fā)表于 07-05 09:36 ?437次閱讀

    TensorFlow的定義和使用方法

    TensorFlow是一個由谷歌人工智能團(tuán)隊谷歌大腦(Google Brain)開發(fā)和維護(hù)的開源機器學(xué)習(xí)庫。它基于數(shù)據(jù)流編程(dataflow programming)的概念,將復(fù)雜的數(shù)學(xué)運算表示為
    的頭像 發(fā)表于 07-02 14:14 ?644次閱讀

    Runway發(fā)布Gen-3 Alpha視頻生成模型

    專為電影和圖像內(nèi)容創(chuàng)作者提供生成式AI工具的Runway公司近日宣布,其最新的Gen-3 Alpha視頻生成模型已經(jīng)正式問世。這款模型在多方面均取得了顯著的進(jìn)步,為創(chuàng)作者們帶來了前所未有的便利和可能性。
    的頭像 發(fā)表于 06-19 09:25 ?509次閱讀

    AURIX TC397是否可以搭配Google TensorFlow的演算法去運算?

    請問各位大神,AURIX TC397 是否可以搭配 Google TensorFlow 的演算法 去運算??
    發(fā)表于 02-18 06:05

    基于TensorFlow和Keras的圖像識別

    TensorFlow和Keras最常見的用途之一是圖像識別/分類。通過本文,您將了解如何使用Keras達(dá)到這一目的。定義如果您不了解圖像識別的基本概念,將很難完全理解本文的內(nèi)容。因此在正文開始之前
    的頭像 發(fā)表于 01-13 08:27 ?754次閱讀
    基于<b class='flag-5'>TensorFlow</b>和Keras的圖像識別

    如何使用TensorFlow構(gòu)建機器學(xué)習(xí)模型

    在這篇文章中,我將逐步講解如何使用 TensorFlow 創(chuàng)建一個簡單的機器學(xué)習(xí)模型。
    的頭像 發(fā)表于 01-08 09:25 ?895次閱讀
    如何使用<b class='flag-5'>TensorFlow</b>構(gòu)建機器學(xué)習(xí)模型

    AV-HSW10如何通過帶alpha通道的NDI信號處理CG素材?

    通過這個功能,我們可以實現(xiàn)直接使用NDI信號輸入帶透明效果(alpha通道)的CG素材。
    的頭像 發(fā)表于 11-15 10:13 ?735次閱讀
    AV-HSW10如何通過帶<b class='flag-5'>alpha</b>通道的NDI信號處理CG素材?