1. 程式人生 > 實用技巧 >【tensorflow】矩陣

【tensorflow】矩陣

1.定義矩陣、獲取指定行列元素

程式碼:

import tensorflow.compat.v1 as tf
tf.disable_eager_execution()      # 保證sess.run()能夠正常執行

data1 = tf.constant([[1, 2],      # 宣告矩陣
                     [3, 4],
                     [5, 6]])
print(data1.shape)                # 輸出矩陣維度

with tf.Session() as sess:
    print(sess.run(data1[1]))     #
輸出矩陣第2行 print(sess.run(data1[:, 1])) # 輸出矩陣第2列 print(sess.run(data1[1, 1])) # 輸出矩陣第2行、第2列的資料

輸出結果:

2.矩陣的乘法和加法

程式碼:

import tensorflow.compat.v1 as tf
tf.disable_eager_execution()              # 保證sess.run()能夠正常執行

data1 = tf.constant([[1, 2]])             # 宣告矩陣
data2 = tf.constant([[3],
                     [
4]]) data3 = tf.constant([[5, 6]]) matMul = tf.matmul(data1, data2) # 兩矩陣相乘 matAdd = tf.add(data1, data3) # 兩矩陣相加 with tf.Session() as sess: print(data1.shape, "*", data2.shape) print(sess.run(matMul)) # 輸出相乘結果 print(data1.shape, "+", data3.shape)
print(sess.run(matAdd)) # 輸出相加結果

輸出結果:

3.定義全 0 、全 1 和自動填充矩陣

程式碼:

import tensorflow.compat.v1 as tf
tf.disable_eager_execution()  # 保證sess.run()能夠正常執行

data1 = tf.zeros([2, 3])      # 全0矩陣
data2 = tf.ones([2, 1])       # 全1矩陣
data3 = tf.fill([2, 2], 3)    # 自動填充矩陣
with tf.Session() as sess:
    print(sess.run(data1))    # 輸出結果
    print(sess.run(data2))
    print(sess.run(data3))

輸出結果:

4.其他特殊形式的矩陣

程式碼:

import tensorflow.compat.v1 as tf
tf.disable_eager_execution()              # 保證sess.run()能夠正常執行

data1 = tf.constant([[2, 3, 4],
                     [5, 6, 7]])
data2 = tf.zeros_like(data1)              # 相同維度的全0矩陣
data3 = tf.lin_space(0.0, 12.0, 3)        # 範圍內的均分矩陣
data4 = tf.random_uniform([2, 2], -2, 5)  # 範圍內的隨機矩陣
with tf.Session() as sess:
    print(sess.run(data2))                # 輸出結果
    print(sess.run(data3))
    print(sess.run(data4))

輸出結果: