/Visualizing-Convnets

How to build convolutional neural networks from scratch w/ Tensorflow

Primary LanguageJupyter Notebook

Visualizing Convnets

This repository has the code from my O'Reilly article Visualizing Convolutional Neural Networks w/ TensorFlow published on September 15th, 2017.

This code contains tools for building a dataset and a jupyter notebook for implementing and visualizing a simple convolutional neural network.

Required Packages

There are three ways you can install these packages: by using Docker, by using Anaconda Python, or installing the packages manually yourself. Though not required if you have a NVidia graphic card with a compute capability of 3.0 or greater and atleast 3gb of memory using GPU supported TensorFlow will drasticallly improve preformance. Instructions for installing GPU supported TensorFlow can be found here.

Using Docker

  1. Download and install Docker. If using Ubuntu 14.04/16.04 I wrote my own instructions for installing docker here.

  2. Download and unzip this entire repo from GitHub, either interactively, or by entering

    git clone https://github.com/wagonhelm/Visualizing-Convnets.git
  3. Open your terminal and use cd to navigate into the directory of the repo on your machine

    cd Visualizing-Convnets
  4. To build the Dockerfile, enter

    docker build -t cnn_dockerfile -f dockerfile .

    If you get a permissions error on running this command, you may need to run it with sudo:

    sudo docker build -t cnn_dockerfile -f dockerfile .
  5. Run Docker from the Dockerfile you've just built

    docker run -it -p 8888:8888 -p 6006:6006 cnn_dockerfile bash

    or

    sudo docker run -it -p 8888:8888 -p 6006:6006 cnn_dockerfile bash

    if you run into permission problems.

  6. Launch Jupyter and Tensorboard both by using tmux

    tmux
    
    jupyter notebook --allow-root

    Press CTL+B then C to open a new tmux window, then

    tensorboard --logdir='/tmp/cnn'
    

    To switch windows Press CTL+B then window #

    Once both jupyter and tensorboard are running, using your browser, navigate to the URLs shown in the terminal output if those don't work try http://localhost:8888/ for Jupyter Notebook and http://localhost:6006/ for Tensorboard.