Tensorflow 2.0 Preview
tensorflow.orgA guy from Google Brain came over to a Capital One meetup and talked at length about the `autograph` module; check it out! I remember they did some neat things with extending Python's operator overloading in order to generate Tensorflow graph code.
Thanks for mentioning AutoGraph - looks good! BTW, I am also at C1 (Machine Learning team at UIUC).
Couldn't find anything about it, but does anyone know if it supports Python 3.7 yet? Just messed around with TF yesterday on a Windows dev box, and the version downgrade shuffle was annoying.
Python 3.7 Compatibility is being tracked here: https://github.com/tensorflow/tensorflow/issues/20517
Burned by the same problem. A while ago I switched to never doing any DL without using a conda environment.
At work I do DL projects in separated containers with the nvidia docker runtime. That means I can use any combination of cuda/ubuntu/python versions independent of the host system or other projects.
I’ve tried that as well but often ran into driver issues. Conda has seemed to work better for me.
Are the changes between ~1.13 and 2.0 finalized yet? Last I checked they were still in flux, outside of a few blog posts which state that config defaults changed: https://medium.com/tensorflow/whats-coming-in-tensorflow-2-0...
Biggest change for me is it seems like there's more of an incentive to use tf.keras instead of external Keras, for simplicity.
Can someone summarize the changes between 1.13 and 2.0? Given the major version increment, I'd assume there's a major paradigm shift.
This blog post gives a decent overview: https://medium.com/tensorflow/whats-coming-in-tensorflow-2-0...
Seems like mostly changes for production users vs. researchers. Not that there's any particular feature I'm dying for as a researcher (though a deterministic reduce_sum would be nice). Is pytorch more directly pursuing the "fast iteration, few assumptions" that ML researchers want?
Is the source code available for this 2.0 preview? I'd like to look at whatever changes there are in the C++ API.
What's interesting about Google is, they can have open source products that are hated a big % of devs (Angular) and something that doesn't have that problem (Tensorflow).
I wonder what's the underlying issue behind this disparity. Wonder if it the teams themselves behind those products...
Maybe it's the software itself and nothing associated with it. When something is 'Google' it's not automatically good or bad.
I see PyTorch and, to a much lesser extent, DyNet used in state-of-the-art NLP applications. I wonder if PyTorch is “winning”.
PyTorch is gaining popularity but still behind Tensorflow in popularity, code, documentation and models available. The main difference is the eager execution that Tensorflow does not have until 2.0 that is out soon.
A lot responses challenging your Angular-is-hated claim, but I'd like to challenge your other one.
Tensorflow is not necessarily the most loved framework, despite it being in python, and being around for years now. This is in stark contrast to the way TF was marketed and hyped up, as the f/w that's going to take over the world of DL. That clearly didn't happen.
I think torch/pytorch is more popular (but don't quote me on that). And there are about half-a-dozen more competing with these two.
Putting two and two together, Angular and TF likely have more similarities than differences when it comes to community response.
what other viable projects besides tf/torch you would recommend to take a look at?
I think there are dozens of inference frameworks. But full featured ones probably just TF / PyTorch / mxnet / Chainer that I am aware of (since caffe2 is merged into PyTorch).
I think "hated" is a too strong a word here. They're releasing software that they use themselves and I think there are hits and misses in large part based upon how closely your own processes and what you're trying to accomplish match up with what Google is trying to do.
I'm no fan of Angular but that's a bit harsh.
Surely it's just the difference between a product for mass consumption and a niche one.
Old opinions strongly held. I think Angular 1 left a bad taste in peoples mouths and that gets carried over in perpetuity. Take php for example, I'm sure you can find plenty of devs who haven't touched php in 10+ years but will still say they despise it.
Angular is hated? Angular is my only way out of Javascript fatigue, it just works.
It gets a lot of hate on HN when compared to React/Vue/etc, but I used it for years and it was a breathe of fresh air coming from raw JS. I think a lot of people on HN form opinions on software and its landscape without actually using it or interacting with its community (outside of HN).
According to on of the biggest frontend developer surveys, The State of JavaScript 2018 [1], Angular is the leading framework that people don't want to use again after having tried it.
So it's not merely HN criticism, this is a very common theme and having used all popular big name fronted frameworks myself extensively, I can also see why many people feel that way. Not gonna steer the discussion there, though, just came here to point out that it's not a niche opinion.
[1] https://2018.stateofjs.com/front-end-frameworks/overview/
That survey is biased, because it makes Angular == Angular 2+ == AngularJS.
I used Angular 5 on two projects last year and was quite happy with the experience.
While this is a very personal opinion, the main problems that I have with Angular are only increased with newer versions. I used to really like Angular 1.x, from there on, the required amount of scaffolding etc has only increased.
I'm sure you can however find someone who feels just the opposite way.
All in all I don't think this affects the results too much though. For example Vue is also in one big bucket with 1.x still being a thing. Angular isn't the only one who's had a fair share of changes over time.
It doesn’t conflate angular and angularjs at all - there is explicit mention of both of them and the differences.
So where are the charts showing the difference between AngularJS and Angular adoption?
I see Vue as ,,Angular, the good parts.'' It's not that Angular is that bad, it's more that it was over-engineered (just like TensorFlow compared to pyTorch), but it was the best framework when it came out.
Have used both, though granted React was the first SPA i learnt and i had to use Angular 1.x (shudders) and i absolutely hate working Angular 1.x.
It's so weird to me that AngularJS (1.x) is a polarizing as Electron.
It has it's warts, but I still love it as it's productivity factor is off the charts. Tried getting into Vue but do not want to deal with the complexity of learning a build tool. Could not get routing to work in Vue with static files.
I think most people (including me) didn't like the 1.4 to 2.0 "transition" (e.g. not a single ounce of backward compatibility, basically Angular 1.4 was abandoned)
you might not be aware but there is a lot of unhappiness with TensorFlow in the community. For example, I hear many comments about how complex it is, how hard the basic API is to use, how many random parts it's acquired. Most of those people point at Torch, and in fact tensorflow is adopting some of Torch's approaches for this reason.
It will be interesting to see if tensorflow retains a fairly high level of popularity over time. The 1->2 transition is a big risk for them because so many people are on TF 1, there's a ton of intrusive changes.
For myself, I was surprised by how low-level Tensorflow was. I found that basic operations (things like saving and reloading a trained model) were much more difficult than in Keras, scikit-learn, or other machine learning libraries. Using Tensorflow feels sort of like computing derivatives with limits.
There’s some frustration with tensorflow too. It often feels like there are a dozen different, somewhat incompatible ways to do 90% of something.
And the documentation and examples seem to go out of their way to avoid mentioning when you should use any given approach; instead happily inexplicably using any one of them with wild abandon.
In the academia people prefer PyTorch over TensorFlow.