資源| TensorFlow版本號升至1.0,正式版即將到來

2021-01-10 機器之心Pro

選自github機器之心編譯參與:吳攀

2015 年 11 月份,谷歌宣布開源了深度學習框架 TensorFlow,一年之後,TensorFlow 就已經成長為了 GitHub 上最受歡迎的深度學習框架(參見機器之心文章《深度 | TensorFlow 開源一周年:這可能是一份最完整的盤點》),儘管那時候 TensorFlow 的版本號還是 v0.11。現在,TensorFlow 的一歲生日之後兩個月,TensorFlow 社區終於決定將 TensorFlow 的版本號升至 1.x,並也已於昨日發布了 TensorFlow 1.0.0-alpha,其新增了實驗性的 Java API,並且提升了對 Android 的支持。

發布地址

官網:https://www.tensorflow.org/versions/r1.0/GitHub:https://github.com/tensorflow/tensorflow/releases

主要特性和提升

TensorFlow Debugger (tfdbg):命令行接口和 API增加新的 python 3 docker 鏡像使 pip 包兼容 pypi。現在可以通過 pip install tensorflow 命令來安裝 TensorFlow 了Android:人員檢測+跟蹤演示,是通過使用了深度神經網絡的可擴展目標檢測實現的Android:預構建的 libs 現在每晚(nightly)構建新的(實驗性的)Jave API:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/java

API 的重要更改

TensorFlow/models 被移到了一個單獨的 GitHub repository.除法和取模運算符(/, //, %)現已匹配 Python(flooring)語義。這也適用於 tf.div 和 tf.mod。為了獲取強制的基於整數截斷的行為,你可以使用 tf.truncatediv 和 tf.truncatemod.tf.divide 現在是推薦的除法函數。tf.div 還將保留,但其語義將不會響應 Python 3 或 from future 機制.tf.reverse 現在是將軸的索引反轉。例如,tf.reverse(a, [True, False, True]) 現在必須寫成 tf.reverse(a, [0, 2])。tf.reverse_v2() 暫時保留,直到 1.0 final 版.tf.mul、tf.sub 和 tf.neg 被棄用,現在使用的是 tf.multiply、tf.subtract 和 tf.negative.tf.pack 和 tf.unpack 被啟用,現在使用的是 tf.stack 和 tf.unstack.TensorArray.pack 和 TensorArray.unpack 將被啟用,取而代之的是 TensorArray.stack 和 TensorArray.unstack.以下 Python 函數有參數修改,以在引用特定維度時使用 axis. 我們目前基於兼容性的考量而保留了原來的關鍵詞參數,但我們將在 1.0 final 版中移除它們。

tf.argmax: dimension 變成 axistf.argmin: dimension 變成 axistf.count_nonzero: reduction_indices 變成 axistf.expand_dims: dim 變成 axistf.reduce_all: reduction_indices 變成 axistf.reduce_any: reduction_indices 變成 axistf.reduce_join: reduction_indices 變成 axistf.reduce_logsumexp: reduction_indices 變成 axistf.reduce_max: reduction_indices 變成 axistf.reduce_mean: reduction_indices 變成 axistf.reduce_min: reduction_indices 變成 axistf.reduce_prod: reduction_indices 變成 axistf.reduce_sum: reduction_indices 變成 axistf.reverse_sequence: batch_dim 變成 batch_axis, seq_dim 變成 seq_axistf.sparse_concat: concat_dim 變成 axistf.sparse_reduce_sum: reduction_axes 變成 axistf.sparse_reduce_sum_sparse: reduction_axes 變成 axistf.sparse_split: split_dim 變成 axis

tf.listdiff 已被重命名為 tf.setdiff1d 以匹配 NumPy 命名.tf.inv 已被重命名為 tf.reciprocal(分量互逆)以避免和矩陣求逆的 np.inv 混淆tf.round 現在使用了四捨六入五留雙規則語義,以匹配 NumPy.tf.split 現在以相反的順序取參數,並使用了不同的關鍵詞。特別地,我們現在將 NumPy 順序匹配成了 tf.split(value, num_or_size_splits, axis).tf.sparse_split 現在以相反的順序取參數,並使用了不同的關鍵詞。特別地,我們現在將 NumPy 順序匹配成了 tf.sparse_split(sp_input, num_split, axis). 注意:現在我們暫時讓 tf.sparse_split 需要關鍵詞參數.啟用 tf.concat 運算符,現在請暫時切換成 tf.concat_v2 . 在 Beta 版中,我們將更新 tf.concat 以匹配 tf.concat_v2 的參數順序.tf.image.decode_jpeg 默認使用更快的 DCT 方法. 速度的提升犧牲了一點保真度。你可以通過特定屬性 dct_method='INTEGER_ACCURATE'來恢復原來的行為.tf.complex_abs 已被從 Python 接口移除. 應該使用 tf.abs,它支持複數張量.模板.var_scope 屬性重命名為 .variable_scopeSyncReplicasOptimizer 被移除,SyncReplicasOptimizerV2 重命名為 SyncReplicasOptimizer.tf.zeros_initializer() 和 tf.ones_initializer() 現在返回一個 callable,其必須用 initializer 參數調用,在你的代碼中用 tf.zeros_initializer() 替代 tf.zeros_initializer.SparseTensor.shape 重命名為 SparseTensor.dense_shape. SparseTensorValue.shape 也一樣.移除了原來的 tf summary 運算符,比如 tf.scalar_summary 和 tf.histogram_summary. 取而代之的是 tf.summary.scalar 和 tf.summary.histogram .移除 tf.train.SummaryWriter 和 tf.train.SummaryWriterCache.從公共 API 中移除 RegisterShape . 現在使用 C++ 形狀函數註冊.從 Python API 棄用 _ref dtypes .

漏洞修復和其它更改

新指令: parallel_stack.為 RecordReader/RecordWriter 引入常見的 tf io 壓縮選項常量.添加 sparse_column_with_vocabulary_file,其能指定一個將字符串特徵轉換為 ID 的特徵列(feature column),其中的映射是通過一個詞彙表文件定義的.添加 index_to_string_table,其返回一個將索引映射到字符串的查找表.添加 string_to_index_table,其返回一個將字符串匹配到索引的查找表.添加一個 ParallelForWithWorkerId 函數.支持從 contrib/session_bundle 中的 v2 中的檢查點恢復會話.添加了一個用於任意角度的 tf.contrib.image.rotate 函數.添加了 tf.contrib.framework.filter_variables,這是一個用於基於正則表達式過濾變量列表的方便函數.make_template() 加入了一個可選的 custom_getter_ param.添加了關於現有目錄如何被 recursive_create_dir 處理的注釋.添加了用於 QR 因式分解的指令.Python API 中的除法和取模現在使用 flooring (Python) 語義.Android:在 contrib/android/cmake 下,用於 TensorFlow Inference 庫的 cmake/gradle buildAndroid:遠遠更加穩健的會話初始化代碼.Android:當 debug 模式激活時,TF stats 直接出現在演示和日誌中.Android:新的更好的 README.md 文檔.

致謝我們的貢獻者

這個版本包含了來自谷歌很多人的貢獻,此外還有以下貢獻者:

我們也非常感激所有提交了問題或幫助解決它們的所有人——提出和回答問題也是激發討論的一部分。

下載原始碼

zip :https://github.com/tensorflow/tensorflow/archive/v1.0.0-alpha.ziptar.gz:https://github.com/tensorflow/tensorflow/archive/v1.0.0-alpha.tar.gz

相關焦點

  • Tensorflow 2.0 即將入場
    而就在即將到來的2019年,Tensorflow 2.0將正式入場,給暗流湧動的框架之爭再燃一把火。如果說兩代Tensorflow有什麼根本不同,那應該就是Tensorflow 2.0更注重使用的低門檻,旨在讓每個人都能應用機器學習技術。
  • 谷歌正式發布TensorFlow 1.5,究竟提升了哪些功能?
    昨天,谷歌在 GitHub 上正式發布了 TensorFlow 的最新版本 1.5.0,並開源了其代碼。支持 CUDA 9 和 cuDNN 7 被認為是本次更新的最重要部分。機器之心對這次更新的重大改變以及主要功能和提升進行了編譯介紹,原文請見文中連結。
  • TensorFlow 1.9.0-rc0 升級 tf.keras 至 Keras 2.1.6 API
    TensorFlow 1.9.0-rc0 已發布。該版本帶來了不少改進和新特性:Update tf.keras to the Keras 2.1.6 API.
  • 步履不停:TensorFlow 2.4新功能一覽!
    TensorFlow 2.4 正式發布!隨著對分布式訓練和混合精度提供更多支持,加入新的 Numpy 前端及用於監控和診斷性能瓶頸的工具,這個版本的亮點在於推出新功能,以及對性能和擴展方面的增強。
  • TensorFlow2.1正式版上線:最後一次支持Python2,進一步支持TPU
    去年 10 月,谷歌才發布了 TensorFlow 2.0 正式版。時隔三個月後,昨日官方發布了 TensorFlow 2.1,本次版本更新帶了了多項新特性、功能改進和 bug 修復。據悉,TensorFlow 2.1 的 CUDA 版本為 10.1,cuDNN 版本為 7.6。在對作業系統的支持上,Windows 和 Linux 系統的 TensorFlow pip 版本默認支持 GPU。
  • TensorFlow 資源大全中文版
    實現神經圖靈機 – TensorFlow實現神經圖靈機基於物體搜索和過濾視頻 – 使用卷積神經網絡基於視頻中的物品、地點等來搜索、過濾和描述視頻使用TensorFlow來轉換莎士比亞作品和現代版本的英語 – 實現莎士比亞作品和現代版本的英語的單語轉換聊天機器人 – 一個基於深度學習的聊天機器人colornet – 使用神經網絡給灰度圖像著色
  • TensorFlow 攜手 NVIDIA,使用 TensorRT 優化 TensorFlow Serving...
    目前,TensorFlow Serving 1.13 已實現對 TF-TRT 的支持,而不久後  TensorFlow 2.0 也將支持 TF-TRT 的實現。 TensorFlow 在官方博客中對這項成果進行了發布,雷鋒網 AI 科技評論編譯如下。
  • TensorFlow 2.0 新鮮出爐!新版本,新架構,新特性
    今天凌晨,谷歌在加州舉辦TensorFlow開發者峰會(TensorFlow Dev Summit),正式發布2.0版本。當然,TensorFlow 2.0 Alpha版本從安裝上便十分的簡單,僅需一句話:pip install -U --pre tensorflow而Eager execution 與 「@tf.function」作為核心升級重點,接下將會對其如何協同工作進行做詳細介紹。
  • 終於來了,TensorFlow 新增官方 Windows 支持
    隨著 TensorFlow r0.12 版的發布,這一開源軟體庫現已支持 Windows7、10 和 Server 2016。同時,這一新版本可以讓用戶在 TensorFlow 訓練中得到 CUDA 8 的 GPU 加速。我們已將新版本在 PyPI 中封裝成型。現在你可以使用命令 C:\> pip install tensorflow 安裝 TensorFlow 了。
  • TensorFlow極速入門
    最後給出了在 tensorflow 中建立一個機器學習模型步驟,並用一個手寫數字識別的例子進行演示。1、tensorflow是什麼?tensorflow 是 google 開源的機器學習工具,在2015年11月其實現正式開源,開源協議Apache 2.0。
  • 基於RTX2060構建TensorFlow-gpu(keras)學習平臺
    開始菜單運行anaconda navigator檢查是否安裝了notebook(默認有安裝)三、安裝tensorflow/keras在激活的環境中安裝:1. 如果機器上有gpu,則安裝gpu版本,沒有GPU就安裝cpu版。
  • 深度解讀TensorFlow,了解它的最新發展!
    Tensorboard是tensorflow內置的一個可視化工具,它通過將tensorflow程序輸出的日誌文件的信息可視化,使得tensorflow程序的理解、調試和優化更加簡單高效。Tensorboard的可視化依賴於tensorflow程序運行輸出的日誌文件,因而tensorboard和tensorflow程序在不同的進程中運行。
  • TensorFlow 中文資源全集,學習路徑推薦
    https://gitee.com/fendouai/Awesome-TensorFlow-Chinese很多內容下面這個英文項目:Inspired by https://github.com/jtoy/awesome-tensorflow官方網站官網:https://www.tensorflow.org/中文:https://tensorflow.google.cn
  • TensorFlow 2.1指南:keras模式、渴望模式和圖形模式(附代碼)
    對我來說,這一刻已經到來了。我一直在使用Keras和Tensorflow的1.x(TF1)在工作和我的個人項目,因為我在這個領域開始。我完全喜歡Keras庫的高級方法和Tensorlfow的低級方法,這些方法可以讓我們在需要更多自定義時在後臺進行更改。儘管我一直是Keras-Tensorflow兼容的忠實擁護者,但始終有一個非常具體的缺點:調試功能。
  • Tensorflow 2.0的這些新設計,你適應好了嗎?
    而就在即將到來的2019年,Tensorflow 2.0將正式入場,給暗流湧動的框架之爭再燃一把火。如果說兩代Tensorflow有什麼根本不同,那應該就是Tensorflow 2.0更注重使用的低門檻,旨在讓每個人都能應用機器學習技術。
  • 這裡有一份TensorFlow2.0中文教程
    今年 3 月份,谷歌在 Tensorflow Developer Summit 2019 大會上發布 TensorFlow 2.0 Alpha 版。作為當前最為流行的深度學習框架,2.0 Alpha 版的正式發布引人關注。近兩個月,網上已經出現了大量 TensorFlow 2.0 英文教程。在此文章中,機器之心為大家推薦一個持續更新的中文教程,以便大家學習。
  • 分享TensorFlow Lite應用案例
    比如在kika 我們的 toolchain 是這樣的:   bash   git clone -b tflite https://github.com/KikaTech/tensorflow.git   cd tensorflow/kika   bazel build -s -c dbg \   @org_tensorflow
  • TensorFlow 2.0開源工具書,30天「無痛」上手
    本書要求讀者具備一定的機器學習和深度學習理論基礎,同時使用過 Keras、Tensorflow1.0 或者 PyTorch 搭建訓練過模型。如果沒有任何基礎怎麼辦?你可以在學習本教程的同時參考深度學習大牛、Keras 之父 Francois Chollet 所著的《Python 深度學習》一書。
  • TensorFlow極簡教程:創建、保存和恢復機器學習模型
    _2:0')# output_conv =vgg_graph.get_tensor_by_name('conv2_2:0')# output_conv =vgg_graph.get_tensor_by_name('conv3_3:0')# output_conv =vgg_graph.get_tensor_by_name('conv4_3:0')
  • 在Windows中安裝Tensorflow和Kears深度學習框架
    建立Tensorflow的Anaconda虛擬環境在一臺計算機中,我們常常需要安裝很多軟體,但是每個軟體所需要的Python的關聯模塊或版本不相同。例如,我們要使用Python開發開發網站系統,安裝的網站框架可能需要Python2.X的版本,但是安裝Tensorflow需要Python3.5的版本,此時就會發生版本不一致的問題。