12 May 2018


See this project on GitHub

A GUI for creating “DeepDream” images using pretrained convolutional networks. Given recent research on the inclusion of DeepDream images in neural network training sets (Aurora et al. 2015), this program seeks to give researchers greater insight into the images being generated in order to assemble the most effective and diverse training sets. After image has been generated, program outputs statistical information about the new image and difference between the initial and generated images. Written in MATLAB, this program uses Mathworks’ Neural Network Toolbox and the AlexNet support package.


  1. Run the RUN.m script to get started. It provides a more clear starting place. It does not require any inputs.
  2. Use the GUI to select the options of your deep dream image
    • initial image - what to generate an image from
    • number of iterations - how many iterations to put the image through the network, more iterations == more dreaming
    • pyramid scale - how fine to generate details into the output image, smaller pyramid == more details
    • activated channels - what channels to activate, i.e. what to ‘deep dream’
    • output image - the filename for your generated image
  3. Click start
    • A prompt should appear on the bottom left that the image is being generated, with current state output going to the command window
  4. Wait for finish
    • GUI will prompt you when image has been created, a popup will appear with details about the generated image
  5. Making sense of your output
    • An image will be created with the name specified which is the image generated by the neural network
    • A text file will be created with the name specified + .txt, where you can find details of the analysis of the generated image
    • The popup has information about the image you have generated, including Euclidean distance of a black and white rendering of your image, the red channel, the green channel, and the blue channel as specified by the MATLAB image type. It also has descriptive statistics such as the mean, median, and standard deviation of values of the input and output images. There are also charts showing how intense each RGB channel is as well as a black and white rendering of the image.