TensorFlow 人工智能引擎 入門教程之一 基本概念以及理解

首先你們看2 張圖片   在0.8版本時候已經支持分佈式了 ,因此將來的發展 方面 人工智能的趨勢 不可擋,並且我的也是很是喜歡caffe 以及 tensorFlow 的我創業 用的就用到了它。java

   



       下面咱們來說一下 學習tensorFlow要了解的基礎知識。 python

 首先安裝方面 很簡單 git

      

  

ubuntu 下  pip install 這裏 知識安裝普通的0.5版本,若是須要最新版 看github上最新的0.8版本

安裝好了 就能夠開始使用了 github

      首先 1.tensorflow  = tensor + flow = ndarray + dag圖(網絡)ubuntu

也就是說 經過 每個 有向圖 dag 把每一步操做op 鏈接起來  傳遞 輸入 輸出都是一個nd array 多維數組(numpy) 而後在tensorFlow的回話中進行計算操做,api

      1.佔位符數組

       

x = tf.placeholder(tf.float32, [None, 10])
y = tf.placeholder("float")
z = tf.placeholder(tf.int32)

  佔位符表示當OP 操做進行時候傳遞進來的過程,,也就是 feed 餵養 給予操做,因此 須要外部傳遞過來,好比訓練圖像時候
網絡

  X 爲圖像數據 Y爲圖像標籤,這樣的時候 X Y 都是來自訓練測試數據,因此前面須要定義2個用來傳遞的佔位符來傳遞X Y session

  feed 須要傳遞 python中的 tuple元祖 feed_dict={x: xdata, y: ydata} ,當執行op操做時候 feed傳入替換 ,執行完後銷燬dom

  

   這裏上面 第二個參數 shape 表示約束維度  好比 shape=(1024,1024) 就是約束爲1024 行 1024列的二維數組 

   若是shape=(None,1024) None 是python中的空值 ,表示 能夠任何維度行的 1024列的二維數組

   2.變量 

     在tensorFlow 一些隨時用來計算 變化 操做 共享的量, 咱們知道OP 操做 在python傳遞的是ndarray多維數組 C++中就是tensorFlow的tensor類,多維數組在tensorFlow表示就是變量 

  

 w = tf.Variable(0.0, name="weights")
 b=  tf.Variable (tf.zeros([100]),name="bias")

  Variable第一個參數 表示 初始化的值 ,好比w 初始化爲0 這樣 w 在後面的過程當中會一直變化,下次可能獲取w時候是w=xxx 某個值,在tensorFlow中這種 能夠經過fetch 也就是當須要得到 傳遞 某個最新的w 時候 能夠 session.run([w]) ,這時候   傳遞的w 就是每次最新變化的最新的w

   若是有時候須要常量 使用

   

 k = tf.constant(3.0) #表示定義一個值爲3.0的常量

       

   3.Session 回話

     TensorFlow  經過回話 進行 鏈接 操做 執行全部的op(操做)造成一個有向圖,進行執行運行 圖計算 graph compute

     每個回話 的 只要有變量存在的狀況 網絡圖  第一個bottom都是 initop 也就是初始化變量

    

init = tf.initialize_all_variables()
with tf.Session() as session:
   session.run(init)#1.第一個圖的節點op   
   session.run(googlenet)#2.第二個圖的節點op 1-2-n
   sess.close()#釋放資源

相似於ipython同樣 有交互式 的

InteractiveSession交互式回話session

 

sess = tf.InteractiveSession()

  





TensorFlow =  tensor (多維數組) + flow (graph 圖 op)  session回話上下文管理   variable == tensor(多維數據變量)

placeholder == 外部傳入的參數變量  

下面看看官方文檔上的一個例子

 這裏numpy 其實 tensor 二維數組就是numpy中的ndarrary

 tf.random_uniform 能夠見api手冊 就是隨機的生成均勻分佈的 一些-1 1 之間的shape 爲1 2的二維數組

GradientDescentOptimizer 表示訓練時候使用梯度降低來優化 ,還有不少優化策略。

   


 這一章都是基礎概念 。後面 可能 要去工做了,時間不是那麼有空,週末 可能 有空纔會更新 ,後面章節咱們來使用 tensorFow 來定一個 深度學習網絡DNN 以及 卷積神經網絡CNN .我創業 就到了TensorFlow  因此放心 tensorFlow 我仍是比較瞭解的至少能夠熟練使用吧,也許不少地方有些不足,請見諒 下面咱們使用運行 測試 看看。

這裏 提一下 就是由於上面有中文,因此在前面加上coding 讓他utf-8 這是python基礎知識

  

 運行結果

 

相關文章
相關標籤/搜索