Comments (8)
@bangxiangyong since I need some input here, could we maybe meet tomorrow for a short while to keep going with this?
from agentmet4fof.
sorry for the late reply, just saw this and the previous one comment awhile ago.
Yes, i think it is quite tricky, since in all the examples i have used BNN it seems. I think we can replace BNN with some other models in sklearn for the examples and still illustrate the same points. Thats a valid suggestion to have agentMET4FOF_ml, but not at this point, as for now, i'd try to keep ML tied in as much as possible with the agents.
it'll be busy for me tomorrow, can we meet on Friday noon++ instead?
from agentmet4fof.
TODO for @bangxiangyong
-
Rewrite the
examples.ML_EXPERIMENTS
tutorial to get rid of ml_uncertainty and pytorch together with it and put it in agentMET4FOF_tutorials -
deal with the
examples.custom_dashboard.py
which should become a separate tutorial and move out of examples. -
separate develop.ML_Experiment.py and all its dependencies from dashboard.py into a separate repository, which will then be incorporated as an extension into the agents' documentation on ReadTheDocs like we showed it is possbile in the draft PR #95 (never to be merged) and installable with
pip install agentMET4FOF[ml]
or simplypip install agentMET4FOF agentMET4FOF_ml_extension
from agentmet4fof.
As discussed during an extended session on April 27th, we will conduct the following measures to achieve a cleaner core repo.
Seperate repos
The repos we will create and the according subfolders of agentMET4FOF are
- ZEMA_BNN (new repo you can find here)
- ZEMA_EMC (new repo you can find here)
- ML (new repo you can find here)
- SENSORS (new repo you can find here)
Improved Documentation
We want to add documentation pages for the following examples:
-
examples.demo.run_dashboard.py
with simpler (maybe the present) modules foragents
andstreams
to drop dependency onZEMA_EMC
We removed the file already. The former content was:
# Agent modules
from agentMET4FOF.agents import AgentDashboard
from agentMET4FOF import agents
from agentMET4FOF import streams
# This example shows how we can run the dashboard separately on a different IP
# The dashboard will need to connect to an existing up and running AgentNetwork,
# which is running on another process or script. Otherwise there will be error messages.
modules = [agents, streams]
def run_dashboard():
AgentDashboard(
dashboard_modules=modules,
dashboard_update_interval=3,
agent_ip_addr="127.0.0.1",
agent_port="3333",
)
if __name__ == "__main__":
run_dashboard()
Tutorials
We want to transfer these modules into tutorial notebooks and/or scripts:
-
examples.custom_dashboard.py
Remove
We want to remove:
-
examples.demo.demo_agent_network.py
-
examples.demo.demo_agents.py
- ml_uncertainty aligned with the
ML_EXPERIMENTS
tutorial which should in the end not contain references to ml_uncertainty anymore
Extract into extension package
From the following contents of the subfolder develop we want to create a separate package to be installed along agentMET4FOF if desired.
-
ML_EXPERIMENTS.ml_experiment_complex.py
-
ML_EXPERIMENTS.ml_experiment_multi.py
-
ML_EXPERIMENTS.ml_experiment_simple.py
- develop.ML_Experiment.py goes into a separate Plugin-like package
from agentmet4fof.
Seperate repos
The repos we will create and the according subfolders of agentMET4FOF are
- ZEMA_BNN (new repo you can find here)
- ZEMA_EMC (new repo you can find here)
@bangxiangyong seemingly we made a mistake here, since ml_uncertainty is heavily used in ML_EXPERIMENTS, which we want to transform into a tutorial inside agentMET4FOF. This would mean, we cannot extract ml_uncertainty and it would mean, we will need pytorch
as a dependency of agentMET4FOF which we should try to avoid, because it imposes difficulties for us during the packaging and for the users during the installation.
We just created a branch and PR #76 to at least transfer ml_uncertainty into ML_EXPERIMENTS but should decide how to continue with that shortly, because of the heavyweight dependency pytorch
. Maybe in this case it would be an idea to create a separate extendension repository like agentMET4FOF_ml, like other bigger projects do it (e.g. dash with dash_cytoscape, dash_canvas, ...)
What would you suggest?
Edit: This is actually resolved by the following conversation and the mentioned PR is closed already.
from agentmet4fof.
sorry for the late reply, just saw this and the previous one comment awhile ago.
Yes, i think it is quite tricky, since in all the examples i have used BNN it seems. I think we can replace BNN with some other models in sklearn for the examples and still illustrate the same points. Thats a valid suggestion to have agentMET4FOF_ml, but not at this point, as for now, i'd try to keep ML tied in as much as possible with the agents.
it'll be busy for me tomorrow, can we meet on Friday noon++ instead?
Well, if we can drop scikit-multiflow
and pytorch
as dependencies, there is no real reason to split up something. The suggestion was meant to allow for keeping pytorch
inside of the agents, but if you see a way, to just get rid of that in the core, like replace ml_uncertainty in ML_EXPERIMENTS by scikit-learn
-internals, that would already solve the issue.
from agentmet4fof.
TODO for @BjoernLudwigPTB
-
Movedevelop.ML_Experiment.py
to agentMET4FOF now
@bangxiangyong Hey Xiang, we agreed on me moving develop.ML_Experiment.py
into agentMET4FOF but I did not recognize then, that this means merging develop.evaluator.py
and develop.datastream.py
into agents.py
. Since this produces name clashs and it is actually your implementation this merging should definitely done by you. If I can assist you further, please let me know, but I cannot do this on my own, so I transfer this "ticket" to you.
-
Movedevelop.ML_Experiment.py
into agentMET4FOF and mergedevelop.evaluator.py
anddevelop.datastream.py
intoagents.py
now - check how much effort it would be to include the documentation of the newly to create package
develop.ML_Experiment.py
into the agentMET4FOF docs on rtd
from agentmet4fof.
The examples.custom_dashboard.py has been moved into a set of tutorials for plotting:
f7fa5dc
from agentmet4fof.
Related Issues (20)
- Align cosine and sine default frequencies
- Remove legacy self.memory from metrological monitor agent
- Properly document input_data_maxlen and output_data_maxlen in metrological_agents
- Include refactoring and performance types in the CONTRIBUTING.md HOT 1
- Provide key facts for the new project homepage in bullet point style HOT 5
- Consider changing server listening on localhost i.e. 127.0.0.1 to listening on all interfaces i.e. 0.0.0.0 HOT 4
- Consider moving tutorials into namespace agentMET4FOF
- Incorporate valuable changes from NPL's code
- Consider including the agentMET4FOF version number in the start up message, that gets printed out on the console
- Labeling of agents HOT 1
- Make sure Mesa does not get tested against naming an agent just with a space HOT 1
- Consider making data sources and generator functions consistent in their default return types
- Improve debugging documentation
- Consider refactoring of AgentMet4FoF to an abstract base class
- Tutorials with OSBrain as backend don't run with PyCharm on Windows HOT 5
- Find a way to log data processing in pipelines
- This site canβt be reached127.0.0.1 refused to connect. HOT 16
- Set data source to handle pd.DataFrame correctly HOT 1
- Incorrect docstring init_agent HOT 3
- Fix _controller instantiation in agent network mode connect=True for osbrain backend
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from agentmet4fof.