深度学习——基础类型

63 阅读1分钟

张量及其操作

张量是一个多维数组(其实就和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)

image.png

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") # 计算乘法

image.png

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)

image.png