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

終版API已定型,TensorFlow 2.0 Beta蛻變歸來

2019-06-11    來源:raincent

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

TensorFlow 2.0 Beta 已來,RC 還會遠(yuǎn)嗎?

TensorFlow 發(fā)布以來,已經(jīng)成為全世界最廣泛使用的深度學(xué)習(xí)庫。但 Tensorflow 1.x 時(shí)代最廣受詬病的問題是:學(xué)習(xí)門檻較高、API 重復(fù)且復(fù)雜、模型部署和使用不夠方便。之后,谷歌下定決心改變這一問題,在今年早些時(shí)候,發(fā)布了 Tensorflow 2.0 的 Alpha 版本。Alpha 版本一經(jīng)問世,便受到深度學(xué)習(xí)研究者、開發(fā)者和在校學(xué)生的好評,其簡潔的 API 和快速易上手的特性吸引了更多用戶的加入。今天,Tensorflow 官方發(fā)布了 2.0 時(shí)代的 Beta 版本,標(biāo)志著 Tensorflow 這一經(jīng)典的代碼庫進(jìn)一步成熟。

 

 

Tensorflow 今天發(fā)布 Tensorflow 2.0 Beta 版本。Tensorflow 官方表示,在 Tensorflow2.0 Alpha 版本發(fā)布后,已有超過 130000 名學(xué)生加入了 deeplearing.ai 和 Udacity 的相關(guān)課程。Github 上則已經(jīng)收到 128000 顆星和超過 7500 次 fork。

在本次 beta 版本更新后,TensorFlow 團(tuán)隊(duì)已經(jīng)完成了對 2.0 API 的對象重命名和移除工作。現(xiàn)有的 API 已經(jīng)是最終版本,并且會作為 Tensorflow1.14 版本中的 v2 可兼容模塊。同時(shí) Tensorflow2.0 也增加了對 Keras 特性的支持,如簡化定制化訓(xùn)練循環(huán) API、增加對大部分硬件的分布式策略的支持等。

Tensorflow 產(chǎn)品生態(tài)中的核心組件,如 TensorBoard、TensorHub、TensorFlow Lite、和 TensorFlow.js 可以和 Beta 版本一起使用。但是對 TensorFlow Extended (TFX) 組件和端到端管道的支持工作仍在繼續(xù)。

在 Alpha 版本發(fā)布后,TensorFlow 團(tuán)隊(duì)已經(jīng)解決了超過 100 個(gè) Github 的 issue,并仍對剩余的 issue 進(jìn)行解決,他們希望開發(fā)者能夠繼續(xù)在提供相關(guān)的建議和反饋。在 release candidate(RC)版本發(fā)布前,TensorFlow 團(tuán)隊(duì)會完成云 TPU 和 TPU 對 Keras 模型的支持,繼續(xù)對 Tensorflow 的表現(xiàn)進(jìn)行優(yōu)化,并解決更多用戶提出的問題。

TensorFlow 2.0 Beta 到底有什么

如果讀者們想體驗(yàn)一番 TF 2.0 Beta,那么直接使用如下的命令安裝就行了:

> pip install tensorflow==2.0.0-beta0

但在使用前,我們需要先了解它的一些重要特性。其實(shí),Tensorflow 2.0 版本和核心觀點(diǎn)即致力于簡單便捷的使用體驗(yàn)。圍繞這個(gè)核心觀點(diǎn),TF 2.0 Beta 其更新了如下一些特性。

使用 Keras 和 eager execution 方便地搭建模型

在任何生產(chǎn)平臺上都能穩(wěn)健地部署模型

在研究中可以有力支持實(shí)驗(yàn)

簡化、去重,并移除生命周期終結(jié)的 API

為了更具體地感受新版特性,以下給出了一些參考資料:

在 Tensorflow2.0 Alpha 版本后進(jìn)行了特性提升和修復(fù)。如果用戶沒有查閱過,可以參考:https://github.com/tensorflow/tensorflow/releases/tag/v2.0.0-alpha0

對于從升級 Tenforflow1.x 到 2.0 版本的用戶來說,請查閱升級和遷移指南:https://medium.com/tensorflow/upgrading-your-code-to-tensorflow-2-0-f72c3a4d83b5;https://github.com/tensorflow/docs/blob/master/site/en/r2/guide/migration_guide.ipynb

官方同時(shí)發(fā)布了一系列教程和設(shè)置指南:https://www.tensorflow.org/beta

官方分布了 Tensorflow 2.0 風(fēng)格指南:https://github.com/tensorflow/docs/blob/master/site/en/r2/guide/effective_tf2.md

如果用戶需要了解更多社區(qū)推動的更新,可以參考 Github 上的文檔:https://github.com/tensorflow/community/tree/master/rfcs

新版本亮點(diǎn)

分布式訓(xùn)練策略:2.0 版本使用新的 tf.distribute.Strategy API,可以在盡量不改動代碼的情況下用于分布式訓(xùn)練模型,達(dá)到良好的表現(xiàn)。同時(shí) 2.0 版本還支持更多的分布式策略,如對定制化訓(xùn)練循環(huán)的支持,以及對 Keras 子類模型的支持。官方發(fā)布了一個(gè)文檔,用于查看這些新的支持(鏈接:https://www.tensorflow.org/beta/guide/distribute_strategy)。

API 凍結(jié):完成了 API 中的符號重命名和修改。2.0 中的 API 已經(jīng)是最終版本,并且會作為 Tensorflow1.14 版本中 compat.v2 模塊。所有的變更都可以在這個(gè)文檔看到(鏈接:https://docs.google.com/spreadsheets/d/1FLFJLzg7WNP6JHODX5q8BDgptKafq_slHpnHVbJIteQ/edit#gid=0)。

 

 

API 變更表示例。

重大更改

tf.contrib 目前已經(jīng)完全被移除了,它里面的各種 API 要么移植到了 TensorFlow 的核心 API、要么移到了獨(dú)立的第三方庫 tensorflow_addons、或者完全移除了。

tf.estimator.DNN/Linear/DNNLinearCombined 系列 API 中的預(yù)制 estimator 已經(jīng)更新了,可以直接使用 tf.keras.optimizers 中的最優(yōu)化器,而不需要使用以前的 tf.compat.v1.train.Optimizers。如果我們沒有將參數(shù)傳入 optimizer =,或者直接使用字符串調(diào)用最優(yōu)化器,那么預(yù)制的 Estimator 將直接使用 Keras 最優(yōu)化器。

2.0 Beta 實(shí)戰(zhàn) Demo

那么 TF 2.0 Beta 版用起來什么感覺呢?TensorFlow 官方提供了一個(gè) Demo 以展示如何用 Beta 版快速處理分類問題。因?yàn)檎麄(gè)過程已經(jīng)通過 API 高度封裝了起來,即使我們不懂底層細(xì)節(jié),也能快速實(shí)現(xiàn)分類模型。

官方 Demo 地址:https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/r2/tutorials/keras/basic_classification.ipynb

首先當(dāng)然是安裝 TF 2.0 Beta,并導(dǎo)入庫了。注意 tf.contrib 已經(jīng)正式刪除了,且很多 API 都已經(jīng)并入 Keras 中,所以整個(gè)代碼有一種濃厚的 Keras 風(fēng)格。

!pip install tensorflow==2.0.0-beta0from __future__ import absolute_import, division, print_function, unicode_literals# TensorFlow and tf.kerasimport tensorflow as tffrom tensorflow import keras# Helper librariesimport numpy as npimport matplotlib.pyplot as plt

利用 API 導(dǎo)入 Fashion-MNIST 數(shù)據(jù)集也是很簡單了,目前 tf.keras.datasets 可以導(dǎo)入 MNIST、Cifar-10/100 等視覺數(shù)據(jù)集,也可以導(dǎo)入 imdb 和 reuters 等 NLP 數(shù)據(jù)集。

fashion_mnist = keras.datasets.fashion_mnist(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat', 'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot'] train_images = train_images / 255.0test_images = test_images / 255.0

因?yàn)槭褂?Keras 高級 API,搭建和編譯模型也非常簡單,基本就是調(diào)用已有的成熟方法就行了。其中搭建模型架構(gòu)可以像堆積木那樣完成,編譯只需要給定最優(yōu)化器、損失函數(shù)和度量方法三個(gè)關(guān)鍵要素就行了。

model = keras.Sequential([ keras.layers.Flatten(input_shape=(28, 28)), keras.layers.Dense(128, activation='relu'), keras.layers.Dense(10, activation='softmax')])model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

下面,我們可以看看模型訓(xùn)練與評估的風(fēng)格。沒有 tf.Session()、沒有 sess.run()、沒有各種占位符的 feed_dict,一切都只要簡單的一行代碼。

model.fit(train_images, train_labels, epochs=10)test_loss, test_acc = model.evaluate(test_images, test_labels)print('\nTest accuracy:', test_acc)

訓(xùn)練完模型后,最后就是做推斷了:

predictions = model.predict(test_images)

以上是模型最主要的過程,當(dāng)然 Demo 中間還會有一些展示,例如如何可視化數(shù)據(jù)或打印訓(xùn)練信息等,感興趣的讀者可查閱原始 Demo?傮w而言,如同 TF 2.0 的一貫風(fēng)格,新版 TensorFlow 力求最簡潔、最直觀地構(gòu)建模型。

標(biāo)簽: [db:TAGG]

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

上一篇:一年后,面對GitHub,開發(fā)者不再擔(dān)憂它背后的微軟

下一篇:尤瓦爾vs李飛飛:一場關(guān)于“AI威脅論”的終極對話