4 ms·
Tensorflow (and most things numeric): Python. Because it was pre-decided. :) Tensorflow has a minimalistic, but good-enough C API for running graphs. So, once
by danieldk 11y ago
Tensorflow (and most things numeric): Python. Because it was pre-decided. :)
Tensorflow has a minimalistic, but good-enough C API for running graphs. So, once you've built/trained a graph in Python, you can run it from Go without much trouble.
(Source: did that last week.)
still get grumpy about it -- I've lost count of the number of times I've messed things up that static checking could have caught,
For basic numpy-like functionality Armadillo and Eigen also work fine. I agree, I highly dislike numeric Python for the lack of type checking. Combined with the relatively long compile times of e.g. Theano it's a disaster (yes, I know 'fastrun').
I'm still finding Rust incredibly annoying, but I may just be a slow learner,
I'd encourage you to continue. I am also a beginner, but wrote some small crates. Once you get the hang off it, it combines the strengths of most things out there - C++-like memory control and performance, the terseness of Python/Haskell (though map/fold/etc.), and safety. It's a truly fun language to program in. Unfortunately, the library ecosystem is still rough.
- EugeneOZ 11y ago> I'm still finding Rust incredibly annoying, but I may just be a slow learner You are writing most of your code in Go, so you don't really have practical knowledge of Rust. I recommend you to try start some project (or tool) in Rust, keep patience first month or two and then you'll love Rust. It's how came to Rust, now I'm in the "honeymoon" period with Rust and I love everything I do with it. Before Rust, I started thinking I'm losing joy in programming, by doing stupid and boring things every day.
- dgacmu 11y agoCompletely agreed. I'm mostly getting hung up on the ecosystem issues the previous person alluded to -- I gave up at some point this weekend after fighting with getting the GMP bindings working properly on my mac with libraries installed in /opt/local instead of /usr/lib, for example. (The previous "ugh" was with the built-in bigint package). That's not about the core language, per se, just about the library and tooling maturity. As I said - once I have a bit more time to throw at it, I'll give it a real shot.