Hey!
So, I am currently enrolled in a Master’s Degree program and started my thesis this semester. I still have a year to develop it, so what I’m doing now is gathering as much info as I can about libraries for ML. My adviser and I have decided that we’re going to use Vision Transformers as our approach to train an agent to inspect products at factories.
So, a little background on me: I am a self-taught game developer. I’ve learned Lua, C, C++, and C# to make games, that’s what I’m good at. I’ve studied the basics of ML at uni, but it was on Python. My most proficient language is C++, as I’ve worked a lot with it and feel comfortable with it, so I was thinking: Are there any good ML libraries for C++? Libraries that are as easy to use as Python libs (TensorFlow, Pytorch, etc.), for example? I love the way that you have control over the resources when coding with C and/or C++. Runtime speed is a bonus too.
Thanks for the help :)
Don’t. Just use pytorch or jax. You cannot do a lot wrong in python, and the libraries are by far the most advanced and give you what you want the quickest. If this is a science project, not an engineering one, these will always be you best options.
There is a cpp implementation of ViT by Nvidia https://github.com/NVIDIA/FasterTransformer/blob/main/docs/vit_guide.md
You might want to look at TVM (https://tvm.apache.org/), it’s used in projects like MLC (https://github.com/mlc-ai/mlc-llm) to run inference on models in C++, and works great.
I’m not master degree level when it comes to coding but I have used solutions derived from that project for some experimental Unity plugins, which aren’t really feasible with python.