<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 聲明變量和張量 張量是 TensorFlow 用于在計算圖上操作的主要數據結構。我們可以將這些張量聲明為變量和/或將它們作為占位符提供。要做到這一點,首先,我們必須學習如何創建張量。 > `tensor`是指廣義向量或矩陣的數學術語。如果向量是一維的并且矩陣是二維的,則張量是 n 維的(其中`n`可以是 1,2 或甚至更大)。 ## 做好準備 當我們創建一個張量并將其聲明為變量時,TensorFlow 會在我們的計算圖中創建幾個圖結構。同樣重要的是要指出,僅通過創建張量,TensorFlow 不會向計算圖中添加任何內容。 TensorFlow 僅在運行初始化變量的操作后執行此操作。有關更多信息,請參閱下一節有關變量和占位符的內容。 ## 操作步驟 在這里,我們將介紹我們可以在 TensorFlow 中創建張量的主要方法: 1.固定張量: * * 在下面的代碼中,我們創建了一個零填充張量: ```py zero_tsr = tf.zeros([row_dim, col_dim]) ``` * * 在下面的代碼中,我們創建了一個填充張量: ```py ones_tsr = tf.ones([row_dim, col_dim]) ``` * * 在下面的代碼中,我們創建了一個常量填充張量: ```py filled_tsr = tf.fill([row_dim, col_dim], 42) ``` * * 在下面的代碼中,我們從現有常量中創建一個張量: ```py constant_tsr = tf.constant([1,2,3]) ``` > 請注意,`tf.constant()`函數可用于將值廣播到數組中,通過編寫`tf.constant(42, [row_dim, col_dim])`來模仿`tf.fill()`的行為。 1. 相似形狀的張量:我們還可以根據其他張量的形狀初始化變量,如下所示: ```py zeros_similar = tf.zeros_like(constant_tsr) ones_similar = tf.ones_like(constant_tsr) ``` > 請注意,由于這些張量依賴于先前的張量,我們必須按順序初始化它們。嘗試一次初始化所有張量將導致錯誤。有關變量和占位符,請參閱下一節末尾的“更多...”小節。 1. 序列張量:TensorFlow 允許我們指定包含定義間隔的張量。以下函數與 NumPy 的`linspace()`輸出和`range()`輸出非常相似。請參閱以下函數: ```py linear_tsr = tf.linspace(start=0, stop=1, start=3) ``` 得到的張量具有[0.0,0.5,1.0]的序列。請注意,此函數包含指定的停止值。有關更多信息,請參閱以下函數: ```py integer_seq_tsr = tf.range(start=6, limit=15, delta=3) ``` 結果是序列[6,9,12]。請注意,此函數不包括限制值。 1. 隨機張量:以下生成的隨機數來自均勻分布: ```py randunif_tsr = tf.random_uniform([row_dim, col_dim], minval=0, maxval=1) ``` 注意,這種隨機均勻分布來自包含`minval`但不包括`maxval`(`minval &lt;= x &lt; maxval`)的區間。 要從正態分布中獲取隨機抽取的張量,可以運行以下代碼: ```py randnorm_tsr = tf.random_normal([row_dim, col_dim], mean=0.0, stddev=1.0) ``` 有時候我們想要生成在某些范圍內保證的正常隨機值。 `truncated_normal()`函數總是在指定均值的兩個標準偏差內選擇正常值: ```py runcnorm_tsr = tf.truncated_normal([row_dim, col_dim], mean=0.0, stddev=1.0) ``` 我們可能也對隨機化數組條目感興趣。要做到這一點,有兩個函數可以幫助我們:`random_shuffle()`和`random_crop()`。以下代碼執行此操作: ```py shuffled_output = tf.random_shuffle(input_tensor) cropped_output = tf.random_crop(input_tensor, crop_size) ``` 在本書的后面,我們將有興趣隨機裁剪尺寸(高度,寬度,3)的圖像,其中有三種顏色光譜。要修復`cropped_output`中的尺寸,您必須在該尺寸中為其指定最大尺寸: ```py cropped_image = tf.random_crop(my_image, [height/2, width/2, 3]) ``` ## 工作原理 一旦我們決定如何創建張量,我們也可以通過在`Variable()`函數中包含張量來創建相應的變量,如下所示(下一節將詳細介紹): ```py my_var = tf.Variable(tf.zeros([row_dim, col_dim])) ``` ## 更多 我們不僅限于內置函數:我們可以使用`convert_to_tensor()`函數將任何 NumPy 數組轉換為 Python 列表,或將常量轉換為張量。注意,如果我們希望概括函數內部的計算,該函數也接受張量作為輸入。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看