TensorFlow 介紹及快速入門

2021-09-13 21:52:01 字數 2837 閱讀 2028

tensorflow 是乙個採用資料流圖,用於數值計算的開源軟體庫。

正如其名字所訴,tensorflow 本質是乙個由張量組成的資料流圖。tensorflow 在圖中使用節點來表示數學操作,使用線來表示在節點之間相互聯絡的多維資料陣列,即張量。除了表示施加的數學操作之外,節點還可以表示資料輸入的起點或資料輸出的終點,也可以表示讀取或寫入持久變數的終點;線則表示節點之間的輸入或輸出關係,這些資料線可以運輸動態調整大小的多維資料陣列。一旦輸入端的所有張量準備完畢,節點將被分配到各種計算裝置完成非同步平行計算。

tensorflow 最初由 google 大腦小組的研究員和工程師們開發出來,其靈活的架構使其可以在多種平台上展開計算,例如台式計算機的 cpu 或 gpu、伺服器、移動裝置等。基於這種通用性,tensorflow 除了被用於機器學習和深度神經網路等方面的研究之外,還被廣泛地應用於其他計算領域。

是深度學習最流行的庫之一。它不僅便攜、高效、可擴充套件,還能在不同的計算機上執行:包括智慧型手機和計算機集群;它是乙個輕量級的軟體,可以立刻生成訓練模型;有強大的社群、企業支援。

是第乙個主流的產品級深度學習庫。是乙個卷積神經網路框架,專注於卷積神經網路和影象處理,用 c++寫成,執行速度非常快。可以快速地支援 gpu、matlab 和 python 介面。

是乙個由 python 編寫的及其靈活的 python 機器學習庫,可以很簡單地定義出複雜的模型,並在其頂層構建了數值開源深度庫。但是yoshua bengio 在 2017 年 9 月 28 日宣布,theano 的開發將終止。

tensorflow 是為了快而設計的,所以它針對實際使用的硬體和平台做了優化。

其中在機器學習框架方面,tensorflow的真正獨特之處在於,能夠在5行或者10行**中構建模型。然後應用這個模型,進行擴充套件做出產品。

tensorflow 支援在 pc 的 cpu 環境、gpu 環境甚至是安卓環境中執行。它不僅可以支援在單個計算單元上進行運算,也支援在一台機器上多個 cpu 或多個 gpu 上進行平行計算。

tensorboard 是 tensorflow 的乙個比較友好的元件,它可以讓工作人員在訓練網路的過程中通過儀錶盤看到網路目前的表現情況。在 tensorboard 中只需要通過非常簡單的配置命令:

tensorboard --logdir=path/to/logs
就能將它讀取的位置指向日誌路徑,這樣就可以讀取其中的日誌資訊並做視覺化顯示。預設的 web 介面是 http://localhost:6006。從介面上可以看到乙個訓練模型的準確率以及損失函式的大小變化趨勢。

tensorflow serving 是 tensorflow 產品群的開源元件,是一種機器學習模型的高效能開源服務系統,專為生產環境而設計,並針對 tensorflow 進行了優化處理。

tensorflow serving 能夠簡化並加速從模型到生產的過程。它能實現在伺服器架構和 api 保持不變的情況下,安全地部署新模型並執行試驗。

tensorflow serving 系統非常適用於大規模執行能夠基於真實情況的資料並會發生動態改變的多重模型。它能夠實現:

使用 tensorflow 的第一步是了解它的主要特色——「計算圖」方法。基本上所有的 tensorflow **都包含兩個重要部分:

建立「計算圖」,表示計算的資料流

執行「會話」,執行圖中的運算

下面以乙個簡單的例子來介紹 tensorflow 的使用。

1.定義資料

import tensorflow as tf

# 首先,建立乙個tensorflow常量=>2

const = tf.constant(2.0, name='const')

# 建立tensorflow變數b和c

b = tf.variable(2.0, name='b')

c = tf.variable(1.0, dtype=tf.float32, name='c')

tensorflow中,使用tf.constant()定義常量,使用tf.variable()定義變數。

2.定義運算

# 建立operation

d = tf.add(b, c, name='d')

e = tf.add(c, const, name='e')

a = tf.multiply(d, e, name='a')

3.執行會話

# 1. 定義init operation

init_op = tf.global_variables_initializer()

# session

with tf.session() as sess:

# 2. 執行init operation

sess.run(init_op)

# 計算

a_out = sess.run(a)

print("variable a is {}".format(a_out))

tensorflow中所有的變數必須經過初始化才能使用,初始化方式分兩步:

定義初始化operation

執行初始化operation

執行graph需要先呼叫tf.session()函式建立乙個會話(session)。session就是我們與graph互動的handle。

4.改進:使 b 可以為任意值

b = tf.placeholder(tf.float32, [none, 1], name='b')
a_out = sess.run(a, feed_dict=)

Tensorflow 快速學習

tensorflow 快速學習 python python3 cookbook 1 tensorflow原始碼庫 2 tensorflow中文文件 3 tensorflow入門例子庫1,每個例子都有對應的notebook說明。4 tensorflow入門例子庫2 5 tensorflow入門例子庫3...

TensorFlow簡單介紹

tensorflow簡單介紹 tensorflow中文社群 中文社群中是這個介紹的 tensorflow tensorflow是乙個採用資料流圖 data flow graphs 用於數值計算的開源軟體庫。節點 nodes 在圖中表示數學操作,圖中的線 edges 則表示在節點間相互聯絡的多維資料陣...

TensorFlow學習介紹

最近學習了深度學習框架tensorflow,抽空時間來總結一下順便來複習一下 tensorflow學習系列教程 1.tensorflow安裝與python環境安裝 2.tensorflow基礎知識 3.tensorflow非線性回歸例子 4.tensorflow代價函式 擬合 優化器 5.機器學習常...