TensorFlow學習(一):感受一下

github_zwl發表於2017-05-15

更新:2017.2.27

因為tensorflow1.0出來了,很多不相容,所以這部分更新了一下。以適應tensorflow1.0

一.tensorflow背景

背景直接不多說了,一般學習已經開始學習tensorflow的都應該都知道tensorflow的背景了。所以這裡直接略過啦。

二.安裝

在之前的部落格裡面有詳細的tensorflow的安裝和配置。相對caffe來說,還是比較簡單的。不熟悉的看這裡 tensorflow安裝

三.程式設計思想

這裡直接翻譯的官方文件的介紹,TensorFlow 使用來表示計算任務. 圖中的節點被稱之為 op (operation 的縮寫). 一個 op獲得 0 個或多個 Tensor , 執行計算, 產生 0 個或多個 Tensor . 每個 Tensor 是一個型別化的多維陣列.tensor也是tensorflow中的核心資料型別。

一個 TensorFlow 圖(graph)描述了計算的過程. 為了進行計算, 圖必須在會話(session)裡被啟動. 會話將圖的op分發到諸如 CPU 或 GPU 之類的 裝置 上, 同時提供執行 op 的方法. 這些方法執行後, 將產生的 tensor 返回.

TensorFlow 程式通常被組織成一個構建階段和一個執行階段.

在構建階段, op 的執行步驟被描述成一個圖. 
在執行階段, 使用會話執行執行圖中的op.例如,通常在構建階段建立一個圖來表示和訓練神經網路,然後在執行階段反覆執行圖中的訓練 op.

四.基本例子

前面說了那麼多是很抽象的,這裡給出一個基本例子,這個例子現在都可以不用懂其中的含義。現在你只要知道,這個例子能夠跑出結果,和這建立兩個例子最基本的流程就行了。後面的文章會詳細分析。

首先要放在這裡的例子是超級經典的Hello World啦,沒有hello world的教程都是耍流氓對吧。

#import tensorflow
from __future__ import print_function,division
import tensorflow as tf

#define the graph
info_op=tf.constant("hello,world")
a=tf.constant(10)
b=tf.constant(20)
add_op=tf.add(a,b)

#run graph in session
with tf.Session() as session:
    print(session.run(info_op))
    print(session.run(add_op))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

結果:

這裡寫圖片描述

這裡需要把一些出現了的你可能會迷糊的“關鍵字”挑出來。分別是constanttf.addtf.Session這些。但是你現在並不需要馬上理解他們是什麼。挑出來的原因就是這些事呼叫的tensorflow的API,你現在不用知道是什麼,雖然你可能已經猜出來他們的意義了。 
這裡想要說的重點是建立一個tensorflow程式的過程。首先肯定是載入必要的包,這是廢話。然後建立圖(graph),然後再在session裡面執行圖。如果現在還是很暈的話,沒有關係,例子見多了就熟悉了。

最後,插入一個tensoflow的API官方文件,以後的內容會隨時連結到這裡。 
API r1.0

相關文章