TensorFlow 1.8.0正式發布,Bug修復和改進內容都在這裡了

2021-02-14 人工智慧頭條

譯者 | 王柯凝

編輯 | Just

TensorFlow 1.8.0 近日正式發布,新版本主要有以下改進內容:

主要特點及改進


可以將 tf.contrib.distribute.MirroredStrategy() 傳遞給 tf.estimator.RunConfig() ,能夠在一臺有多個 GPU 的機器上運行評估器 (Estimator) 模型。

添加 tf.contrib.data.prefetch_to_device() ,支持預取 GPU 內存。

添加梯度提升樹作為預先製作的評估器(Estimator):BoostedTreesClassifier,BoostedTreesRegressor。

為雲端 TPU 添加第三代管道配置,提高其性能和可用性。

tf.contrib.bayesflow 轉向自己的 repo。

添加了 tf.contrib.{proto,rpc} ,允許通用的原型解析和 RPC 通信。


Bug 修復和其他修改


tf.data:


添加 tf.contrib.data.prefetch_to_device ,可以將數據集元素預取到 GPU 內存。

添加 tf.contrib.data.AUTOTUNE ,在 tf.data 運行時,根據系統和環境自動調整預取緩衝區大小。

添加 tf.contrib.data.make_csv_dataset ,構建 CSV 文件數據集。


Eager Execution:


Eager Execution 數據集可以作為標準的 Python 迭代器使用(for batch in dataset:)。當 Eager Execution 啟動時,可以使用 Dataset ._iter _() 和 Dataset.make_one_shot_iterator() 創建迭代器。

已啟用自動裝置配置(即如果 GPU 是自動接入的,則不需要使用 tf.device(「/gpu:0」))(修復 #14133)

已經將 contrib 的 tf.GradientTape 移出。


tf.keras:



加速線性代數 (XLA):



TensorFlow Debugger (tfdbg) CLI:



tf.contrib:


添加重構批量維度的元分發 BatchReshape 。

tf.contrib.layers.recompute_grad 用於 TPU 上的顯式梯度檢查點。

添 加 tf.contrib.framework.argsort 。

允許 DNNBoostedTreeCombinedEstimator 處理特徵列和損失的核心版本。

添加非線性圖像變形操作: tf.contrib.image.sparse_image_warp,tf.contrib.image.dense_image_warp 和 tf.contrib.image.interpolate_spline 。

修復 tensor 類型不匹配的 tf.contrib.opt.MultitaskOptimizerWrapper 中的錯誤。

Other


低級圖形構造現在被稱為 TensorFlow C API 。對於大多數用戶而言,這種更改不可見,但在這個版本中可以設置環境變量 TF_C_API_GRAPH_CONSTRUCTION = 0 來禁用此更改。未來的版本將刪除禁用此更改的功能。

在 tf.distributions.Distribution 中添加形狀描述和指向 tutorial notebook 的指針。

更新 scatter 操作:

僅僅將 cuDNN RNN操作移至內核,用於 TensorFlow 代碼庫。

為 Conv2d , Conv2dBackpropInput 和 Conv2dBackpropFilter 添加 float64 支持。

為 AvgPool / AvgPoolGrad 添加 float64 支持。

圖名稱作用域線程為本地,以便在多線程環境中正常工作。

更新 nsync 同步庫,避免 Linux 上速度較慢的原語。

在構建自定義操作時,刪除了需要在 C include 路徑中放置 nsync / public 

添加 tf.image.psnr , tf.image.ssim , tf.image.ssim_multiscale , tf.image.image_gradients , tf.image.sobel_edges

將連結添加到 https://js.tensorflow.org

修復正交矩陣的不均勻性。

修復了多圖像評估器(Estimator)評估摘要顯示不正確的問題。

資源:

原始碼(zip)

https://github.com/tensorflow/tensorflow/archive/v1.8.0-rc0.zip

原始碼(tar.gz)

https://github.com/tensorflow/tensorflow/archive/v1.8.0-rc0.tar.gz

作者 | annarev 

原文連結

https://github.com/tensorflow/tensorflow/releases/

人工智慧頭條讀者群正在招募中,和你志同道合的小夥伴也在這裡!關注人工智慧頭條微信公眾號,後臺回覆:讀者群,添加編輯微信,邀你入群。

掃描二維碼,關注「人工智慧頭條」

回復「技術路線圖」獲取 AI 技術人才成長路線圖

☟☟☟點擊 | 閱讀原文 | 查看更多精彩內容

相關焦點

  • TensorFlow正式發布1.5.0,支持CUDA 9和cuDNN 7,雙倍提速
    剛剛,TensorFlow發布了1.5.0正式版,很多人都期待已久,最重大的改動是支持CUDA 9和cuDNN 7,這承諾將使Volta GPUs/FP16上的訓練速度翻倍。此外,Eager execution預覽版可用,也將吸引不少初學者。下面是這次更新的重大變動及錯誤修復。
  • 使用 tfdbg 調試 TensorFlow 代碼
    這裡看個簡單例子(lms.py),使用 LMS 算法估計線性濾波器權值。LMS 是數位訊號處理中最基本的自適應濾波算法,結構簡單,計算量低,便於硬體實現,適用於實時信號處理場景,但學習速率選取不當時容易造成發散,出現 Inf 和 NaN 值。
  • TensorFlow 2.0 部署:TensorFlow Serving
    由於 Sequential 模式的輸入和輸出都很固定,因此這種類型的模型很容易部署,無需其他額外操作。tf.saved_model.save(model, "saved_with_signature/1", signatures={"call": model.call})以上兩步均完成後,即可使用以下命令部署:tensorflow_model_server \ --rest_api_port=8501
  • 社區分享 | Spark 玩轉 TensorFlow 2.0
    本文來自社區投稿與徵集,作者梁雲,轉自:https://github.com/lyhue1991/eat_tensorflow2_in_30_days本篇文章介紹在 Spark 中調用訓練好的 TensorFlow 模型進行預測的方法。本文內容的學習需要一定的 Spark 和 Scala 基礎。
  • Tensorflow Object Detection API 終於支持tensorflow1.x與tensorflow2.x了
    基於tensorflow框架構建的快速對象檢測模型構建、訓練、部署框架,是針對計算機視覺領域對象檢測任務的深度學習框架。之前tensorflow2.x一直不支持該框架,最近Tensorflow Object Detection API框架最近更新了,同時支持tensorflow1.x與tensorflow2.x。
  • Tensorflow 入門:Tensor
    通過最後一句代碼可以看到:tensorflow 2.0 中的計算圖默認是立即執行的(Eagerly Execution)。 Tensor 持有標量值Tensor 可以持有標量:tensor 的 dtype 屬性給出了這個 tensor 的數據類型。這裡 tensorflow 推斷出該 tensor 的數據類型是 int32。
  • tensorflow(6)利用tensorflow/serving實現模型部署及預測
    我們以tensorflow/serving:1.14.0為例,所以我們需要拉取這個鏡像到本地:docker pull tensorflow/serving:1.14.0  本文演示的項目結構如下:項目結構單模型部署及預測 創建模型  我們先使用Tensorflow創建模型:z=x*y+t,其中x,y等於2.0,t為變量,z為輸出結果。
  • 將您的代碼從 TensorFlow 1 遷移到 TensorFlow 2(二)
    TensorFlow 2.0 支持 Estimator。當您使用 Estimator 時,可以使用 TensorFlow 1.x 中的input_fn()、tf.estimator.TrainSpec和tf.estimator.EvalSpec。下面是結合訓練和評估規格使用input_fn的一個例子。
  • TensorFlow Serving入門
    (gRPC和RESTfull API)示例(一):RESTfull API形式1.準備TF Serving的Docker環境目前TF Serving有Docker、APT(二級制安裝)和源碼編譯三種方式,但考慮實際的生產環境項目部署和簡單性,推薦使用Docker方式。docker pull tensorflow/serving2.
  • tensorflow(7)利用tensorflow/serving實現BERT模型部署
    在文章tensorflow(4)使用tensorboard查看ckpt和pb圖結構中,我們知道了如何使用tensorboard查看ckpt圖結構。  有了pb文件,我們藉助文章tensorflow(6)利用tensorflow/serving實現模型部署及預測和tensorflow(5)將ckpt轉化為pb文件並利用tensorflow/serving實現模型部署及預測的幫助,利用tensorflow/serving的Docker鏡像進行模型部署,命令如下:docker run -t --rm -p 8531:8501
  • TensorFlow 篇 | TensorFlow 數據輸入格式之 TFRecord
    對於文本格式的數據文件而言,其存儲和讀取的開銷都比較大,相比之下, TFRecord 格式的數據文件佔用的磁碟空間會更少,而且可以更高效地進行數據讀取,因此將數據使用 TFRecord 格式存儲能夠在一定程度上提升數據處理的效率。
  • 一文上手最新TensorFlow2.0系列(二)
    編輯「~/.bashrc」文件,在文件末尾增加如下內容:alias python="/usr/bin/python2"alias python3="/usr/bin/python3"alias apython="/home/lqhou/anaconda3/envs/apython/bin/python3
  • 我的 TensorFlow 2.0 初體驗
    1、安裝TF2.0虛擬環境首先,我們要在電腦裡裝一個tf2.0的虛擬環境(我的電腦是mac,windows和linux類似)。這裡使用anaconda的命令:注意,後面的python版本最好帶上,否則什麼庫都不給你裝。
  • 如何在TensorFlow 2.0中構建強化學習智能體
    __version__)1.13.0-dev20190117>>> print(tf.executing_eagerly())True顯示的是 1.13.x 版本?不用擔心,這是因為它還是早期預覽版。這裡需要注意的重點是默認使用 Eager 模式。
  • TensorFlow筆記:模型保存、加載和Fine-tune
    beta1=0.9, beta2=0.999, epsilon=1e-8).minimize(loss)我們來簡單初始化,然後跑一下:feed_X = np.ones((8,size)).astype(np.float32)feed_y = np.ones((8,1)).astype(np.float32)with
  • 獨家 | 對抗圖像和攻擊在Keras和TensorFlow上的實現
    每一次轉彎、車道轉換、加速和剎車都是由深度神經網絡來提供技術支持。現在,想像自己在高速路上,你正坐在「駕駛室(當車自主行駛時,駕駛室還能被稱為『駕駛室』嗎?)」裡,你的妻子坐在副駕上,你的孩子們坐在後座。朝前看,你看到一張巨大的貼紙正在車輛所行駛的車道上,這看上去對車的前進毫無影響。看上去這像是一張受歡迎的大幅塗鴉藝術版畫,可能是幾個高中生開玩笑把它放在這裡,或者他們只是為了完成某個大冒險遊戲。
  • tensorflow(8)將h5文件轉化為pb文件並利用tensorflow/serving實現模型部署
    在文章Keras入門(七)使用Flask+Keras-bert構建模型預測服務,我們也介紹了如何使用Flask和example.h5文件來實現模型預測的HTTP服務。  本文將會介紹如何將h5文件轉化為pb文件並利用tensorflow/serving實現模型部署。
  • Tensorflow2.0 正確的打開方式
    本文將按照增量化學習的原則,幫助大家逐步揭示Tensorflow2.0版本的複雜性。我們都知道,在 Tensorflow2.0 中模型構建方式主要有三種:Sequential API;Functional API;Subclassing三種模型構建方法其複雜性以及對應的靈活性如下圖所示:
  • Tensor Flow 2.0 快速掌握手冊
    import tensorflow as tffrom tensorflow.keras.callbacks import TensorBoardfrom tensorflow.keras.optimizers import SGDfrom tensorflow.keras.preprocessing.image import ImageDataGenerator
  • TensorFlow 2.0 模型:模型類的建立
    1class MyModel(tf.keras.Model): 2    def __init__(self): 3        super().具體而言,給定輸入張量 input = [batch_size, input_dim] ,該層對輸入張量首先進行 tf.matmul(input, kernel) + bias 的線性變換 ( kernel和 bias 是層中可訓練的變量),然後對線性變換後張量的每個元素通過激活函數 activation ,從而輸出形狀為 [batch_size, units] 的二維張量。