A couple of years ago I wrote I fully connected multi layer nm, it's a lot of work. I see you've implemented convolutions. I wanted to do that as well, but everything changed after I got a full time job. Congratulations.
Thanks. Yes, I did. During the process of making this [1] more basic autodiff framework, I realised that it could become actually usable if the values the "Variables" contained were NumPy arrays. Then I just found myself chipping away it at.
It was worth it for me, since I found it fun to work on, learned many things, and want to continue learning in this area.
A limitation is that one only has to work out the local gradients of operations, which may or may not provide insight into the more complicated models composed of these operations.