TensorFlow - 各种tensor的创建(主要是矩阵)
flyfish
操作tensor,相当于操作,向量,矩阵等
C++使用eigen库,python使用numpy库
给定的python的类型可以转换成tensor
import numpy as np
import tensorflow as tf
sess = tf.Session()
def my_func(arg):
arg = tf.convert_to_tensor(arg, dtype=tf.float32)
return arg
# The following calls are equivalent.
value_1 = my_func(tf.constant([[1.0, 2.0], [3.0, 4.0]]))
#[[1. 2.]
# [3. 4.]]
value_2 = my_func([[1.0, 2.0], [3.0, 4.0]])
#[[1. 2.]
# [3. 4.]]
value_3 = my_func(np.array([[1.0, 2.0], [3.0, 4.0]], dtype=np.float32))
#[[1. 2.]
# [3. 4.]]
print(sess.run(value_1))
print(sess.run(value_2))
print(sess.run(value_3))
#常量矩阵
A1= tf.fill([2, 3], 9.0)
print(sess.run(A1))
#[[9. 9. 9.]
#[9. 9. 9.]]
#对角矩阵
#对角矩阵(diagonal matrix)是一个主对角线之外的元素皆为0的矩阵 。
A2 = tf.diag([1.0, 2.0, 3.0])
print(sess.run(A2))
#[[1. 0. 0.]
# [0. 2. 0.]
# [0. 0. 3.]]
#从均匀分布中输出随机值
A3= tf.random_uniform([3, 2])
print(sess.run(A3))
#[[0.21950924 0.82714176]
# [0.63310266 0.9047049 ]
# [0.78585243 0.9848778 ]]
#从正态分布中输出随机值
A4 = tf.truncated_normal([2, 3])
print(sess.run(A4))
#[[-0.5070633 0.7598405 1.0642177 ]
# [-0.70871496 -0.014733 -0.53850174]]