• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • google機器學習框架tensorflow學習筆記(四)

    使用TensorFlow的基本步驟

    tensorflow是一個可用于構建機器學習模型的平臺,但其實它的用途很廣泛。它是一種基于圖表的通用計算框架,可用來編寫你能想出的任何東西。事實上tensorflow.org的API頁面中提供了可在代碼中使用的低級tensorflow運算的完整列表。貢獻者們還添加了多個可以讓我們輕松的執行常見任務的高級框架。
    下圖顯示了 TensorFlow 工具包的當前層次結構:
    下表總結了不同層的用途:
    TensorFlow 由以下兩個組件組成:
    • 圖協議緩沖區
    • 執行(分布式)圖的運行時
    這兩個組件類似于 Java 編譯器和 JVM。正如 JVM 會實施在多個硬件平臺(CPU 和 GPU)上一樣,TensorFlow 也是如此。較高級別的抽象層更易于使用,但(設計方面)不夠靈活。如果您希望在某些特殊建模方面能夠更加靈活一些,則可以降低一個級別。請注意,每個級別都是使用低級 API 構建的,因此降低層次結構級別應該比較直觀。

    tf.estimator API

    tf.estimator 與 scikit-learn API 兼容。 scikit-learn 是極其熱門的 Python 開放源代碼機器學習庫,擁有超過 10 萬名用戶,其中包括許多 Google 員工。在學習如何使用tensorflow之前先了解一下Pandas。Pandas 是用于進行數據分析和建模的重要庫,廣泛應用于 TensorFlow 編碼。

    Tensorflow編程概念

    學習目標:

    • 學習 TensorFlow 編程模型的基礎知識,重點了解以下概念:

      • 張量
      • 指令
      • 會話
    • 構建一個簡單的 TensorFlow 程序,使用該程序繪制一個默認圖并創建一個運行該圖的會話

    注意:請仔細閱讀本教程。TensorFlow 編程模型很可能與您遇到的其他模型不同,因此可能不如您期望的那樣直觀。

    概念概覽

    TensorFlow 的名稱源自張量,張量是任意維度的數組。借助 TensorFlow,您可以操控具有大量維度的張量。即便如此,在大多數情況下,您會使用以下一個或多個低維張量:

    • 標量是零維數組(零階張量)。例如,\'Howdy\'  5
    • 矢量是一維數組(一階張量)。例如,[2, 3, 5, 7, 11]  [5]
    • 矩陣是二維數組(二階張量)。例如,[[3.1, 8.2, 5.9][4.3, -2.7, 6.5]]

    TensorFlow 指令會創建、銷毀和操控張量。典型 TensorFlow 程序中的大多數代碼行都是指令。

    TensorFlow (也稱為計算圖數據流圖)是一種圖數據結構。很多 TensorFlow 程序由單個圖構成,但是 TensorFlow 程序可以選擇創建多個圖。圖的節點是指令;圖的邊是張量。張量流經圖,在每個節點由一個指令操控。一個指令的輸出張量通常會變成后續指令的輸入張量。TensorFlow 會實現延遲執行模型,意味著系統僅會根據相關節點的需求在需要時計算節點。

    張量可以作為常量變量存儲在圖中。您可能已經猜到,常量存儲的是值不會發生更改的張量,而變量存儲的是值會發生更改的張量。不過,您可能沒有猜到的是,常量和變量都只是圖中的一種指令。常量是始終會返回同一張量值的指令。變量是會返回分配給它的任何張量的指令。

    要定義常量,請使用 tf.constant 指令,并傳入它的值。例如:

      x = tf.constant([5.2])
    

    同樣,您可以創建如下變量:

      y = tf.Variable([5])
    

    或者,您也可以先創建變量,然后再如下所示地分配一個值(注意:您始終需要指定一個默認值):

      y = tf.Variable([0])
      y = y.assign([5])
    

    定義一些常量或變量后,您可以將它們與其他指令(如 tf.add)結合使用。在評估 tf.add 指令時,它會調用您的 tf.constant  tf.Variable 指令,以獲取它們的值,然后返回一個包含這些值之和的新張量。

    圖必須在 TensorFlow 會話中運行,會話存儲了它所運行的圖的狀態:

    將 tf.Session() 作為會話:
      initialization = tf.global_variables_initializer()
      print y.eval()
    

    在使用 tf.Variable 時,您必須在會話開始時調用 tf.global_variables_initializer,以明確初始化這些變量,如上所示。

    注意:會話可以將圖分發到多個機器上執行(假設程序在某個分布式計算框架上運行)。有關詳情,請參閱分布式 TensorFlow

    總結

    TensorFlow 編程本質上是一個兩步流程:

    1. 將常量、變量和指令整合到一個圖中。
    2. 在一個會話中評估這些常量、變量和指令。

    創建一個簡單的Tensorflow程序

    添加import語句
    與幾乎所有 Python 程序一樣,您首先要添加一些 import 語句。 當然,運行 TensorFlow 程序所需的 import 語句組合取決于您的程序將要訪問的功能。至少,您必須在所有 TensorFlow 程序中添加 import tensorflow 語句:
    import tensorflow as tf

    TensorFlow提供了一個默認圖。不過,我們建議您明確創建自己的 Graph,以便跟蹤狀態(例如,您可能希望在每個單元格中使用一個不同的 Graph)。

    import tensorflow as tf
    
    # Create a graph.
    g = tf.Graph()
    
    # Establish the graph as the "default" graph.
    with g.as_default():
      # Assemble a graph consisting of the following three operations:
      #   * Two tf.constant operations to create the operands.
      #   * One tf.add operation to add the two operands.
      x = tf.constant(8, name="x_const")
      y = tf.constant(5, name="y_const")
      sum = tf.add(x, y, name="x_y_sum")
    
    
      # Now create a session.
      # The session will run the default graph.
      with tf.Session() as sess:
        print sum.eval()
    更多關于張量編程的內容請參考tensorflow張量編程補充點擊打開鏈接
    版權聲明:本文為qq_41196472原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/qq_41196472/article/details/79581500

    智能推薦

    谷歌機器學習框架 ---- TensorFlow

    有關TensorFlow與其他框架的詳細對比可以閱讀: https://zhuanlan.zhihu.com/p/25547838   01 TensorFlow的編程模式 編程模式分為兩種:命令式編程與符號式編程 前者是我們常用的C++,java等語言的編程風格如下 命令式編程看起來邏輯非常清晰,易于理解。而符號式編程涉及較多的嵌入和優化,如下 執行相同的計算時c,d可以共用...

    TensorFlow:實戰Google深度學習框架(四)MNIST數據集識別問題

    第5章 MNIST數字識別問題 5.1 MNIST數據處理 5.2 神經網絡的訓練以及不同模型結果的對比 5.2.1 TensorFlow訓練神經網絡 5.2.2 使用驗證數據集判斷模型的效果 5.2.3 不同模型效果比較 5.3 變量管理 5.4 TensorFlow模型持久化 5.4.1 持久化代碼實現 1. ckpt文件的保存 2. 加載已經保存的TensorFlow模型 5.4.2 持久化...

    《TensorFlow-實戰Google深度學習框架》學習筆記 計算圖、張量、會話

    3.1 TensorFlow計算模型——計算圖           Tensor:是張量,可以簡單理解為多維數組,相當于表明了數據結構           Flow:是流,表達張量之間通過計算相互轉化的過程...

    【TensorFlow實戰Google深度學習框架】學習筆記(圖像識別與卷積神經網絡)

    1、圖像識別經典數據集Cifar cifar是32x32x3的彩色圖片集 2、卷積神經網絡簡介 3、卷積神經網絡常用的結構 3.1卷積層 Filter的深度就是Filter的個數 3.2池化層 4、經典卷積神經網絡模型 卷積神經網絡結構的問題 卷積層和池化層的參數配置問題 5、卷積網絡的遷移學習 遷移學習可以總結為在別人成功的模型(網絡結構和訓練好的參數)的基礎上修改、增減自己的網絡結構。這樣做的...

    【Google 機器學習筆記】十、TensorFlow 2.1 實戰(二)基本圖像分類(MNIST)

    【Google 機器學習筆記】 十、TensorFlow 2.1 實戰(二)基本圖像分類   為節省時間,降低學習成本,本節實戰的圖片分類對象 tf.keras 中內置的 MNIST 數據集。   首先回顧機器學習編程的幾個基本步驟     1. 數據      &em...

    猜你喜歡

    Tensorflow【實戰Google深度學習框架】—使用 TensorFlow 實現模型

    文章目錄 1.建立模型(Model) 2.使用 TensorFlow 實現模型 3.使用 TensorFlow 訓練模型 1.建立模型(Model) 如下為我們進行某項實驗獲得的一些實驗數據: 我們將這些數據放到一個二維圖上可以看的更直觀一些,如下,這些數據在圖中表現為一些離散的點 我們需要根據現有的這些數據歸納出一個通用模型,通過這個模型我們可以預測其他的輸入值產生的輸出值。 如下圖,我們選擇的...

    google 機器學習速成課程 筆記1

    學習谷歌的機器學習速成課程 標簽:標簽是我們要預測的事物,也就是y 特征:特征是輸入變量,也就是x,按照如下方式指定{x1,x2,x3….,xN},合適的特征應該是具體可量化的,for example,喜歡不是可觀察且可量化的指標,鞋的美觀程度也不是,但是鞋碼和用戶點擊鞋子描述的次數是一種具體可量化的指標。 樣本:指數據的特定實例,有標簽樣本和無標簽樣本 模型:模型定義了特征和標簽之...

    實戰google深度學習框架(第四章學習筆記)

    1.**函數常用的三個: tf.nn.relu tf.sigmoid tf.tanh 2.異或問題 3.監督學習的兩大種類: 分類問題和回歸問題 分類問題使用的損失函數為交叉熵 softmax的作用是:將神經網絡前向傳播得到的結果變成一個概率分布 4. 對每個元素取對數的命令 5.回歸問題的誤差函數: 均方誤差損失函數: y_代表標準答案 6.補充一個 https://blog.csdn.net/...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    精品国产乱码久久久久久蜜桃不卡