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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 使用矩陣 了解 TensorFlow 如何與矩陣一起工作對于通過計算圖來理解數據流非常重要。 > 值得強調的是矩陣在機器學習(以及一般數學)中的重要性。大多數機器學習算法在計算上表示為矩陣運算。本書未涉及矩陣屬性和矩陣代數(線性代數)的數學背景,因此強烈建議讀者充分了解矩陣以適應矩陣代數。 ## 做好準備 許多算法依賴于矩陣運算。 TensorFlow 為我們提供了易于使用的操作來執行此類矩陣計算。對于以下所有示例,我們首先通過運行以下代碼來創建圖會話: ```py import tensorflow as tf sess = tf.Session() ``` ## 操作步驟 我們將按如下方式處理秘籍: 1. 創建矩陣:我們可以從 NumPy 數組或嵌套列表創建二維矩陣,正如我們在創建和使用張量秘籍中所描述的那樣。我們還可以使用張量創建函數并為`zeros()`,`ones()`,`truncated_normal()`等函數指定二維形狀。 TensorFlow 還允許我們使用`diag()`函數從一維數組或列表創建對角矩陣,如下所示: ```py identity_matrix = tf.diag([1.0, 1.0, 1.0]) A = tf.truncated_normal([2, 3]) B = tf.fill([2,3], 5.0) C = tf.random_uniform([3,2]) D = tf.convert_to_tensor(np.array([[1., 2., 3.],[-3., -7., -1.],[0., 5., -2.]])) print(sess.run(identity_matrix)) [[ 1\. 0\. 0.] [ 0\. 1\. 0.] [ 0\. 0\. 1.]] print(sess.run(A)) [[ 0.96751703 0.11397751 -0.3438891 ] [-0.10132604 -0.8432678 0.29810596]] print(sess.run(B)) [[ 5\. 5\. 5.] [ 5\. 5\. 5.]] print(sess.run(C)) [[ 0.33184157 0.08907614] [ 0.53189191 0.67605299] [ 0.95889051 0.67061249]] print(sess.run(D)) [[ 1\. 2\. 3.] [-3\. -7\. -1.] [ 0\. 5\. -2.]] ``` > 請注意,如果我們再次運行`sess.run(C)`,我們將重新初始化隨機變量并最終得到不同的隨機值。 1. 加法,減法和乘法:要添加,減去或相乘相同維度的矩陣,TensorFlow 使用以下函數: ```py print(sess.run(A+B)) [[ 4.61596632 5.39771316 4.4325695 ] [ 3.26702736 5.14477345 4.98265553]] print(sess.run(B-B)) [[ 0\. 0\. 0.] [ 0\. 0\. 0.]] Multiplication print(sess.run(tf.matmul(B, identity_matrix))) [[ 5\. 5\. 5.] [ 5\. 5\. 5.]] ``` 值得注意的是,`matmul()`函數具有參數,用于指定是否在乘法之前轉置參數或每個矩陣是否稀疏。 > 請注意,未明確定義矩陣除法。雖然許多人將矩陣劃分定義為乘以逆,但與實數除法相比,它基本上是不同的。 1. 轉置:轉置矩陣(翻轉列和行),如下所示: ```py print(sess.run(tf.transpose(C))) [[ 0.67124544 0.26766731 0.99068872] [ 0.25006068 0.86560275 0.58411312]] ``` 同樣,值得一提的是,重新初始化為我們提供了與以前不同的價值觀。 1. 行列式:要計算行列式,請使用以下內容: ```py print(sess.run(tf.matrix_determinant(D))) -38.0 ``` 1. 反向:要查找方陣的倒數,請參閱以下內容: ```py print(sess.run(tf.matrix_inverse(D))) [[-0.5 -0.5 -0.5 ] [ 0.15789474 0.05263158 0.21052632] [ 0.39473684 0.13157895 0.02631579]] ``` > 只有當矩陣是對稱正定時,逆方法才基于 Cholesky 分解。如果矩陣不是對稱正定,那么它基于 LU 分解。 1. 分解:對于 Cholesky 分解,請使用以下內容: ```py print(sess.run(tf.cholesky(identity_matrix))) [[ 1\. 0\. 1.] [ 0\. 1\. 0.] [ 0\. 0\. 1.]] ``` 1. 特征值和特征向量:對于特征值和特征向量,請使用以下代碼: ```py print(sess.run(tf.self_adjoint_eig(D)) [[-10.65907521 -0.22750691 2.88658212] [ 0.21749542 0.63250104 -0.74339638] [ 0.84526515 0.2587998 0.46749277] [ -0.4880805 0.73004459 0.47834331]] ``` 注意,`self_adjoint_eig()`函數輸出第一行中的特征值和剩余向量中的后續向量。在數學中,這被稱為矩陣的特征分解。 ## 工作原理 TensorFlow 為我們提供了開始使用數值計算并將這些計算添加到圖中的所有工具。對于簡單的矩陣運算,這種表示法可能看起來很重。請記住,我們正在將這些操作添加到圖中,并告訴 TensorFlow 哪些張量運行這些操作。雖然現在看起來似乎很冗長,但它有助于我們理解后面章節中的符號,這種計算方式將使我們更容易實現目標。
                  <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>

                              哎呀哎呀视频在线观看