放弃模拟matlab的矩阵乘

博主在尝试解决RNN模型中的矩阵运算问题时,发现numpy的矩阵乘法与预期结果有出入。通过查找源码,了解到numpy内部使用了GEMM(通用矩阵乘法)等底层库进行高效计算。尽管感到复杂而选择放弃深入研究,但博主计划继续完成最简RNN的实现,并推荐进一步阅读关于BLAS和GEMM的内容,以增进对数值计算的理解。
摘要由CSDN通过智能技术生成

放弃模拟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上找到了源码,然后,
他们用了外部的代码,GEMMSYRK,然后又找到了被称为GEMM的东西,感觉有些无所适从.

结果

原来这么复杂.我得放弃了 : )
不过那个最简RNN得做完.

Further Reading(下辈子看)

BLAS
“通用矩阵乘(GEMM)优化算法 | 黎明灰烬 博客”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值