【tensorflow】矩陣
阿新 • • 發佈:2020-08-09
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))
輸出結果: