-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Abstraction layer for switching between Theano/TensorFlow/... backends #12
Comments
@fchollet tells me on Twitter that the abstraction layer is in fact very standalone, which is great :) It would be worth investigating if all the components we need have been abstracted away though, since it is very NN-oriented. |
Hi Igor! I see you started working on something similar based on Tensorflow. What are your impressions so far? (Tensorflow is really developed rapidly at the moment, which is nice!) |
Hi, in many ways tensorflow feels like an improved theano. The compilation time is almost negligible and the symbolic language is more flexible. Also, you can implement your operators in C++ (and link them in dynamically), which is nicer than constructing the code for a C++ program in Python (never quite understood how that works in theano). The internals are well-designed and can be understood by someone with C++ knowledge in a few days or so. A lot of the code is based on a very nice I love that the computational graph in tensorflow is simply a protobuf message, that's a great idea. Right now tensorflow has a few rough edges, for example you might find that an operator you want doesn't exist or is only enabled for I think that it makes sense to go with tensorflow for new projects, although theano is certainly nice as well. Using an abstraction layer to switch between the two makes a lot of sense for projects that are already based on theano. |
Oh, and I've tried running a large fit on several GPUs at once and it was 🚀 |
Talking with @fegin and I think it would be nice to do this so that we can start some tests. So I'd up the priority on this. |
@cranmer Not sure if you have followed, but @ibab started tensorprob (https://github.com/tensorprob/tensorprob). It is more or less the same thing but based on TensorFlow. Seems pretty neat so far! |
oh, I didn't see that. I was hoping that would wait until this other discussion converged. But I'm glad to see progress. Can we try to organize a discussion together with @fegin sometime soon. |
By adding a layer between the framework and the underlying symbolic computation engine, the backend could be switched out.
This would be similar to what has been done for Keras: http://keras.io/backend/
The text was updated successfully, but these errors were encountered: