4 ms·
Kudos to the team. Anybody know if we can we train in languages other than Python yet (or do I have that wrong)?
by sixbrx 10y ago
Kudos to the team. Anybody know if we can we train in languages other than Python yet (or do I have that wrong)?
- sremani 10y agoFrom the page: ----------------------------------------------------- Language options TensorFlow comes with an easy-to-use Python interface and no-nonsense interfaces in other languages to build and execute computational graphs. Write stand-alone TensorFlow Python, C++, Java, or Go programs, or try things out in an interactive TensorFlow iPython notebook where you can keep notes, code, and visualizations logically grouped. This is just the start though — we're hoping to entice you to contribute interfaces to your favorite language — be it Lua, JavaScript, or R. --------------------------------------------------------
- tensor 10y agoYes, though last I remember reading about this the symbolic differentiation only worked in python, and ergo training with other languages wasn't quite there. I think the language on the page was always similar to the above.
- desku 10y agoI believe there's bindings for: C++, Java, Rust, Haskell and Go.
- danieldk 10y agoTo load graphs and run sessions. Constructing graphs is (still) another story.
- chewxy 10y agoWell there's Gorgonia[0] (shameless promo: I wrote it). It's like TF/Theano. I'm finishing up porting/upgrading the CUDA related code from the older version (long story short: I needed a dependency parser and so I hacked on CUDA stuff and now I'm paying the price for not properly engineering it) [0]: https://github.com/chewxy/gorgonia https://github.com/chewxy/gorgonia
- vomjom 10y agoI'll discuss this a bit during my talk at the dev summit. The short answer is no. The long answer is yes, but only if you create the model in Python, export it, and then feed training data in other languages. There are some people doing exactly that. Long term, I'd like to give all languages equal footing, but there's quite a bit of work left.
- deleted 10y ago[deleted]
- VeejayRampay 10y agoForgive my ignorance, but why is it that it is Python-only? Does Python have intrinsic qualities that other languages don't possess or is it that the huge initial investment in creating TensorFlow was based on Python and duplicating that effort somewhere else would require too much work?
- jamesblonde 10y agoTraditionally, most neural network architectures have been implemented in C/C++ - for performance reasons. But ML researchers are not hackers, for the most part, and Python has the lowest impedence mismatch for interfacing with C/C++ of all the major languages. Julia was popular for a bit, but now Python is dominant. Programs tend to be very small, and not modular - so static type checking is less important than it would be in picking up errors in larger systems.
- mattnewton 10y agoIt's not just the lowest impedance mismatch, but it's also a framework coming out of google, where python and Java were really the only two language choices for a high level interface, and of the two python is the clear winner in prototyping / scientific community acceptance. I think it's because of the ease in experimentation and expressiveness of the language.
- vomjom 10y agoYeah, essentially a lot of supporting libraries were written in Python at first, and they need to be ported to C++ to make other languages train.
- thasaleni 10y agothere's an official "experimental" Java version on github, and many people are using and commiting to it