What is the difference between Tensorforce, Kerasrl, and chainerrl used for Reinforcement Learning?
AS far as I've found all three work with OpenAI gym environments and have the same reinforcement learning algorithms that have been implemented. Is there a difference in performance?
they are different Deep learning bank-ends.
TensorFlow , Keras and Chainer are different libraries used for inference of Neural network based AI algorithms.
Open AI is a Reinforcement Learning library.
These are two different technologies.
if you want Reinforcement learning for Tensorflow, back-end and RL tf library, checkout
https://github.com/google/dopamine
This has no connection with OpenAI. Pure Google tech.
short answer: Keras is more "High Level" than tensorflow in the sense that you can write code quicker with Keras but it's less flexible. Checkout this this post for instance.
Tensorflow , keras and Chainer all these are frameworks. These frameworks can be used to implement Deep Reinforcement learning models. As Jaggernaut said Keras is more of high level (meaning : pretty easy to learn) Keras uses Tensorflow backend to function.
Related
As per my understanding, both TVM and MLIR are used as compiler infrastructure for deep learning neural networks. Is my understanding correct?.
And Which would be better if we are building a compiler for custom hardware that runs deep learning inferences?
I found this discussion helpful:
https://discuss.tvm.apache.org/t/google-lasted-work-mlir-primer/1721
Due to the cost-saving, I'm running a deep learning model with a regular CPU. It takes 10 seconds to finish a request and it's written in python.
I'm thinking about to improve the perf by using java, C++, or rust. Is there any existing rust framework to pick a deep learning model.
Is there any existing rust framework to pick a deep learning model.
While I am not familiar with rust framework. If you are running you model on intel cpu, I would suggest to export model using ONNX and run it with mxnet with Intel MKLDNN backend. This should give you the most performance as it uses Intel MKLDNN and Intel MKL library. You can use C++/Python.
Install mxnet with MKLDNN
https://mxnet.apache.org/versions/1.6/api/python/docs/tutorials/performance/backend/mkldnn/mkldnn_readme.html
Tensorflow's performance critical parts are written in C++. Using other language won't cause a drastic performance difference. You may Quantize your network or do a Network Pruning to increase performance.
Is it possible to TRAIN a neural network model with Tensoflow Lite/Or any other frameworks on smartphones?
Specifically in the context for federative learning?
You could check out Deeplearning4j which supports Android integration and also on-device training. For a Federated Learning setup, you may think of implementing the Federated Averaging algorithm by yourself on a Java based server, using the same DL4J framework as on mobile clients.
Although, support for on-device training is already on the Tensorflow Lite roadmap for some time, so it is a matter of time until TFLite will provide it's own solution.
TensorFlow Federated is a framework for machine learning and other computations on decentralized data (i.e. federated learning). TFF currently supports running research simulations for learning algorithms involving fleets of mobile devices, but does not currently provide a platform necessary to deploy such on-device training.
Is there any easy way to merge properties of PPO with an A3C method? A3C methods run a number of parrel actors and optimize the parameters. I am trying to merge PPO with A3C.
PPO has a built-in mechanism(surrogate clipping objective function) to prevent large gradient updates & generally outperforms A3C on most continuous control environments.
In order for PPO to enjoy the benefits of parallel computing like A3C, Distributed PPO(DPPO) is the way to go.
Check out the links below to find out more information about DPPO.
Pseudo code from the original DeepMind paper
Original DeepMind paper: Emergence of Locomotion Behaviours in Rich Environments
If you plan to implement your DPPO code in Python with Tensorflow, I will suggest you to try Ray for the part on distributed execution.
I'm new to Keras. Is it possible to write arbitrary deep learning graph structures using Keras (say something like Faster R-CNN model)?
Yes, Keras 1.0 has the functional API, and older versions of Keras have a graph API. Implementing Faster R-CNN with them is pretty easy.
More information at this guide. You should prefer the functional API since it is easier to use and the prefered way. The Graph API was removed in Keras 1.0 I believe.