日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

DL框架之TensorFlow:深度学习框架TensorFlow Core(低级别TensorFlow API)的简介、安装、使用方法之详细攻略

發布時間:2025/3/21 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DL框架之TensorFlow:深度学习框架TensorFlow Core(低级别TensorFlow API)的简介、安装、使用方法之详细攻略 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

DL框架之TensorFlow:TensorFlow Core(低級別TensorFlow API)的簡介、安裝、使用方法之詳細DL框架之TensorFlow:深度學習框架TensorFlow Core(低級別TensorFlow API)的簡介、安裝、使用方法之詳細攻略

?

?

目錄

TensorFlow Core的簡介

TensorFlow Core的安裝

TensorFlow Core的使用方法

TensorBoard

會話 (Session)


?

?

?

?

TensorFlow Core的簡介

? ? ? TensorFlow Core是低級別TensorFlow API。

?

?

TensorFlow Core的安裝

默認自帶

?

TensorFlow Core的使用方法

參考文章:https://tensorflow.google.cn/guide/low_level_intro

您可以將 TensorFlow Core 程序看作由兩個互相獨立的部分組成:

  • 構建計算圖 (tf.Graph)。
  • 運行計算圖(使用?tf.Session)。
  • 計算圖是排列成一個圖的一系列 TensorFlow 指令。圖由兩種類型的對象組成。

    • 操作(簡稱“op”):圖的節點。操作描述了消耗和生成張量的計算。
    • 張量:圖的邊。它們代表將流經圖的值。大多數 TensorFlow 函數會返回?tf.Tensors。

    重要提示:tf.Tensors?不具有值,它們只是計算圖中元素的手柄。

    我們來構建一個簡單的計算圖。最基本的指令是一個常量。構建指令的 Python 函數將一個張量值作為輸入值。生成的指令不需要輸入值。它在運行時輸出的是被傳遞給構造函數的值。我們可以創建如下所示的兩個浮點數常量?a?和?b:

    a = tf.constant(3.0, dtype=tf.float32) b = tf.constant(4.0) # also tf.float32 implicitly total = a + b print(a) print(b) print(total)

    ?

    打印語句會生成:

    Tensor("Const:0", shape=(), dtype=float32) Tensor("Const_1:0", shape=(), dtype=float32) Tensor("add:0", shape=(), dtype=float32)

    ?

    請注意,打印張量并不會如您可能預期的那樣輸出值?3.0、4.0?和?7.0。上述語句只會構建計算圖。這些?tf.Tensor對象僅代表將要運行的操作的結果。

    圖中的每個指令都擁有唯一的名稱。這個名稱不同于使用 Python 分配給相應對象的名稱。張量是根據生成它們的指令命名的,后面跟著輸出索引,如上文的?"add:0"?所示。

    TensorBoard

    TensorFlow 提供了一個名為 TensorBoard 的實用程序。TensorBoard 的諸多功能之一是將計算圖可視化。您只需要使用幾個簡單的命令就能輕松完成此操作。

    首先將計算圖保存為 TensorBoard 摘要文件,具體操作如下所示:

    writer = tf.summary.FileWriter('.') writer.add_graph(tf.get_default_graph())

    ?

    這將在當前目錄中生成一個?event?文件,其名稱格式如下:

    events.out.tfevents.{timestamp}.{hostname}

    ?

    現在,在新的終端中使用以下 shell 命令啟動 TensorBoard:

    tensorboard --logdir .

    ?

    接下來,在您的瀏覽器中打開 TensorBoard 的圖頁面,您應該會看到與以下圖形類似的圖:

    要詳細了解 TensorBoard 的計算圖可視化工具,請參閱?TensorBoard:圖的直觀展示。

    會話 (Session)

    要評估張量,需要實例化一個?tf.Session?對象(非正式名稱為會話)。會話會封裝 TensorFlow 運行時的狀態,并運行 TensorFlow 操作。如果說?tf.Graph?像一個?.py?文件,那么?tf.Session?就像一個?python?可執行對象。

    下面的代碼會創建一個?tf.Session?對象,然后調用其?run?方法來評估我們在上文中創建的?total?張量:

    sess = tf.Session() print(sess.run(total))

    ?

    當您使用?Session.run?請求輸出節點時,TensorFlow 會回溯整個圖,并流經提供了所請求的輸出節點對應的輸入值的所有節點。因此此指令會打印預期的值 7.0:

    7.0

    ?

    您可以將多個張量傳遞給?tf.Session.run。run?方法以透明方式處理元組或字典的任何組合,如下例所示:

    print(sess.run({'ab':(a, b), 'total':total}))

    ?

    它返回的結果擁有相同的布局結構:

    {'total': 7.0, 'ab': (3.0, 4.0)}

    ?

    在調用?tf.Session.run?期間,任何?tf.Tensor?都只有單個值。例如,以下代碼調用?tf.random_uniform?來生成一個?tf.Tensor,后者會生成隨機的三元素矢量(值位于?[0,1)?區間內):

    vec = tf.random_uniform(shape=(3,)) out1 = vec + 1 out2 = vec + 2 print(sess.run(vec)) print(sess.run(vec)) print(sess.run((out1, out2)))

    ?

    每次調用?run?時,結果都會顯示不同的隨機值,但在單個?run?期間(out1?和?out2?接收到相同的隨機輸入值),結果顯示的值是一致的:

    [ 0.52917576 ?0.64076328 ?0.68353939] [ 0.66192627 ?0.89126778 ?0.06254101] (array([ 1.88408756, ?1.87149239, ?1.84057522], dtype=float32),array([ 2.88408756, ?2.87149239, ?2.84057522], dtype=float32) )

    ?

    部分 TensorFlow 函數會返回?tf.Operations,而不是?tf.Tensors。對指令調用?run?的結果是?None。您運行指令是為了產生副作用,而不是為了檢索一個值。這方面的例子包括稍后將演示的初始化和訓練操作。

    ?

    ?

    總結

    以上是生活随笔為你收集整理的DL框架之TensorFlow:深度学习框架TensorFlow Core(低级别TensorFlow API)的简介、安装、使用方法之详细攻略的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。