Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tích tensor mảng khác chiều theo trục cụ thể trong Python

Tham số axes=1 trong numpy.tensordot() co 1 trục cuối của a với 1 trục đầu của b.

Ví dụ với axes=1

import numpy as np

arr1 = np.array(range(1, 9)).reshape(2, 2, 2)
arr2 = np.array(['p', 'q', 'r', 's'], dtype=object).reshape(2, 2)

print("Mảng 1:", arr1)
print("Mảng 2:", arr2)

# Co đơn axes=1
result = np.tensordot(arr1, arr2, axes=1)
print("Tích tensor:", result)

Kết quả

Mảng 1: [[[1 2] [3 4]] [[5 6] [7 8]]]
Mảng 2: [['p' 'q'] ['r' 's']]
Tích tensor: [[['prr' 'qss'] ['ppprrrr' 'qqqssss']]
 [['ppppprrrrrr' 'qqqqqssssss'] ['ppppppprrrrrrrr' 'qqqqqqqssssssss']]]

axes=1 co trục cuối của arr1 (kích thước 2) với trục đầu của arr2 (kích thước 2). Kết quả giữ trục 0,1 của arr1 và trục 1 của arr2: hình dạng (2, 2, 2).