Nhân ma trận theo lô (batch)
Trung bìnhnumpyđại số tuyến tính4 test · 12 giây · sai số 1e-5
Mô hình học sâu xử lý dữ liệu theo lô: A có shape (b, n, k), B có shape (b, k, m). Trả về C (b, n, m) với C[i] = A[i] @ B[i].
np.matmul/ toán tử@tự hiểu chiều đầu là chiều lô. Thử thêmnp.einsum('bnk,bkm->bnm', A, B).
Viết hàm
batch_matmul(A, B)Tham số
A: mảng (b, n, k)B: mảng (b, k, m)
Trả về
Mảng (b, n, m).
Ví dụ
Tham số
A = [[[1,2]],[[3,4]]] B = [[[1],[1]],[[2],[0.5]]]
Kết quả
[[[3.0]],[[8.0]]]
Tham số
A = [[[1,1],[1,1]]] B = [[[1,0],[0,1]]]
Kết quả
[[[1.0,1.0],[1.0,1.0]]]
Bài tiếp theo: Chỉ số của K phần tử lớn nhất →
Python · NumPy
Bấm “Chạy thử” để gọi batch_matmul() với 2 ví dụ trong đề và so sánh kết quả. Dùng print() thoải mái để gỡ lỗi.