Skip to content

Hide #28

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

Open
wants to merge 61 commits into
base: master
Choose a base branch
from
Open

Hide #28

wants to merge 61 commits into from

Conversation

lremus
Copy link
Collaborator

@lremus lremus commented Mar 15, 2018

Hide my personal email adress from commits

lremus and others added 30 commits September 26, 2017 14:43
There was not commit message template for this repository

This change addresses the need by:

Creating a template .gitmessage for git commits

Potential side-effects:

*
* Testing the behavior of commit templates has been done

This change addresses the need by:

* Removing the test

Potential side-effects:

*
Why this change was necessary:

* Otherwise purpose of the commit was unclear

This change addresses the need by:

* Addind an empty line at the beginning

Potential side-effects:

*
Why this change was necessary:

*

This change addresses the need by:

*

Potential side-effects:

*
Why this change was necessary:

* To add the badge

This change addresses the need by:

* Adding the badge

Potential side-effects:

* When merging with master, the name of the badge needs to be changes... No longer coverage
This change addresses the need by:

* Create util.py to download games for testing purposes
* Adding a template for .rst file
* Adding test about the train folder to increase coverage
* The right version of gcc compiler g++-4.9
Why this change was necessary:

* To simplify the Bot files, and preserves invariance. The same steps are executed for each different bots, and if one Bot needs to import tensorflow, open a session, ect... it deals with it alone

This change addresses the need by:

* Editing all the bot classes
Why this change was necessary:

* To simplify the Bot files, and preserves invariance. The same steps are executed for each different bots, and if one Bot needs to import tensorflow, open a session, ect... it deals with it alone

This change addresses the need by:

* Editing all the bot classes
Why this change was necessary:

* g++-4.9 compiler
…lain it

Why this change was necessary:

* It is easier to use
* It is modulable afterwards

This change addresses the need by:

* The start_game.py file
* Changing the calls in worker.py - which is used for train.py
* Writing the commands to execute

Potential side-effects:

* We still have to figure out the problem with imports - see MyBot.py l.3-5
Why this change was necessary:

* Scripts needed to be executed from PyCharm (that understands the module architecture)
* Relative path were problematic

This change addresses the need by:

* For the module either inserting in sys.path - see main.py - or by creating a context.py file, a practice explained in http://docs.python-guide.org/en/latest/writing/structure/, which is worth what it is...

Potential side-effects:

* This will work for any setting but if we need to restructure, all path will need to be modified manually...
Why this change was necessary:

* For now, rewrite all Python files to make them PyLint compliant is a pain.
* Rather, let us add a file to the list of files to PyLint check as soon as  it is updated

This change addresses the need by:

* Creating the pylint_checks.txt file, and  modifying .travis_yaml

Potential side-effects:

* None
Why this change was necessary:

* Bug

This change addresses the need by:

* Using for loop with semicolons

Potential side-effects:

* None
Edouard360 and others added 30 commits October 4, 2017 07:57
This change addresses the need by:

* Remove bug at end of visualiser that prevented playback.
* Remove Children Of Container
* Add make commands
* Introduce the notion of pipe_players and slave_players. Slave players are automatically handled by the Halite program, whereas pipe_players are handle by the player himself.
* Remove tensorflow warnings that prevented MyBot to be a “slave_player”
This change addresses the need by:
* For trained Bot, act greedily (no more randomness)
* Start_game now specify width or height
* Resolve bug related to width/height transfer from game_map to game_state
* Reward, separate, rawRewardMetric for comparing model, and rawReward which differs according to the agent.
* Visualizer even handier
* Convenience for the server
Why this change was necessary:

* Simplify original README.md, removing the `blog article`
* Remove undesirable advertisements
* Ugly templates
Why this change was necessary:

* To clarify the reward process
* start_game.py -h now lists the available commands and gives detailled explanation for all of them
Why this change was necessary:

* Make sure we adopt a standard style

This change addresses the need by:

* Adding tests .py files to check in  .travis_yaml.

Potential side-effects:

*
Why this change was necessary:

* Norms are important
* Camel case instead of dash
* for loops instead of enumerate
* change some file names
* import grouped and ordered correctly
* warning about spacing and hyphens
Why this change was necessary:

* To increase productivity while debugging

This change addresses the need by:

* Changing html: we can now navigate between performance and visu
* Auto-loading: at opening the window, the last game autoloads (no more need to drag and drop, though still possible)
* A list of the games are available, and can be clicked to display to game a soon as desired
* The policy can be seen by clicking on a square
Why this change was necessary:

* Very powerful insight into the topology of our game
* Easy to compute with heuristics

This change addresses the need by:

* Creating a graph class and tools for building graph from state
* Creating benchmark test for naive/updated graph
* TrainedBot now initialized with an **agent_class** ! Independant of the agent
* The code for TrainedBot and the tensorflow tests could be factorized and has been put as a function in agent
Why this change was necessary:

* State should be an object, since we might choose to train with different states
* Use of dijkstra algo + one single call -> drastically improves perf

Potential side-effects:

* We need to change the State at many places when working: train / test / visualize ... that is not good
* The names of the agent are not sufficient to discriminate btw models (we might want vanilla + state2 + scope 1)
* There is a need for a bigger object that agent, since at now it deals with dijkstra, which should be in a separate, strategy object...
* There is not one central 'monitoring screen' to change all the hyperparameters at once and run experiments
* The start_agent function in Agent.py factorizes the code, but doesn't look very correct
Why this change was necessary:

* We have scripts, it is import to log what's happening (especially for undebuggable parts)

This change addresses the need by:

* Showcasing the logging module
* Decorator to log function argument

Potential side-effects:

* None
Why this change was necessary:

* Need to change every time the parameters, when training a model, playing the bot, or using the graphical debugging interface

This change addresses the need by:

* Decoupling the Experience, Reward, State object, and initializing all of these in a Strategy object which could potentially cover multiple agent.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants