Checkout Machine Learning In Hindsight
1. Install Python and Virtualenv
see: https://www.tensorflow.org/install/
Use virtualenv to created walled off python envrionment
MACOSX
$ brew install python python3 # next use the python package manager 'pip' to install virtualenv $ sudo easy_install pip $ sudo easy_install pip3 $ pip3 install --upgrade pip $ pip3 install --user virtualenv $ pip3 install --user virtualenvwrapper $ pip3 install numpy scipy pillow $ pip3 install matplotlib $ pip3 install future $ mkdir -p ~/virtualenvs
Ubuntu
$ sudo apt-get install python-pip python3-pip $ sudo apt-get install build-essential libssl-dev libffi-dev python3-dev $ sudo apt-get install libfreetype6-dev libxft-dev $ pip3 install --upgrade pip # next use the python package manager 'pip' to install virtualenv $ pip3 install --user virtualenv $ pip3 install --user virtualenvwrapper # add virtualenv to your path $ pip3 install numpy $ pip3 install pillow $ pip3 install future $ sudo pip3 install matplotlib $ sudo apt-get install virtualenv $ mkdir -p ~/virtualenvs
2. Setup your paths
MAC OSX
# WARNING: you may have to set PYTHONPATH to include ~/library/Python/2.7/lib/python/site-packages/ # Place the following in your .profile settings VIRTUALENVWRAPPER_PYTHON=$(which python3) export VIRTUALENVWRAPPER_PYTHON export WORKON_HOME=~/virtualenvs if [ -f "/usr/local/bin/virtualenvwrapper.sh" ]; then . /usr/local/bin/virtualenvwrapper.sh fi PATH="$PATH:$HOME/Library/Python/2.7/bin" export PATH # end .profile changes
Ubuntu
a. In your $HOME/.profile-extra, PATH="$HOME/.local/bin:$PATH" export PATH VIRTUALENVWRAPPER_PYTHON=$(which python3) export VIRTUALENVWRAPPER_PYTHON export WORKON_HOME=~/virtualenvs if [ -f "$HOME/.local/bin/virtualenvwrapper.sh" ]; then . "$HOME/.local/bin/virtualenvwrapper.sh" elif [ -f "/usr/local/bin/virtualenvwrapper.sh" ]; then . /usr/local/bin/virtualenvwrapper.sh fi # end .profile changes b. In your $HOME/.bashrc-extra, . "$HOME/.local/bin/virtualenvwrapper.sh" # end .profile changes
3. Create working directory
MACOSX
$ mkdir -p ~/work/Foo/project1 $ cd ~/work/Foo $ virtualenv -p /usr/local/bin/python3 project1
Ubuntu
$ mkdir -p ~/work/Foo/project1 $ cd ~/work/Foo $ virtualenv -p /usr/bin/python3.5 project1
4. Install TensorFlow:
NOTE: Use python3 instead of python 2
MACOSX & Ubuntu
$ mkdir -p ~/tensorflow3/src # remove the "-p python3" from the command line if you want a python2 package installation $ virtualenv --system-site-packages -p python3 ~/tensorflow3 $ . ~/tensorflow3/bin/activate (tensorflow3) $ cd ~/tensorflow3 (tensorflow3) $ easy_install -U pip # for Ubuntu, upgrade tensorflow-gpu or tensorflow. For Mac, the only option is tensorflow (the CPU version). (tensorflow3) $ pip3 install --upgrade tensorflow-gpu # type # $ deactivate # at the shell prompt to leave the virtual environment
5. Install Jupyter Notebook
MACOSX & Ubuntu
$ . ~/tensorflow3/bin/activate (tensorflow3) $ pip3 install jupyter # we need to configure jupyter to be remotely accessible (tensorflow3) $ cd ~/tensorflow3/src
See Jupyter.org for more info on what jupyter notebook is and how to use it.
6. Optional: Make the jupyter notebook accessible remotely
By default, the jupyter notebook is accessible only via localhost. Do the
following to make it available remotely.
MACOSX & Ubuntu
$ . ~/tensorflow3/bin/activate (tensorflow3) $ jupyter notebook --generate-config # this creates a file ~/.jupyter/jupyter_notebook_config.py # # set the password using: (tensorflow3) $ jupyter notebook password # generate a certificate for using https (tensorflow3) $ openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout jupyter.key -out jupyter.pem (tensorflow3) $ mv jupyter.key jupyter.pem ~/.jupyter/ # Edit the ~/.jupyter/jupyter_notebook_config.json file to set the additional # settings: Begin File contents of: ~/.jupyter/jupyter_notebook_config.json { "NotebookApp": { "certfile" : "/home/{my-user-name}/.jupyter/jupyter.pem", "keyfile" : "/home/{my-user-name}/.jupyter/jupyter.key", "port": 9111, "open_browser": false, "ip": "my-hostname-or-ip-address", "password": "generated-sha-do-not-change" } } End File contents of: ~/.jupyter/jupyter_notebook_config.json
7. Run the Jupyter Notebook
MACOSX & Ubuntu
Notebooks
Here are some basic jupyter notebook worksheets illustrating common algorithms. Save this to your work area, ~/tensorflow3/src, and play around with them.
- TensorFlowBasicUsage.ipynb this is a basic jupyter notebook file showing linear regression
- TensorFlowMnistForMLBeginners.ipynb this shows a simple net for the MNIST digit data
- TensorFlowMnistConvoNet.ipynb this shows a multi-layer convolution net for the MNIST digit data with better than 99% accuracy.
Starting jupyter
$ . ~/tensorflow3/bin/activate (tensorflow3) $ cd ~/tensorflow3/src (tensorflow3) $ jupyter notebook # open the link in your browser and you should see the various worksheets that you've saved. Click on one # to run.