Skip to content

Commit

Permalink
Major refactor release.
Browse files Browse the repository at this point in the history
High level highlights include:

* RNN/LSTM
  * Code is cleaner and achieves state of the art results on the Penn Tree Bank
    dataset using RNN/LSTM/GRU
  * Fast image captioning model (~200x faster than CPU based NeuralTalk) on
    flickr8k dataset
* Basic automatic differentiation support
* Framework for visualizations (supported via callbacks)
* Top-down refactoring & redesign to enable quicker iteration while keeping the
  speedups offered by our nervanagpu kernels
  * Datasets are easier to specify
  * Backend now uses OpTrees (similar to nervanagpu) to support autodiff
  * nervanagpu merged in as a neon backend to simplify development and use
  * YAML syntax is simplified (but not backwards compatible)
  * Better documentation and wider test coverage

Resolves NervanaSystems#8
Resolves NervanaSystems#9
Resolves NervanaSystems#10
Resolves NervanaSystems#11
Resolves NervanaSystems#17
Resolves NervanaSystems#62
  • Loading branch information
scttl authored and ursk committed Sep 9, 2015
1 parent d4d8ed4 commit 3497dcc
Show file tree
Hide file tree
Showing 412 changed files with 55,774 additions and 31,291 deletions.
162 changes: 0 additions & 162 deletions .gitchangelog.rc

This file was deleted.

33 changes: 17 additions & 16 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
neon.sublime-project
neon.sublime-workspace
*.sublime-project
*.sublime-workspace
*.pyc
*.pkl
*.so
*.swp
*.prof
.DS_Store
.tox
*.prof
neon.egg-info
src
build
neon/version.py
MANIFEST
dist
doc/source/generated
*@eaDir
.pkgs/
hosts
neon/hyperopt/expt
.env
nosetests.xml
.pkgs
*.png
*.egg-info
.venv
.coverage
build
*.gz
generated
*.ropeproject
*.cubin
*.hdf5
*.h5
*.html
*.txt
neon_help_output.txt
40 changes: 14 additions & 26 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
.. ---------------------------------------------------------------------------
.. Copyright 2014 Nervana Systems Inc.
.. Copyright 2015 Nervana Systems Inc.
.. Licensed under the Apache License, Version 2.0 (the "License");
.. you may not use this file except in compliance with the License.
.. You may obtain a copy of the License at
Expand All @@ -13,8 +13,8 @@
.. limitations under the License.
.. ---------------------------------------------------------------------------
neon Contribution Process
-------------------------
Contribution Process
--------------------

1. File an issue:

Expand All @@ -37,37 +37,25 @@ neon Contribution Process

.. code-block:: bash
# to do both steps at once:
git checkout -b my_new_feature_branch
# or separately:
git branch my_new_feature_branch
git checkout my_new_feature_branch
4. Locally build neon, with your build type configured (eg. with GPU):
4. Locally build neon

.. code-block:: bash
# to setup your build type defaults for all future commands, edit setup.cfg
vi setup.cfg
make develop
# or
make build
# or override for a specific command
make -e DEV=1 DIST=1 GPU=cudanet develop
make
5. Ideally you'd start by creating one or more unit tests with the
functionality you expect your new feature to perform. These should reside
under the appropriate tests subdirectory of whatever you are changing.
Then hack away at the code until you feel your feature is complete. Once
satisfied, run the code through the tests and various style checking:
satisfied, run the code through the following checks:

.. code-block:: bash
make test # ensure all are OK for each of your build types
make sanity # again ensure all pass OK
make check # ensure this is clean or your patch won't be accepted
make test # ensure all are OK
make style # ensure there are no style related issues
make speed # ensure there are no performance regressions
make grad # ensure sample gradient checks all pass OK
make lint # (optional). We still have a fair bit to clean up currently!
6. If necessary you may want to update and/or rebuild the documentation.
Expand All @@ -76,12 +64,12 @@ neon Contribution Process

.. code-block:: bash
make doc # builds documentation locally
make html # builds docs locally, starts a webserver so you can view
7. Commit your changes and push your feature branch to ypur github fork. Be
7. Commit your changes and push your feature branch to your github fork. Be
sure to add a descriptive message and reference the github issue associated
with your task (ex. #1). You can create a sequence of separate commits in
this manner if your task is better broken down into separate components:
with your task (ex. #1). You will also want to rebase your commits down to
a single sensible commit to make things clean for the merge proces:

.. code-block:: bash
Expand All @@ -92,8 +80,8 @@ neon Contribution Process
8. Create a new pull request to get your feature branch merged into master for
others to use. You'll first need to ensure your feature branch contains the
latest changes from master. Furthermore, internal devs will need to assign
the request to someone else for a code review. You should also ensure all
your tests pass when run through the items defined in step 5.
the request to someone else for a code review. You must also ensure there
are no erros when run through the items defined in step 5.

.. code-block:: bash
Expand Down
47 changes: 45 additions & 2 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,6 +1,49 @@
# Changelog
# ChangeLog

## v1.0.0rc1 (2015-09-08):

### Modifications

* RNN/LSTM
* Code is cleaner and achieves state of the art results on the Penn Tree Bank
dataset using RNN/LSTM/GRU
* Fast image captioning model (~200x faster than CPU based NeuralTalk) on
flickr8k dataset
* Basic automatic differentiation support
* Framework for visualizations (supported via callbacks)
* Top-down refactoring & redesign to enable quicker iteration while keeping the
speedups offered by our nervanagpu kernels
* Datasets are easier to specify
* Backend now uses OpTrees (similar to nervanagpu) to support autodiff
* nervanagpu merged in as a neon backend to simplify development and use
* YAML syntax is simplified (but not backwards compatible)
* Better documentation and wider test coverage

The following features will be added in upcoming releases:

* Advanced automatic differentiation & computational graph support
* Support for Kepler and older generation GPUs
* Multi-GPU support & hyperparameter optimization

This release was made possible thanks to the heroic efforts of the following
contributors:
* Yinyin Liu
* Yixing Lao
* Alex Park
* Evren Tumer
* Gabriel Pereyra
* JD Co-Reyes
* Will Constable
* Scott Leishman
* Angel Zhang
* Hunter Lang
* Arjun Bansal
* Anil Thomas
* Augustus Odena
* Urs Koster
* Scott Gray
* Jenkins

## (unreleased)

## v0.9.0 (2015-07-20)

Expand Down
10 changes: 0 additions & 10 deletions MANIFEST.in

This file was deleted.

Loading

0 comments on commit 3497dcc

Please sign in to comment.