<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 對嵌套操作分層 在本文中,我們將學習如何在同一計算圖上放置多個操作。 ## 做好準備 了解如何將操作鏈接在一起非常重要。這將在計算圖中設置分層操作。對于演示,我們將占位符乘以兩個矩陣,然后執行加法。我們將以三維 NumPy 數組的形式提供兩個矩陣: ```py import tensorflow as tf sess = tf.Session() ``` ## 操作步驟 同樣重要的是要注意數據在通過時如何改變形狀。我們將輸入兩個大小為`3` x `5`的 NumPy 數組。我們將每個矩陣乘以一個大小常數`5` x `1,`,這將產生一個大小為`3` x `1`的矩陣。然后我們將其乘以`1` x `1`矩陣,再次產生`3` x `1`矩陣。最后,我們在最后添加`3` x `1`矩陣,如下所示: 1. 首先,我們創建要輸入的數據和相應的占位符: ```py my_array = np.array([[1., 3., 5., 7., 9.], [-2., 0., 2., 4., 6.], [-6., -3., 0., 3., 6.]]) x_vals = np.array([my_array, my_array + 1]) x_data = tf.placeholder(tf.float32, shape=(3, 5)) ``` 1. 接下來,我們創建將用于矩陣乘法和加法的常量: ```py m1 = tf.constant([[1.], [0.], [-1.], [2.], [4.]]) m2 = tf.constant([[2.]]) a1 = tf.constant([[10.]]) ``` 1. 現在,我們聲明操作并將它們添加到圖中: ```py prod1 = tf.matmul(x_data, m1) prod2 = tf.matmul(prod1, m2) add1 = tf.add(prod2, a1) ``` 1. 最后,我們通過圖提供數據: ```py for x_val in x_vals: print(sess.run(add1, feed_dict={x_data: x_val})) [[ 102.] [ 66.] [ 58.]] [[ 114.] [ 78.] [ 70.]] ``` ## 工作原理 我們剛剛創建的計算圖可以使用 TensorBoard 進行可視化。 TensorBoard 是 TensorFlow 的一個功能,它允許我們可視化計算圖和這些圖中的值。與其他機器學習框架不同,這些功能是本機提供的。要了解如何完成此操作,請參閱[第 11 章](../Text/83.html)中的 TensorBoard 秘籍中的可視化圖,更多內容使用 TensorFlow。以下是我們的分層圖如下所示: ![](https://img.kancloud.cn/ff/1f/ff1fd922c7bf17cc99972eab7b990d65_305x485.png) 圖 2:向上傳播到圖時的數據大小 ## 更多 在通過圖運行數據之前,我們必須聲明數據形狀并知道操作的結果形狀。這并非總是如此。可能有一兩個我們事先不知道的維度,或者一些可能變化的維度。為實現此目的,我們將可以改變(或未知)的維度或維度指定為值`None`。例如,要使先前的數據占位符具有未知數量的列,我們將編寫以下行: ```py x_data = tf.placeholder(tf.float32, shape=(3,None)) ``` 這允許我們打破矩陣乘法規則,但我們仍然必須遵守乘法常數必須具有相同行數的事實。當我們將數據輸入圖時,我們可以動態生成或重新整形`x_data`。當我們以不同批次大小的多批次提供數據時,這將在后面的章節中派上用場。 > 雖然使用`None`作為尺寸允許我們使用可變尺寸的尺寸,但在填充尺寸時始終建議盡可能明確。如果我們將尺寸標準化為固定尺寸,那么我們應該明確地將該尺寸寫為尺寸。建議將`None`用作維度,以限制數據的批量大小(或我們一次計算的數據點數)。
                  <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>

                              哎呀哎呀视频在线观看