5 ms·
Eager Execution: An imperative, define-by-run interface to TensorFlow
- alextp 9y agoYou can read out more about it in the blog post ( https://research.googleblog.com/2017/10/eager-execution-imperative-define-by.html https://research.googleblog.com/2017/10/eager-execution-impe... ) or the README ( https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/eager/README.md https://github.com/tensorflow/tensorflow/tree/master/tensorf... ). This is still a preview release, so you may hit some rough edges. Looking forward to your feedback as you try it out.
- josh11b 9y agoI'm on the team that worked on this -- happy to answer questions!
- gormanc 9y agoHot damn this has got me all giddy. How will this work on single node multi-GPU systems? For example, with PyTorch you have to either use threading, multiprocessing, or even MPI. Can you think of a not-too-scary way to use eager execution with multiple GPUs?
- alextp 9y agoWe're still fairly early in the project, so for now threading is the only supported way. We can do better, however, and we're working on ways to leverage the hardware better (for example, if you have no data-dependent choices in your model we can enqueue kernels in parallel on all GPUs in your machine at once from a single python thread, which will perform much better than explicit python multithreading). Stay on the lookout as we release new experimental APIs to leverage multiple GPUs and multiple machines.
- sandGorgon 9y agoHey guys, if I could request... Please fix the serialization story for tensorflow. There 6 googleable methods to export from tensorflow and nobody knows what will work on the cloud, what can be exported from cloudml and what can be loaded on Android. It has to be consistent and there has to be one way to do it. I personally have a 10 message thread with Google cloud support on exporting a Cloud trained model to tensorflow and nobody could figure it out [Case #13619720].
- alextp 9y agoDid you try using SavedModel? It should be seamless to use downstream with tensorflow serving and it's not that hard to get estimators to spit those out.
- sandGorgon 9y agoI really wish. https://github.com/tensorflow/tensorflow/issues/12750 https://github.com/tensorflow/tensorflow/issues/12750 In fact if you dig up the case, then even official support told me that savedmodel needs some freezing using bazel otherwise it doesn't work. The github page and stackoverflow are full of these. If you can, please take the message to the other side :( I don't think the cloud guys (where training will happen in distributed mode) talk to the android guys (where models will be used after quantization). There is a huge serialization problem that all of us are currently struggling with.
- alextp 9y agoAh, I didn't know SavedModel didn't work in android. I think freezing is still the way to go there? I'm sorry, I don't personally work on the mobile side of things.
- sandGorgon 9y agoI should apologize for hijacking this thread(and i'll stop here). But Tensorflow is getting to be unusable because of the serialization story. We don't have such issues on Caffe2 or anywhere else. It essentially means different parts of the tensorflow ecosystem are unable to talk to each other. I really pray the tensorflow teams give it due importance.
- chrisprobert 9y agoAnnouncing TensorFlow's new development roadmap mandate: copy everything PyTorch is doing :-)
- deleted 9y ago[deleted]
- deleted 9y ago[deleted]
- solomatov 9y agoThat's actually very good that they are copying good things from other frameworks.
- make3 9y agoI'm usually against this type of framework baiting, but being a tensorflow guy myself & having just spent the week coding with pytorch full time.... this is basically identical to pytorch
- brittohalloran 9y agoWhat are the strengths and weaknesses of each? I've been using keras but planning on diving into a real deal framework next. Tensorflow is appealing for the momentum it has in the community, but pytorch looks easier to learn. Doing image classification, object localization, and homography (given an input image, which of my known template images is matches it and in what orientation).
- congerous 9y agoTensorFlow: everything to all people. Eager is actually not as innocent as "open-source projects borrowing the best parts from each other", as some commenters here suggest. Google is attempting to dominate the machine-learning API and the Python ecosystem for scientific computing. The company that controls the API influences which apps are built on it and how. Think about how Google bundled Android services on top of Android, and how that posed an existential threat to other companies. That's what's coming for TensorFlow. Many developers are too naive to realize it, or too short-sighted to care.
- tree_of_item 9y agoHuh? They're attempting to dominate the machine learning ecosystem by writing a bunch of free and high quality machine learning libraries? What exactly are they doing wrong? I wouldn't compare a permissively licensed library to Android services at all.
- congerous 9y agoI'm surprised I have to write this, but Google is not a charity. They are pouring commercial resources into Tensorflow for a reason. That reason is Google Cloud. Tensorflow is a Trojan horse to get people to use Google Cloud and other paid Google products. How do I know this? Because Tensorflow works better on Google Cloud than anywhere else, and Google is making a concerted effort to catch up with AWS in cloud, mostly through machine learning. I didn't compare Tensorflow to Android services. I said that Tensorflow would serve as the basis of a service bundle, much like Android did. Let's come back in a couple years and I'll tell you I told you so.
- yorwba 9y agoIn what way is Tensorflow working better on Google Cloud? Are they tuning the ML code for specifics of their infrastructure or does Google Cloud just have more tooling for Tensorflow?
- agibsonccc 9y ago