They are Python libraries. Don't make the mistake of screwing up the cause and effect here. C, Rust etc - those are the replaceable parts of the chain. There is an official C++ pytorch library and virtually nobody uses it for ML Research. People want to code in python and build those libraries so they can.
[–] pjmlp 2 days ago
[–] famouswaffles 2 days ago
They are python libraries because people reached for those languages so they could continue work in python. They are there to serve python and nothing else. It's the same with Rust. It's by no means a C++ thing.
EDIT: Not saying this is always the case. Qt>Pyside is an example where it's both technically and functionally bindings, but the vast majority of the time they are serving python. Some don't even have a native library to speak of.
[–] pjmlp 2 days ago
Otherwise they are bindings to native libraries.
We can keep discussing in circles.
[–] famouswaffles 2 days ago
So if you can't call/use the 'library' from the 'native' language, it's still a library? Whatever floats your boat. Lol.
[–] samatman 2 days ago
Otherwise it’s just a sparkling FFI.
PyTorch in C++ naturally gets little use, because most people don't want to use C++, and although possible, e.g. CINT, very few care about C++ REPLs.
Also these libraries only exist because Python cannot deliver on its own, like Lisp or Scheme, and needs such libraries in first place.
Even BASIC has better options to do machine code and system programming than Python, starting with the original Dartmouth BASIC.