Settings

Theme

Tensorflow v1.2 released

github.com

174 points by yuanchuan 9 years ago · 44 comments

Reader

jboggan 9 years ago

"RNNCell objects now subclass tf.layers.Layer. The strictness described in the TensorFlow 1.1 release is gone: The first time an RNNCell is used, it caches its scope. All future uses of the RNNCell will reuse variables from that same scope. "

I'm so glad they fixed this, I've been running 1.0 for the last few months because the 1.1 release broke their own RNN tutorials and a lot of seq2seq code that is out there. I really, really love Tensorflow and understand it is a fast moving project but I hope they do more regression testing on their example code in the future. This is an exciting release though!

freefrancisco 9 years ago

Did they explain why they decided to stop supporting GPU for Mac OS X? That's going to make a lot of developers think twice before upgrading.

  • tempay 9 years ago

    > TensorFlow 1.1.0 will be the last time we release a binary with Mac GPU support. Going forward, we will stop testing on Mac GPU systems. We continue to welcome patches that maintain Mac GPU support, and we will try to keep the Mac GPU build working.

    Sounds like a lack of external contributors maintaining it to me, are there really that many users? Everyone I know on macOS uses docker (or some other virtualisation) to run linux for small jobs and then connects remotely to linux boxes when they need more computing power.

    • matt4077 9 years ago

      Officially, there shouldn't be very many people for whom it's relevant. The last Macs with Nvidia GPUs were sold around 2011 if I remember correctly.

      Unofficially, there may be some people using Hackitoshs with rather beefy GPUs for machine learning.

      There's a lot you can do easily on a $500 GPU that should take too long on CPU. And I prefer the shorter write/run/debug loop of working locally. It's the same niche other machine learning workstations fill, only with the preferred desktop OS.

      There will also be external GPUs for Macs soon(ish), and those would be perfect for tensorflow. I'm not sure at that point they'll want it running on Macs again, and discontinuing support now may be the wrong decision.

    • guard0g 9 years ago

      It just means OSX users (like me) have to compile from source - no different from PyTorch. Happy to provide compiled binaries for 10.12, though it's a bit of a chore to get Xcode clang and CUDA to play nice together.

      • matt4077 9 years ago

        For now–I've thought about getting involved in keeping that going, even trying to set up a travis build. But bazel, I, and C++, we simply don't enjoy the time we spend together.

  • matt4077 9 years ago

    FWIW, 1.2 does still build on MacOS. But you have to build it yourself. I did run into a fair amount of problems, but ultimately I'm not sure if those weren't of my own making.

  • wiineeth 9 years ago

    Because they depend on cuda which require NVIDIA Gpu and most of the macs are run by Amd GPU

  • jbmorgado 9 years ago

    I think because now they have AMD GPUs for some years.

    I have a MacBook Pro from 2013 and I think it was the one before the last to have a Nvidia GPU.

    Also, it's always an headache for me to get CUDA to work with Python/R libraries anytime I update the system and I have yet to find a straightforward guide that tells me exactly the steps to take... they all fail at some place.

jonbaer 9 years ago

Note: As of version 1.2, TensorFlow no longer provides GPU support on Mac OS X.

  • apetresc 9 years ago

    To be a bit more precise, the changelog says:

    > TensorFlow 1.1.0 will be the last time we release a binary with Mac GPU support. Going forward, we will stop testing on Mac GPU systems. We continue to welcome patches that maintain Mac GPU support, and we will try to keep the Mac GPU build working.

    In other words, it still works (at least for now), and they'll accept patches to keep it working - they're just not going to explicitly test for it anymore.

  • jswny 9 years ago

    Is there any explanation for why they decided to do this? I would imagine they just don't have the means to test on Mac anymore but I'd like to know why for sure.

    • Houshalter 9 years ago

      Macs don't have Nvidia GPUs and tensorflow is only supported on Nvidia.

      • dbecker 9 years ago

        I have an MBP and an iMac, both of which came with nvidia GPU's. The MBP is older, but I doubt either of these are atypical machines out there today.

        • mwfunk 9 years ago

          They probably are atypical systems for people using TensorFlow professionally though.

      • microtonal 9 years ago

        I am not sure what the current progress on OpenCL support is, but Tensorflow's configure script definitely asks whether you want to install Tensorflow with OpenCL support.

    • dgacmu 9 years ago

      The last Mac to ship with an NVidia GPU was the 2014 MBP. That was three years ago, and is starting to exit most companies' hardware refresh cycle. You can buy an external thunderbolt box and try putting an nvidia GPU in it, but the driver support isn't always functional. For an example of some of the hoops you have to go through, see: https://9to5mac.com/2017/04/11/hands-on-powering-the-macbook...

      And I'm sure you can imagine the reasons a large company wouldn't set up a Hackintosh. :) The writing is on the wall for being able to maintain a reliable test cluster, at least, for now, and broken tests are very very bad for being able to develop rapidly.

  • visarga 9 years ago

    Apple puts GPUs in these things? Sorry, I thought it only put Intel Irises. /s

startupdiscuss 9 years ago

Direct link to the list of differences:

https://github.com/tensorflow/tensorflow/blob/r1.2/RELEASE.m...

claudiug 9 years ago

Can someone explain why should I pick this over scikit? I don't have any ML exp. I found ML quite magically :/ and totally difficult to start if you don't have a phd in mathematics

  • netheril96 9 years ago

    ML/DL requires only sophomore math. Calculus, linear algebra and probability covers the majority of what you need.

  • jasperkoops 9 years ago

    Scikit is for non-deep learning machinelearning algorithms only (It does support neural networks in the latest version, but only uses the cpu to train data).

    TLDR: Use Tensorflow for deeplearning, use Scikit for other ML algorithms.

  • matt4077 9 years ago

    Scikit doesn't support GPUs, which makes it infeasible to run the sort of deep learning stuff that's currently making waves. The competitors to tensorflow are torch, caffe, and maybe Microsoft's CN(something, but not "Y")K.

    To get started, keras is an excellent library that's build on top of tensorflow and has recently become an official part of it.

    • skynode 9 years ago

      Microsoft CNTK. Originally Computational Network Toolkit. Abbreviation remains but now Microsoft Cognitive Toolkit.

  • RockyMcNuts 9 years ago

    TensorFlow is low-level. scikit or sklearn is high level off-the-shelf ML, apply this algorithm to this dataset with these parameters.

    TFlearn is a high-level off-the-shelf library built on TensorFlow, giving you some of the benefits e.g. GPU.

    It's hard to get state of the art results using off-the-shelf algorithms, unless your problem is very vanilla you typically need to get under the hood and do custom hyperparameters and tuning. That's why ML competitions like Kaggle are interesting, there are so many ways to skin the cat you can't capture them all in off-the-shelf libraries.

    But you can get very useful results with a lot less effort using sklearn and TFlearn off-the-shelf.

    • cshenton 9 years ago

      Didn't tflearn become tensorflow.contrib.learn? So there's technically a high level API in the TF standard library. Though Keras would probably be a better choice if OP wanted a high level API for deep learning.

      • aseipp 9 years ago

        A version of Keras is included in Tensorflow since 1.1 as well, under `tensorflow.contrib.keras.python.keras`. (This has been particularly useful for me as a Windows user, since my GTX 1080 is stuck in a Windows machine, and it's a little more painful to deal with upstream Keras dependencies on Windows, but TF alone works great)

  • baristaGeek 9 years ago

    Tensorflow implements the (really abstract, at least for me) concept of a computational graph. Think of it as nodes being values and edges operations.

    Among other things, what this allows you to do is partition your computational graph into different subgraphs and run each subgraph on parallel.

    Sklearn doesn't allow you to run things on parallel; however, I do agree that TF doesn't have a favorable learning curve, so you might want to start with SKlearn (or TFLearn) to get to know the basics of ML first.

maxpert 9 years ago

I wonder when would they start supporting OpenCL :( I want to use my Radeon GPU

wonderous 9 years ago

Site is desktop only:

"Oops. Since this experiment loads over 14,000 bird sounds, you'll need to view it on a desktop computer."

mk321 9 years ago

What about Java?

davidf18 9 years ago

Thank you for the release! There is an submitted issue because the Intel MKL support does not work with Mac OS X, only Linux.

There should be some way of doing this manually. Any ideas?

  • matheist 9 years ago

    I've managed to compile tensorflow with MKL on Mac OS X. The ingredients were roughly:

    1. Download MKL from Intel's website, install to /usr/local/lib/

    2. Change tensorflow's configure script to look for the downloaded library on OS X instead of just aborting.

    3. Possibly change some other bazel build files to look for .dylib instead of .so files.

    4. Build with extra flags to look for the appropriate libraries.

    I'm not sure if all these steps are necessary but they were sufficient.

    The reason I had install to /usr/local/lib/ instead of Intel's suggestion of /opt/intel/something was that, with the latter, even though I passed the appropriate directory to the linker, I think there was still some intermediate binary that wasn't seeing that path. Putting the dylibs in the default directory solved that.

    I can't contribute my patch because I did this on my employer's computer and it'd be an enormous hassle to work out the licensing stuff.

  • matt4077 9 years ago

    Are there any comparisons of MKL to the GPU versions? Because this appears to be an attempt by Intel to stay relevant in the field, and I'm sceptical when the hardware vendors are creating implementations that they couldn't get projects to do themselves.

    If you're working on Mac without an NVIDIA GPU, the best bet may be openCL. I've seen a lot of commits for that, and when it's ready I'd be surprised if even MacBook GPUs didn't run laps around CPUs.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection