5个简单的步骤掌握Tensorflow的Tensor( 三 )

Output: The first element of the first level is: [0 1 2 3 4 5] The second element of the first level is: [ 6789 10 11] The first element of the second level is: 0 The third element of the second level is: 2现在 , 我们已经介绍了索引的基本知识 , 让我们看看我们可以对张量进行的基本操作 。
张量基本运算你可以轻松地对张量进行基本的数学运算 , 例如:

  1. 加法
  2. 元素乘法
  3. 矩阵乘法
  4. 求最大值或最小值
  5. 找到Max元素的索引
  6. 计算Softmax值
让我们看看这些运算 。 我们将创建两个张量对象并应用这些操作 。
a = tf.constant([[2, 4],[6, 8]], dtype=tf.float32)b = tf.constant([[1, 3],[5, 7]], dtype=tf.float32)我们可以从加法开始 。
# 我们可以使用' tf.add() '函数并将张量作为参数传递 。 add_tensors = tf.add(a,b)print(add_tensors)Output:tf.Tensor( [[ 3.7.][11. 15.]], shape=(2, 2), dtype=float32)乘法
# 我们可以使用' tf.multiply() '函数并将张量作为参数传递 。 multiply_tensors = tf.multiply(a,b)print(multiply_tensors)Output:tf.Tensor( [[ 2. 12.][30. 56.]], shape=(2, 2), dtype=float32)矩阵乘法:
# 我们可以使用' tf.matmul() '函数并将张量作为参数传递 。 matmul_tensors = tf.matmul(a,b)print(matmul_tensors)Output:tf.Tensor( [[ 2. 12.][30. 56.]], shape=(2, 2), dtype=float32)注意:Matmul操作是深度学习算法的核心 。 因此 , 尽管你不会直接使用matmul , 但了解这些操作是至关重要的 。
我们上面列出的其他操作示例:
# 使用' tf.reduce_max() '和' tf.reduce_min() '函数可以找到最大值或最小值print("The Max value of the tensor object b is:",tf.reduce_max(b).numpy())# 使用' tf.argmax() '函数可以找到最大元素的索引print("The index position of the max element of the tensor object b is:",tf.argmax(b).numpy())# 使用 tf.nn.softmax'函数计算softmaxprint("The softmax computation result of the tensor object b is:",tf.nn.softmax(b).numpy())Output:The Max value of the tensor object b is: 1.0 The index position of the Max of the tensor object b is: [1 1] The softmax computation result of the tensor object b is: [[0.11920291 0.880797][0.11920291 0.880797]]操纵形状就像在NumPy数组和pandas数据帧中一样 , 你也可以重塑张量对象 。
这个变形操作非常快 , 因为底层数据不需要复制 。 对于重塑操作 , 我们可以使用tf.reshape函数
# 我们的初始张量a = tf.constant([[1, 2, 3, 4, 5, 6]])print('The shape of the initial Tensor object is:', a.shape)b = tf.reshape(a, [6, 1])print('The shape of the first reshaped Tensor object is:', b.shape)c = tf.reshape(a, [3, 2])print('The shape of the second reshaped Tensor object is:', c.shape)# 如果我们以shape参数传递-1 , 那么张量就变平坦化 。 print('The shape of the flattened Tensor object is:', tf.reshape(a, [-1]))Output:The shape of our initial Tensor object is: (1, 6) The shape of our initial Tensor object is: (6, 1) The shape of our initial Tensor object is: (3, 2) The shape of our flattened Tensor object is: tf.Tensor([1 2 3 4 5 6], shape=(6,), dtype=int32)