Hi everyone,
I'm in the process of writing a very basic node for mdp that basically wraps the
tutorial mdp.Flow of [SFANode, QuadraticExpansionNode, SFANode]. I wrote a plain
node that inherits from mdp.Node, stores an internal self._flow and relays all
calls for train() and execute() to that self._flow. It's straightforward and
seems to work.
My question is: What other options are there and is there something I'm missing?
I'm asking because the mdp.FlowNode is basically the same thing but …
[View More]contains a
LOT more checks and balances and behaves differently. An mdp.Flow can be trained
in one go and consequently my new node can as well. However, mdp.FlowNode, pre-
sumably implementing the same functionality, requires multiple calls to both
train() and stop_training(). My first version inherited from mdp.FlowNode - as
that already produces a node designed to handle an mdp.Flow - but I didn't see
any benefit from the way training is handled there.. and I don't quite under-
stand why an mdp.Flow is trained with a single call while the mdp.FlowNode needs
several calls to train the same thing..?
Since the mdp.FlowNode seems more cumbersome to use I'm not quite sure I under-
stand what it should be used for? I know it's a building block for the hinet
module and allows to insert an mdp.Flow within another mdp.Flow and/or hinet
architecture, but a very simple node wrapping an mpd.Flow seemingly can do the
same and only requires a single call to train.
So my follow up questions would be:
(a) What is the intended use for the mdp.FlowNode?
(b) What can the mdp.FlowNode do that a simple wrapper node managing an mdp.flow
instance cannot?
(c) If the explicit training of the multiple nodes within an mdp.FlowNode holds
some advantage then why is an mdp.Flow trained in one go?
The main difference that I can see is that all nodes within an mdp.Flow, during
training, are trained with the same data. In the mdp.FlowNode, this may differ.
I'm not sure what the advantage is though? It also seems strange that mdp.Node
and mdp.Flow behave the same during training, while the mdp.FlowNode, which is
designed to allow users to handle an mdp.Flow like an mdp.Node does NOT behave
like mdp.Node during training.
Am confused. Please help.
Cheers,
Fabian
[View Less]
Hi Everyone,
I posted a new pull request with the following new additions:
(a) OpenAI's Gym integration
(b) PyQtGraph's fast online plotting nodes
(c) Hierarchical SFA Node
(d) RandomSwitchboard and a few other useful nodes.
My next PR will be on documentation of all the new additions so far.
Following this I will finish with a PR on reinforcement learning nodes.
Best,
Varun
--
Varun Raj Kompella, PhD.
Institut für Neuroinformatik
Ruhr-Universität Bochum
Universitätsstraße 150 NB E3 /…
[View More] 70
44780 Bochum
[View Less]
Dear users of MDP,
the Modular toolkit for Data Processing <http://mdp-toolkit.sourceforge.net/>
has recently got new and exciting contributions.
See these two pull requests on GitHub for more info:
https://github.com/mdp-toolkit/mdp-toolkit/pull/20https://github.com/mdp-toolkit/mdp-toolkit/pull/23
and more are to come :-)
The website and the documentation will be updated to reflect the new
contributions very soon. In the meanwhile, thanks a lot to Varun Raj
Kompella for the …
[View More]amazing work!
In an effort to improve our public relations, we have moved the user and
developer mailing lists from sourceforge to python.org.
All members of former user and developer mailing lists have been
automatically added to the new list mdp-toolkit(a)python.org . From now on
discussions about MDP development are going to happen on this list. You
are still as usual very welcome to post questions about the usage of MDP
or if you have problems or find bugs.
Your digest settings could not be migrated, unfortunately, but you can
set them again by following the links in the footer of this message.
Have a nice Sunday,
Tiziano (MDP release manager ;-))
[View Less]