How can we compute batch matrix-matrix product of matrices (3-D tensors) in MATLAB?
11 ビュー (過去 30 日間)
古いコメントを表示
I have two 3-D tensors of size b*n*m and b*m*p. I need the product of these two tensors to get the output size as b*n*p. I have used direct matrix multiplication using * operator. Moreover, I have used 'pagetimes'. But it is not working. Is there any function in MATLAB like 'torch.bmm' in python as shown in link: https://pytorch.org/docs/stable/generated/torch.bmm.html to do the matrix multiplication of two 3-D tensors.
0 件のコメント
採用された回答
Bruno Luong
2023 年 12 月 5 日
b = 2;
n = 3;
m = 4;
p = 5;
A = rand(b,n,m);
B = rand(b, m,p);
AA = permute(A, [2 3 1]);
BB = permute(B, [2 4 1 3]);
AB=pagemtimes(AA, BB);
AB=permute(AB,[3 1 4 2]);
size(AB)
AB
5 件のコメント
Bruno Luong
2023 年 12 月 6 日
Sorry I don't know dlarray, and I'm not sure what layer do you refer to.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で AI for Signals についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!