Setting up a virtualenv with Theano and the various Blocks packages
installed is somewhat involved / repetative. Here are the steps.
Requirements file
Contents of requirements.txt (this includes commented-out sections that
could be either (a) useful, or (b) an alternative to the development versions) :
This assumes that you (as a GitHub user) have forked the main repo into your github account :
# Set a GITHUB_USER variable appropriately:#GITHUB_USER=mddaGITHUB_USER=FILL_IN_YOUR_GITHUB_USERNAME_HERE
pushd env/
# See : http://deeplearning.net/software/theano/dev_start_guide.html
git clone https://github.com/${GITHUB_USER}/Theano.git
pushd Theano
# Set up my github id, so that you get 'credit' in activity map# ( Obviously, insert your own details here )
git config user.name "Firstname Lastname"
git config user.email USER@example.com
# using 'upstream' rather than 'central' for self-consistency
git remote add upstream git://github.com/Theano/Theano.git
# Create local copy of latest upstream revision (first time)
git fetch upstream
git branch trunk upstream/master
python setup.py develop
theano-cache clear
popd
Doing some Theano development
pushd env/Theano
## START DEVELOP (repeat this)# Update local to latest
git checkout trunk
git pull
#Update my github to be in sync (not essential), but looks better
git checkout master
git merge upstream/master
git push
# Work on new feature
git fetch upstream
git checkout -b my_shiny_feature upstream/master
git push -u origin my_shiny_feature
## DONE DEVELOPING# When PR accepted:
git push origin :my_shiny_feature
git branch -d my_shiny_feature
## LOOP DEVELOP (repeat from above)popd
Add Blocks in development mode
# First time
pip install-e git+https://github.com/${GITHUB_USER}/blocks.git#egg=blocks[test,docs] --src=$HOME/env \-r https://raw.githubusercontent.com/mila-udem/blocks/master/requirements.txt
pushd env/blocks
# Set up my github id, so that you get 'credit' in activity map# ( Obviously, insert your own details here )
git config user.name "Firstname Lastname"
git config user.email USER@example.com
# Adding the upstream
git remote add upstream git://github.com/mila-udem/blocks.git
# Create local copy of latest upstream revision (first time)
git fetch upstream
git branch trunk upstream/master
python setup.py develop
popd
## See above for DEVELOP START...LOOP
Add Blocks-extras in development mode
pushd env/
git clone https://github.com/${GITHUB_USER}/blocks-extras.git
pushd blocks-extras
pip install-e.# Set up my github id, so that you get 'credit' in activity map# ( Obviously, insert your own details here )
git config user.name "Firstname Lastname"
git config user.email USER@example.com
# Adding the upstream
git remote add upstream git://github.com/mila-udem/blocks-extras.git
# Create local copy of latest upstream revision (first time)
git fetch upstream
git branch trunk upstream/master
## To be investigated (not tried yet) ::##python setup.py developpopd
## See above for DEVELOP START...LOOP
Working on Blocks-examples
Since this is an ‘end-user’ package, it doesn’t need to be installed : Just work on it!
git clone https://github.com/${GITHUB_USER}/blocks-examples.git
cd blocks-examples
# Set up my github id, so that you get 'credit' in activity map# ( Obviously, insert your own details here )
git config user.name "Firstname Lastname"
git config user.email USER@example.com
# Adding the upstream
git remote add upstream git://github.com/mila-udem/blocks-examples.git
# Create local copy of latest upstream revision (first time)
git fetch upstream
git branch trunk upstream/master