kcxain / dlsys

My solutions to the assignments of CMU 10-714 Deep Learning Systems 2022
https://kkee.top/docs/project/dlsys
34 stars 2 forks source link

hw3 broadcast有误 #1

Closed yofufufufu closed 6 months ago

yofufufufu commented 6 months ago

https://github.com/kcxain/dlsys/blob/0ce32e1322a268ab0d6b64156dd1e62b0bb834c3/hw3/python/needle/backend_ndarray/ndarray.py#L310-L311 维度值为1并不能说明该维度一定被广播,例如(3,1,1,2)-->(3,1,2,2) 结论下早了,测试了一下发现就是按照被广播处理的,或许能解释一下原因吗

kcxain commented 6 months ago

如果一个维度的shape为1,那么这个维度的索引一定是0,stride设置为多少都可以

yofufufufu commented 6 months ago

如果一个维度的shape为1,那么这个维度的索引一定是0,stride设置为多少都可以

嗯嗯,我理解了。所以可能只是实现上的选择问题,numpy里是按照stride为0处理了