I spent the last month or two writing some Neural Network software in C#, and experimenting with porting it to CUDA. After some initial tests, I decided I had enough understanding of the internal workings to cease development on my own toolkit and move to a third party solution, so I could focus on using the tools rather than developing them.
After some investigation, I decided to use Microsoft’s Cognitive Toolkit. While this does have a portion of its API available in C#, the majority of functionality is accessed through either C++ or Python. Going forward, I’ll be working in C++.
I’ve decided to run through several projects in order, beginning with Connect 4. It has a small board (7×6, or 42 spaces), and limited game length (42 moves), meaning it should be much easier for a NN to handle.