Richard – A CNN written in C++ and Vulkan (no ML or math libs)
Richard – A CNN written in C++ and Vulkan (no ML or math libs)
This started out as a personal effort to learn more about machine learning. It's currently a CLI app where you give it a JSON file specifying your network architecture and hyperparameters and point it to your training data, then invoke it again in 'eval' mode with some data it's not seen before and it will try to classify each sample. I don't see many other people using Vulkan for GPGPU, and there may be many good reasons for that, but I wanted to try something a bit different. I've made every attempt to make the code very clean and readable and I've written up the math in documentation/math.pdf, so hopefully this is a useful learning resource for anyone interested in how neural nets work under the hood. I'll be continuing to add new features over the coming months.
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Correct prediction on native model
Similar products
Expreduce, a language for math written in Go
Mulle-container: Sets, hashtables, arrays and more – written in C
Mulle_sprintf, an extensible sprintf written in C
QuickNote (qnote) written in GoLang
Wireworld written in Nim
Tldr written in golang
Rmux, a Redis multiplexer written in Go
Rift – An Intel 8051/52 assembler written in Java
A Tmux Keylogger Written in Bash
A pipelined RISC-V processor written in VHDL