放弃模拟matlab的矩阵乘
起因
还在写那个RNN xp,还是不对,觉得可能是矩阵乘法错了.于是,经过测试,确实不一样
d:\code\mine\vanilla\compare>diff out_cpp out_py
1,3c1,3
< 1.7167761234284160 1.7616568131194064 1.7897566910788287 2.3450596316506274
< 0.5677698850940601 0.8690656101943499 0.6785119951613739 0.9838943217054150
< 0.8930406835949810 0.9505367220796967 0.9824436446098963 1.2558288316762967
---
> 1.7167761234284158 1.7616568131194064 1.7897566910788287 2.3450596316506269
> 0.5677698850940601 0.8690656101943499 0.6785119951613739 0.9838943217054151
> 0.8930406835949810 0.9505367220796967 0.9824436446098962 1.2558288316762967
于是,想知道numpy的实现.
经过
到处搜来搜去,找来找去,最后还是在github上找到了源码,然后,
他们用了外部的代码,GEMM或SYRK,然后又找到了被称为GEMM的东西,感觉有些无所适从.
结果
原来这么复杂.我得放弃了 : )
不过那个最简RNN得做完.
博主在尝试解决RNN模型中的矩阵运算问题时,发现numpy的矩阵乘法与预期结果有出入。通过查找源码,了解到numpy内部使用了GEMM(通用矩阵乘法)等底层库进行高效计算。尽管感到复杂而选择放弃深入研究,但博主计划继续完成最简RNN的实现,并推荐进一步阅读关于BLAS和GEMM的内容,以增进对数值计算的理解。
1万+

被折叠的 条评论
为什么被折叠?



