Skip to content

Commit

Permalink
The commitests... yet
Browse files Browse the repository at this point in the history
  • Loading branch information
Vladislav Zavadskyy committed Jun 3, 2018
1 parent a2df54a commit 6fcbd33
Show file tree
Hide file tree
Showing 40 changed files with 1,831 additions and 814 deletions.
96 changes: 8 additions & 88 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,47 +19,9 @@
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml

# Gradle:
.idea/**/gradle.xml
.idea/**/libraries

# CMake
cmake-build-debug/
cmake-build-release/

# Mongo Explorer plugin:
.idea/**/mongoSettings.xml

## File-based project format:
*.iws

## Plugin-specific files:

# IntelliJ
out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
### Python template
# Byte-compiled / optimized / DLL files
__pycache__/
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
Expand Down Expand Up @@ -100,67 +62,25 @@ coverage.xml
*.cover
.hypothesis/

# Translations
*.mo
*.pot

# Django stuff:
*.log
.static_storage/
.media/
local_settings.py

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/
docs/build

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.idea/inspectionProfiles/
data/
default_loader
.ipynb_checkpoints/
*/__pycache__/

logs
*.png
train/
docs/build

nasframe/__pycache__
nasframe/**/__pycache__

.loglevels.yml
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
NAS Framework, as the name suggests, is a framework which facilitates
[neural architecture search](https://arxiv.org/abs/1611.01578) on various datasets.
It provides a simple and flexible way to define a search space of
arbitrary complexity and an Architect class, which works without modifications
arbitrary complexity and an Archibase class, which works without modifications
in any search space defined following the template.

An Architect is a recurrent neural network,
An Archibase is a recurrent neural network,
which generates computational graph descriptions, by recursively creating
a representation of computational graph predicted to the moment and
choosing an action (i.e. point in a particular dimension of the search
Expand Down
26 changes: 20 additions & 6 deletions config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@ log_dir: logs
data_dir: data/toxic
storage: logs/description_reward.json

stdout_loglevel: DEBUG
file_loglevel: INFO

searchspace:
type: RNN
max_nodes: 15
Expand All @@ -19,6 +16,15 @@ searchspace:
data_parallel: false
bias: true

architect:
method: Value
cell_type: GRU
state_dims: [128]
epsilon_schedule:
decay_period: 120
start: .9
end: .05

child_training:
initial_lr: 0.001
batch_size: 256
Expand All @@ -34,12 +40,20 @@ child_training:
max_batch_size: 512
batch_size_decay: 0.5

keep_data_on_device: false
keep_data_on_device: true
convergence_patience_mult: 2
delete_unused_layers: true
cleanup_tfevents: false

save_parameters: true
ignore_duplicates: true
load_pretrained: true

architect_training:
curriculum: true
max_curriculum_complexity: 15
max_curriculum_complexity: 10

log_every: 3

epochs_per_loop: 10
lr_decay: .9
Expand All @@ -49,4 +63,4 @@ architect_training:
steps_per_epoch: 4

storage_surplus_factor: 1.3
load_architect: false
load_architect: true
21 changes: 18 additions & 3 deletions docs/source/architect.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
Architect
=========
Architects
==========

.. automodule:: nasframe.architect
.. autoclass:: nasframe.architects.Architect

Base architect class
^^^^^^^^^^^^^^^^^^^^
.. autoclass:: nasframe.architects.Archibase
:members:


Proximal Policy Optimization
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. autoclass:: nasframe.architects.ReinforcedArchitect
:members:

Lookahead Value Learning
^^^^^^^^^^^^^^^^^^^^^^^^
.. autoclass:: nasframe.architects.ValueArchitect
:members:
32 changes: 22 additions & 10 deletions docs/source/coaches.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,38 @@ Training Classes

.. currentmodule:: nasframe.coaches

Base
^^^^

.. autoclass:: nasframe.coaches.CoachBase
:members:

Architect
^^^^^^^^^^^^^^^^^^^^^

Architect training
^^^^^^^^^^^^^^^^^^
.. autoclass:: nasframe.coaches.ArchitectCoach

Curriculum coach
----------------
.. autoclass:: nasframe.coaches.CurriculumCoach
:members:

Feed Forward
^^^^^^^^^^^^^^^^^^^^^^^^
PPO coach
----------------
.. autoclass:: nasframe.coaches.ReinforcedCoach
:members:

LVL coach
----------------
.. autoclass:: nasframe.coaches.ValueCoach
:members:

Child-network training
^^^^^^^^^^^^^^^^^^^^^^
.. autoclass:: nasframe.coaches.ChildCoach

Feed Forward
------------
.. autoclass:: nasframe.coaches.FeedForwardCoach
:members:

Recurrent
^^^^^^^^^^^^^^^^^^^^^^^^

---------
.. autoclass:: nasframe.coaches.RecurrentCoach
:members:

0 comments on commit 6fcbd33

Please sign in to comment.