gpt4 book ai didi

python - 如何在 python 中获取 "flatten"张量乘积矩阵?

转载 作者:太空宇宙 更新时间:2023-11-04 00:05:55 25 4
gpt4 key购买 nike

我从一个 3x3 数组 m 开始,然后张量将其与自身相乘。

我得到一个由 3x3 数组组成的 3x3 数组,但实际上我想要一个 9x9 数组:

import numpy as np

m = np.array([[1. , 0.5, 0. ], [0.5, 1. , 0.5], [0. , 0.5, 1. ]])
a = np.tensordot(m,m, axes=0)

我尝试了 a.reshape(9,9) 但它没有达到我想要的效果......还有更多想法吗?

最佳答案

我不确定我是否理解正确的问题,但我想你可能想要的是:

import numpy as np

m = np.array([[1. , 0.5, 0. ], [0.5, 1. , 0.5], [0. , 0.5, 1. ]])
a = np.tensordot(m, m, axes=0)
a = a.transpose((0, 2, 1, 3)).reshape((9, 9))
print(a)

输出:

[[1.   0.5  0.   0.5  0.25 0.   0.   0.   0.  ]
[0.5 1. 0.5 0.25 0.5 0.25 0. 0. 0. ]
[0. 0.5 1. 0. 0.25 0.5 0. 0. 0. ]
[0.5 0.25 0. 1. 0.5 0. 0.5 0.25 0. ]
[0.25 0.5 0.25 0.5 1. 0.5 0.25 0.5 0.25]
[0. 0.25 0.5 0. 0.5 1. 0. 0.25 0.5 ]
[0. 0. 0. 0.5 0.25 0. 1. 0.5 0. ]
[0. 0. 0. 0.25 0.5 0.25 0.5 1. 0.5 ]
[0. 0. 0. 0. 0.25 0.5 0. 0.5 1. ]]

关于python - 如何在 python 中获取 "flatten"张量乘积矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54073506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com