-
Notifications
You must be signed in to change notification settings - Fork 2
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
lremus
wants to merge
61
commits into
Edouard360:master
Choose a base branch
from
lremus:hide
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Hide #28
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: *
Travis, PyLint, commit messages
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
Docs, Tests, Coverage
…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...
Restructuring
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
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
…mise Improving Visualization tools
Why this change was necessary: * Simplify original README.md, removing the `blog article` * Remove undesirable advertisements * Ugly templates
…mise Documentation
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
Correction of the pylint tests
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
Loggers and decorators
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.
Merge branch 'master' of https://github.com/Edouard360/Halite-Python-RL
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hide my personal email adress from commits