Vous avez reçu un message "Your GitLab account has been locked ..." ? Pas d'inquiétude : lisez cet article https://docs.gricad-pages.univ-grenoble-alpes.fr/help/unlock/

Commit 9f0c421e authored by Alexis Brenon's avatar Alexis Brenon
Browse files

đź“ť Update README

And use it as home page of documentation.
parent 28aa934c
......@@ -6,6 +6,7 @@ pages:
- curl -L https://github.com/stevedonovan/LDoc/tarball/master > master.tgz
- tar xzf master.tgz
- lua stevedonovan-LDoc*/ldoc.lua .
- mv -f public/topics/README.md.html public/index.html
artifacts:
paths:
- public
......
# Context Représentation
Auteur: Alexis BRENON, Date: 2016-07-11
# ARCADES
Author: Alexis BRENON, Date: 2017-12-05
## Idée
## What is it?
Utiliser les données issues de capteurs ainsi que des connaissances a priori sur la topologie d'un appartement pour représenter graphiquement les valeurs des capteurs.
ARCADES stands for Adaptive Reinforced Context-Aware Deep Decision System.
It is, at the same time, a proof a concept of using Deep Q-Network for decision making in smart-home, and a library implementing deep reinforcement learning.
Cette représentation graphique sera par la suite traitée grâce à un réseau de neuronnes pour en déduire un contexte. La première application sera de déterminer l'activité de l'utilisateur dans l'habitat comme ce fut le cas lors du projet SweetHome.
For more informations, let's refer to these publications:
## Organisation du projet
* Brenon (2017). [Modèle profond pour la prise de décision adaptative en habitat intelligent](#)
* Mnih et al. (2015). [Human-level control through deep reinforcement learning](https://storage.googleapis.com/deepmind-media/dqn/DQNNaturePaper.pdf)
L'ensemble du projet est versionné en utilisant le gestionnaire Git. L'architecture globale se base sur plusieurs branches qui n'ont pas pour vocations à être fusionnées *in fine* :
* `master` : la branche principale qui ne contiendra que cet unique README
* `data` : une branche contenant les scripts nécessaires à la mise en forme des données d'entrées
* `assets` : une branche contenant les fichiers _binaires_ nécessaires pour l'expérimentation
* `src` : la branche contenant les scripts/sources permettant de réaliser l'expérimentation
* `xp/*` : des branches pour chaque expérimentation étant la fusion des toutes les branches précédentes
* `article/*` : des branches issues des expérimentations pour la rédaction d'articles à propos des résultats
## How to use it?
## DĂ©pendances
This repository is composed of different branches.
The `master` branch contains most of the source code:
Ce projet repose sur un ensemble de dépendances qui sont :
* [Torch](http://www.torch.ch) : Framework pour les réseaux de neurones
* [hash](https://github.com/torch/hash) : Fonctions de hachage (distribué par Torch)
* [Penlight](http://stevedonovan.github.io/Penlight/api/index.html) : Bibliothèque d'utilitaires pour Lua (dépendance de Torch)
* [lualogging](https://github.com/Neopallium/lualogging) : Bibliothèque de log pour Lua
* [libglib2.0-0](https://developer.gnome.org/platform-overview/stable/tech-glib.html), [libcairo2](https://cairographics.org/) et [librsvg2-2](https://wiki.gnome.org/Projects/LibRsvg) : Bibliothèques C pour la conversion SVG --> matriciel
* The `arcades` folder contains the code of the library.
* The `assets` folder contains some binary files used by the code.
* The `data` folder contains some real data.
* The `public` folder contains the generated documentation (if any).
* More folders will come with different tools like `tsne` or `deepdream`.
* Many scripts, detailed below.
The `xp/*` branches are related to an experiment.
Most of the time they are closed with a tag (and if not, they should) allowing reproducibility of the experiments.
At the root of the repository, you can find some scripts (shell or Lua ones).
Here is a brief description of each:
* `install_dependencies.sh` try to install all dependencies (listed in **Dependencies**) required
* `main.lua` load ARCADES and launch an experiment given its arguments. _ARCADES should be updated to rely on a configuration file (JSON or so) to avoid these tricky parsing and instantiations._
* `run.lua` is a wrapper, which builds a well formed arguments list and finally calls `main.lua`.
* `expe_template.lua` is a template file used to create experiments. It defines parameters and then call `run.lua`.
* `debug.lua` is an instance of the `expe_template`, used to... Debug?
* `test.lua` is an instance of the `expe_template` used to test code (short experiment).
* `cross-val.sh` run multiple experiment and changing training and testing sets each time.
* `cross-val-results.sh` looks for experiment results in a directory and build a resulting metrics file.
Finally, the `config.ld` file is the configuration file of the [LDoc](http://stevedonovan.github.io/ldoc/) utility used to build the documentation.
## Dependencies
This project rely on dependencies installed by the `install_dependencies.sh` script.
Some are Lua libraries, such as:
* [`torch`](http://www.torch.ch): The neural network framework.
* [`hash`](https://github.com/torch/hash): hashing functions (distributed by Torch).
Others are C libraries that you have to install yourself:
* [libglib2.0-0](https://developer.gnome.org/platform-overview/stable/tech-glib.html): GLib objects management.
* [libcairo2](https://cairographics.org/): graphics rendering (using GLib objects).
* [librsvg2-2](https://wiki.gnome.org/Projects/LibRsvg): SVG rendering.
# Context Representation - `src`
Auteur : Alexis BRENON, Date : 2016-08-24
Ce dossier contient l'ensemble du code source nécessaire à l'expérimentation. Le code source est organisé selon la hierarchie suivante :
* `main.lua` : point d'entrée de l'expérimentation (`th src/main.lua -h`) ;
* `agent/` : Définitions de différents agents utilisant des techniques différentes pour la prise de décision ;
* `environment/` : Définitions d'environnements sur lesquels un agent peut agir et qui lui retourne un feed-back (récompense, état, etc.) ;
* `experiment/` : Définitions de classes qui font intéragir un agent avec un environnement pour mesurer les performances ;
* `network/` : Définitions de différents réseaux de neurones utilisés dans les agents ;
* `utils/` : Modules utilitaires.
L'ensemble du code source est documenté et la documentation peut être générée avec l'utilitaire [LDoc](http://stevedonovan.github.io/ldoc/).
-- Base file of the arcades project
--- Base package of the ARCADES project.
-- This is the base package of the ARCADES project.
-- As an exception to confirm the rule, this package not only discover
-- sub-packages, modules and class, but also define its own class.
-- This behavior should be fixed.
-- The class defined by this package is a base class for any
-- ARCADES class, providing default behavior for logging,
-- string representation, dumping and loading.
-- @package arcades
local torch = require('torch')
......
......@@ -49,13 +49,15 @@
# -------- contents of project ----------
# local this_mod = module and module.name
# ldoc.log("##", this_mod, module and module.file, "##")
# -- ldoc.inspect(module or "nil")
<!-- Project navbar -->
<nav class="navbar navbar-full navbar-dark bg-primary">
<div class="container">
<a class="navbar-brand" href="$(escape(html_root))/$(escape(ldoc.output)).html">$(ldoc.project)</a>
<div class="nav navbar-nav">
# for _, kind_name in ldoc.ipairs({"Scripts", "Packages", "Modules", "Classes"}) do
# for _, kind_name in ldoc.ipairs({"Scripts", "Packages", "Modules", "Classes", "Examples"}) do
# if ldoc.kinds[kind_name] then
<a class="nav-item nav-link"
id="project-nav-$(escape(no_spaces(kind_name)))-header"
......@@ -79,7 +81,7 @@
role="navigation"
style="background-color: rgba(255, 255, 255, 0.25);">
# for _, kind_name in ldoc.ipairs({"Scripts", "Modules"}) do
# for _, kind_name in ldoc.ipairs({"Scripts", "Packages", "Modules", "Examples"}) do
<!-- Kind navbar -->
<div class="panel-collapse collapse"
id="project-nav-$(escape(no_spaces(kind_name)))-collapsing">
......@@ -179,10 +181,18 @@
<!-- Module horizontal navbar -->
<nav class="navbar navbar-light bg-faded $(escape(one_column_nav_display))">
<div class="container">
<a class="navbar-brand" href="#">Module content</a>
<a class="navbar-brand" href="#">Contents</a>
<div class="nav navbar-nav">
# for kind,items in module.kinds() do
# if module.body then
<a class="nav-item nav-link"
id="module-horiz-nav-$(escape(no_spaces(kind)))-header"
data-parent="#module-horiz-nav-accordion"
href="#$(escape(no_spaces(kind)))">
$(kind)
</a>
# else
<a class="nav-item nav-link"
id="module-horiz-nav-$(escape(no_spaces(kind)))-header"
data-toggle="collapse"
......@@ -193,36 +203,39 @@
aria-label="Show $(escape(kind))">
$(kind)
</a>
# end
# end
</div> <!-- Navbar content -->
</div> <!-- container -->
# if not module.body then
<!-- Kinds sub-navbars -->
<div class="container panel"
id="module-horiz-nav-accordion"
role="navigation"
style="background-color: rgba(255, 255, 255, 0.25);">
# for kind,items in module.kinds() do
# for kind,items in module.kinds() do
<!-- Kind navbar -->
<div class="panel-collapse collapse"
id="module-horiz-nav-$(escape(no_spaces(kind)))-collapsing">
<span class="navbar-brand">$(kind)</span>
<div class="nav navbar-nav">
# for item in items() do
# for item in items() do
<a class="nav-item nav-link"
href="#$(escape(item.name))">
$(display_name(item))
</a>
# end
# end
</div> <!-- Navbar content -->
</div> <!-- Kind navbar -->
# end -- for kind, items in module
# end -- for kind, items in module
</div> <!-- Kinds sub-navbars -->
# end -- if not module.body
</nav> <!-- Module horizontal navbar -->
# end -- if need_module_nav
......@@ -240,7 +253,7 @@
# if need_module_nav then -- bang out the functions on the side
<!-- Vertical module navigation -->
<nav class="m-b-1">
<h2>Module content</h2>
<h2>Contents</h2>
<!-- List group panel -->
<div role="tablist"
class="list-group panel"
......@@ -248,6 +261,14 @@
aria-multiselectable="false">
# for kind,items in module.kinds() do
# if module.body then -- Just sections name
<a class="list-group-item list-group-item-action bg-primary"
id="module-vert-nav-$(escape(no_spaces(kind)))-header"
data-parent="#module-vert-nav-accordion"
href="#$(escape(no_spaces(kind)))"
<strong>$(kind)</strong>
</a>
# else
<a class="list-group-item list-group-item-action bg-primary panel-heading panel-title"
id="module-vert-nav-$(escape(no_spaces(kind)))-header"
data-toggle="collapse"
......@@ -268,14 +289,16 @@
</strong>
</a>
# for item in items() do
# for item in items() do
</span>
<a class="list-group-item"
href="#$(escape(item.name))">
$(display_name(item))
</a>
# end
# end
</div> <!-- Kinds sub-list -->
# end -- if module.body
# end -- for kind, items in module
</div> <!-- List group panel -->
......@@ -680,13 +703,13 @@
<hr/>
</div>
<div class="col-xs-4">
Generated by <a href="http://github.com/stevedonovan/LDoc">LDoc $(escape(ldoc.version))</a>
Generated with <a href="http://github.com/stevedonovan/LDoc">LDoc $(escape(ldoc.version))</a>
</div>
<div class="col-xs-4 text-center">
<span class="icon icon-clock"></span>Last updated $(escape(ldoc.updatetime))
</div>
<div class="col-xs-4 text-right">
Template and style by <a href="AlexisBRENON.github.io">AlexisBRENON</a>
Template and style by <a href="https://AlexisBRENON.github.io">AlexisBRENON</a>
</div>
</footer>
</div> <!-- container -->
......
......@@ -4,7 +4,9 @@ description = [[
Adaptive Reinforced Context-Aware Deep Decision System
]]
format="markdown"
file={"arcades/"}
readme="README.md"
dir="public"
style="assets/ldoc"
template="assets/ldoc"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment