张量及其操作
张量是一个多维数组(其实就和python中的数组一样)
1.基本方法
# 标量
rank_0_tensor = tf.constant(4)
print(rank_0_tensor)
# 一维张量(float32)
rank_1_tensor = tf.constant([2.0, 3.0, 4.0])
print(rank_1_tensor)
# 二维张量(float16)
rank_2_tensor = tf.constant([[1, 2],
[3, 4],
[5, 6]], dtype=tf.float16)
print(rank_2_tensor)
2.转换成numpy 我们可将张量转换为numpy中的ndarray的形式,转换方法有两种: np.array
np.array(rank_2_tensor)
Tensor.numpy()
rank_2_tensor.numpy()
3.常用函数 我们可以对张量做一些基本的数学运算,包括加法、元素乘法和矩阵乘法等:
# 定义张量a和b
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[1, 1], [1, 1]])
print(tf.add(a, b), "\n")# 计算张量的和
print(tf.multiply(a, b), "\n") # 计算张量的元素乘法
print(tf.matmul(a, b), "\n") # 计算乘法
4.变量 变量是一种特殊的张量,形状是不可变,但可以更改其中的参数。定义时的方法是: my_variable = tf.Variable([[1.0, 2.0], [3.0, 4.0]]) 我们也可以获取它的形状,类型及转换为ndarray:
print("Shape: ",my_variable.shape)
print("DType: ",my_variable.dtype)
print("As NumPy: ", my_variable.numpy)