gpt4 book ai didi

python - 生成 np.einsum 评估图

转载 作者:行者123 更新时间:2023-11-30 22:34:40 28 4
gpt4 key购买 nike

我本来打算教np.einsum向同事们展示如何将其简化为乘法和求和。因此,我考虑使用字母字符而不是数字数据。在数组中。

假设我们有 A (2X2) 作为 [['a', 'b'], ['c', 'd']] 和 B (2X1) 作为 [['e'], ['f' ]]我们可以使用 einsum 创建一个矩阵 C,例如:np.einsum('ab , bc -> ac', A, B)

我想看到的是:它返回计算图:类似于:a*c + ...等。

当然,np.einsum需要数字数据,如果运行上面的代码,则会出现错误。

最佳答案

tensordot 有一个使用字符串作为其数组之一的示例,利用了 'a'*3 => 'aaa' 这一事实。但是 einsum 无法对字符串执行任何操作(这是编译代码问题)。

不久前,我写了一个类似的纯Python工作,它解析'ij,jk->'字符串,并设置适当的乘积和计算。这包括额外的调试输出。这可以作为您任务的起点。

https://github.com/hpaulj/numpy-einsum

最新的einsum做了一些优化,并提供了一些调试帮助。 np.einsum_path 提供了更多相关信息。

Understanding NumPy's einsum

https://en.wikipedia.org/wiki/Einstein_notation

关于python - 生成 np.einsum 评估图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44780195/

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