Handwritten digits, in C++
I wrote a small vision transformer in C++17 that trains on MNIST and can read a photo of one digit. One build runs on the CPU. The CUDA build keeps the data and the weights on the GPU. In the same period, a class group of five, including me, trained a plain multilayer network on CUDA: 784 inputs, then 512, 256, 128, 64, and 10 digit scores. The same kind of network also exists for Apple GPUs.
