Cho hai tenxơ, a và b và một đối tượng giống mảng chứa hai đối tượng giống mảng (a_axes, b_axes), tính tổng các tích của các phần tử (thành phần) của a và b trên các trục được chỉ định bởi a_axes và b_axes. Đối số thứ ba có thể là một vô hướng giống số nguyên không âm, N; Nếu đúng như vậy, thì N kích thước cuối cùng của a và N thứ nguyên đầu tiên của b sẽ được cộng lại.
Để tính toán sản phẩm dấu chấm tensor cho các mảng có kích thước khác nhau, hãy sử dụng phương thức numpy.tensordot () trong Python. Các tham số a, b là Tensors để "chấm". Tham số trục, integer_like Nếu anint N, tính tổng trên N trục cuối cùng của a và N trục đầu tiên của b theo thứ tự. Kích thước của các loại thuế tương ứng phải phù hợp. Các trục =2 là để co kép tensor.
Các bước
Đầu tiên, hãy nhập các thư viện được yêu cầu -
import numpy as np
Tạo hai mảng rỗng với các kích thước khác nhau bằng phương thức array () -
arr1 = np.array(range(1, 9)) arr1.shape = (2, 2, 2) arr2 = np.array(('p', 'q', 'r', 's'), dtype=object) arr2.shape = (2, 2)
Hiển thị các mảng -
print("Array1...\n",arr1) print("\nArray2...\n",arr2)
Kiểm tra Kích thước của cả hai mảng -
print("\nDimensions of Array1...\n",arr1.ndim) print("\nDimensions of Array2...\n",arr2.ndim)
Kiểm tra Hình dạng của cả hai mảng -
print("\nShape of Array1...\n",arr1.shape) print("\nShape of Array2...\n",arr2.shape)
Để tính tích số dấu chấm tensor cho các mảng có các kích thước khác nhau, hãy sử dụng phương thức numpy.tensordot () -
print("\nTensor dot product...\n", np.tensordot(arr1, arr2, axes = 2))
Ví dụ
import numpy as np # Creating two numpy arrays with different dimensions using the array() method arr1 = np.array(range(1, 9)) arr1.shape = (2, 2, 2) arr2 = np.array(('p', 'q', 'r', 's'), dtype=object) arr2.shape = (2, 2) # Display the arrays print("Array1...\n",arr1) print("\nArray2...\n",arr2) # Check the Dimensions of both the arrays print("\nDimensions of Array1...\n",arr1.ndim) print("\nDimensions of Array2...\n",arr2.ndim) # Check the Shape of both the arrays print("\nShape of Array1...\n",arr1.shape) print("\nShape of Array2...\n",arr2.shape) # To compute the tensor dot product for arrays with different dimensions, use the numpy.tensordot() method in Python print("\nTensor dot product...\n", np.tensordot(arr1, arr2, axes = 2))
Đầu ra
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... ['pqqrrrssss' 'pppppqqqqqqrrrrrrrssssssss']