Skip to content

Instantly share code, notes, and snippets.

@robertsdionne
Last active August 29, 2015 14:24
Show Gist options
  • Save robertsdionne/c8b89442659eed5c9a13 to your computer and use it in GitHub Desktop.
Save robertsdionne/c8b89442659eed5c9a13 to your computer and use it in GitHub Desktop.
Deepdream Docker image setup instructions
#!/usr/bin/env bash
# Assuming OS X Yosemite 10.10.4
# Install the Homebrew package manager if you don't already use it; see source http://brew.sh
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# Install VirtualBox by hand or with homebrew
# By hand: https://www.virtualbox.org/wiki/Downloads
# Homebrew:
brew cask install virtualbox
# Install boot2docker and Docker
brew install boot2docker docker
# Initialize your boot2docker virtual machine
boot2docker init
# Start your boot2docker virtual machine
boot2docker up
# Setup your docker environment variables
eval "$(boot2docker shellinit)"
# Make an images directory
mkdir -p images
# Copy the image you want to use to images/
cp XYZ.jpg images/
# Run deepdream via docker, specifying the neural network layer objective to maximize as the last argument;
# 'inception_4c/output' is the default which makes puppyslugs.
# See https://registry.hub.docker.com/u/mjibson/deepdream/
docker run --rm -v `pwd`/images:/images mjibson/deepdream 'file:///images/XYZ.jpg' 'inception_4c/output'
# Neural network layer objectives:
# ['data',
# 'conv1/7x7_s2',
# 'pool1/3x3_s2',
# 'pool1/norm1',
# 'conv2/3x3_reduce',
# 'conv2/3x3',
# 'conv2/norm2',
# 'pool2/3x3_s2',
# 'pool2/3x3_s2_pool2/3x3_s2_0_split_0',
# 'pool2/3x3_s2_pool2/3x3_s2_0_split_1',
# 'pool2/3x3_s2_pool2/3x3_s2_0_split_2',
# 'pool2/3x3_s2_pool2/3x3_s2_0_split_3',
# 'inception_3a/1x1',
# 'inception_3a/3x3_reduce',
# 'inception_3a/3x3',
# 'inception_3a/5x5_reduce',
# 'inception_3a/5x5',
# 'inception_3a/pool',
# 'inception_3a/pool_proj',
# 'inception_3a/output',
# 'inception_3a/output_inception_3a/output_0_split_0',
# 'inception_3a/output_inception_3a/output_0_split_1',
# 'inception_3a/output_inception_3a/output_0_split_2',
# 'inception_3a/output_inception_3a/output_0_split_3',
# 'inception_3b/1x1',
# 'inception_3b/3x3_reduce',
# 'inception_3b/3x3',
# 'inception_3b/5x5_reduce',
# 'inception_3b/5x5',
# 'inception_3b/pool',
# 'inception_3b/pool_proj',
# 'inception_3b/output',
# 'pool3/3x3_s2',
# 'pool3/3x3_s2_pool3/3x3_s2_0_split_0',
# 'pool3/3x3_s2_pool3/3x3_s2_0_split_1',
# 'pool3/3x3_s2_pool3/3x3_s2_0_split_2',
# 'pool3/3x3_s2_pool3/3x3_s2_0_split_3',
# 'inception_4a/1x1',
# 'inception_4a/3x3_reduce',
# 'inception_4a/3x3',
# 'inception_4a/5x5_reduce',
# 'inception_4a/5x5',
# 'inception_4a/pool',
# 'inception_4a/pool_proj',
# 'inception_4a/output',
# 'inception_4a/output_inception_4a/output_0_split_0',
# 'inception_4a/output_inception_4a/output_0_split_1',
# 'inception_4a/output_inception_4a/output_0_split_2',
# 'inception_4a/output_inception_4a/output_0_split_3',
# 'inception_4b/1x1',
# 'inception_4b/3x3_reduce',
# 'inception_4b/3x3',
# 'inception_4b/5x5_reduce',
# 'inception_4b/5x5',
# 'inception_4b/pool',
# 'inception_4b/pool_proj',
# 'inception_4b/output',
# 'inception_4b/output_inception_4b/output_0_split_0',
# 'inception_4b/output_inception_4b/output_0_split_1',
# 'inception_4b/output_inception_4b/output_0_split_2',
# 'inception_4b/output_inception_4b/output_0_split_3',
# 'inception_4c/1x1',
# 'inception_4c/3x3_reduce',
# 'inception_4c/3x3',
# 'inception_4c/5x5_reduce',
# 'inception_4c/5x5',
# 'inception_4c/pool',
# 'inception_4c/pool_proj',
# 'inception_4c/output',
# 'inception_4c/output_inception_4c/output_0_split_0',
# 'inception_4c/output_inception_4c/output_0_split_1',
# 'inception_4c/output_inception_4c/output_0_split_2',
# 'inception_4c/output_inception_4c/output_0_split_3',
# 'inception_4d/1x1',
# 'inception_4d/3x3_reduce',
# 'inception_4d/3x3',
# 'inception_4d/5x5_reduce',
# 'inception_4d/5x5',
# 'inception_4d/pool',
# 'inception_4d/pool_proj',
# 'inception_4d/output',
# 'inception_4d/output_inception_4d/output_0_split_0',
# 'inception_4d/output_inception_4d/output_0_split_1',
# 'inception_4d/output_inception_4d/output_0_split_2',
# 'inception_4d/output_inception_4d/output_0_split_3',
# 'inception_4e/1x1',
# 'inception_4e/3x3_reduce',
# 'inception_4e/3x3',
# 'inception_4e/5x5_reduce',
# 'inception_4e/5x5',
# 'inception_4e/pool',
# 'inception_4e/pool_proj',
# 'inception_4e/output',
# 'pool4/3x3_s2',
# 'pool4/3x3_s2_pool4/3x3_s2_0_split_0',
# 'pool4/3x3_s2_pool4/3x3_s2_0_split_1',
# 'pool4/3x3_s2_pool4/3x3_s2_0_split_2',
# 'pool4/3x3_s2_pool4/3x3_s2_0_split_3',
# 'inception_5a/1x1',
# 'inception_5a/3x3_reduce',
# 'inception_5a/3x3',
# 'inception_5a/5x5_reduce',
# 'inception_5a/5x5',
# 'inception_5a/pool',
# 'inception_5a/pool_proj',
# 'inception_5a/output',
# 'inception_5a/output_inception_5a/output_0_split_0',
# 'inception_5a/output_inception_5a/output_0_split_1',
# 'inception_5a/output_inception_5a/output_0_split_2',
# 'inception_5a/output_inception_5a/output_0_split_3',
# 'inception_5b/1x1',
# 'inception_5b/3x3_reduce',
# 'inception_5b/3x3',
# 'inception_5b/5x5_reduce',
# 'inception_5b/5x5',
# 'inception_5b/pool',
# 'inception_5b/pool_proj',
# 'inception_5b/output',
# 'pool5/7x7_s1',
# 'loss3/classifier',
# 'prob']
@veegee82
Copy link

veegee82 commented Jul 7, 2015

Hey one question did it runs with cuda. If not do you have a solution for cuda because it runs really slow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment