I'm starting to implement a barebones version of pytorch in Go. The primary motivation is:<p>1. I want to better learn Pytorch and how it works so what better way than to just re-implement some of its core features.
2. I write mainly in Go and haven't come across a lot of ML support in Go
3. I'd rather have a Go ML service instead of spinning up additional infrastructure to just support a python ML service in my Go projects
3. Go's static typing, native concurrency (avoid GIL problem in python), efficient memory management, single binary deployment and more make it a better interface compared to python IMO<p>Knowing the Pytorch is mainly implemented in c++ and c under the covers, I'm not expecting any performance gains by porting it to Go. But still, will be interesting to see how it compares.<p>Check it out and let me know your thoughts!