计算 Python 中特定轴上不同维度的数组的张量点积

给定两个张量 a 和 b,以及一个包含两个类数组对象 (a_axes, b_axes) 的类数组对象,将 a 和 b 的元素(分量)在 a_axes 和 b_axes 指定的轴上的乘积相加。第三个参数可以是单个非负整数类标量 N;如果是这样,则将 a 的最后 N 个维度和 b 的前 N 个维度相加。

要计算不同维度数组的张量点积,请使用Python 中的方法。a, b 参数是“点”的张量。numpy.tensordot()

axes 参数 integer_like 如果是一个 int N,则按顺序对 a 的最后 N 个轴和 b 的前 N 个轴求和。相应轴的大小必须匹配。

脚步

首先,导入所需的库 -

import numpy as np

array()使用该方法创建两个具有不同维度的 numpy 数组-

arr1 = np.array(range(1, 9))

arr1.shape = (2, 2, 2)

arr2 = np.array(('p', 'q', 'r', 's'), dtype=object)

arr2.shape = (2, 2)

显示数组 -

print("Array1...\n",arr1)

print("\nArray2...\n",arr2)

检查两个阵列的尺寸 -

print("\nDimensions of Array1...\n",arr1.ndim)

print("\nDimensions of Array2...\n",arr2.ndim)

检查两个阵列的形状 -

print("\nShape of Array1...\n",arr1.shape)

print("\nShape of Array2...\n",arr2.shape)

要计算具有不同维度的数组的张量点积,请使用以下方法 -numpy.tensordot()

print("\nTensor dot product...\n", np.tensordot(arr1, arr2, axes = 1))

示例

import numpy as np

#使用 array() 方法创建两个不同维度的 numpy 数组

arr1 = np.array(range(1, 9))

arr1.shape = (2, 2, 2)

arr2 = np.array(('p', 'q', 'r', 's'), dtype=object)

arr2.shape = (2, 2)

#显示数组

print("Array1...\n",arr1)

print("\nArray2...\n",arr2)

#检查两个数组的尺寸

print("\nDimensions of Array1...\n",arr1.ndim)

print("\nDimensions of Array2...\n",arr2.ndim)

#检查两个数组的形状

print("\nShape of Array1...\n",arr1.shape)

print("\nShape of Array2...\n",arr2.shape)

#要计算具有不同维度的数组的张量点积,请使用 Python 中的 numpy.tensordot() 方法

#a, b 参数是“点”的张量。

print("\nTensor dot product...\n", np.tensordot(arr1, arr2, axes = 1))

输出结果
Array1...

[[[1 2]

[3 4]]

[[5 6]

[7 8]]]

Array2...

[['p' 'q']

['r' 's']]

Dimensions of Array1...

3

Dimensions of Array2...

2

Shape of Array1...

(2, 2, 2)

Shape of Array2...

(2, 2)

Tensor dot product...

[[['prr' 'qss']

['ppprrrr' 'qqqssss']]

[['ppppprrrrrr' 'qqqqqssssss']

['ppppppprrrrrrrr' 'qqqqqqqssssssss']]]

以上是 计算 Python 中特定轴上不同维度的数组的张量点积 的全部内容, 来源链接: utcz.com/z/297221.html

回到顶部