MTH 448/563 Data-Oriented Computing

Fall 2019

Day 27 = Day -2

Monday, December 2

Framework for Project and Report #6

Generating variant of the image sets

We want to generate a collection of sequentially numbered images in a folder "foo" and also an attribute file foo/foo.txt that is a space-separated csv file with an appropriate header row that names the attributes.

Also nice to make an HTML file that embeds all the images for easy inspection.

Code to draw a single eyes

0012_one_eye_x-27.356_y-10.098.png

Linux: draw_one_eye.py

Code to draw confetti

confetti.png

confetti.zip

Linux: draw_confetti.py

Needed modules: randomhexcolor.py, SVGSketch.py

Usage: run draw_confetti.py triangles_squares_pentagons 3 5 10

Training and applying a network

We want this code to work with any data of the format we've generated above. So we need to tell it just the folder name and the list of attributes we're trying to predict.

A starting point for the code: one_eye_starter.py (copy and paste to notebook).

Modifications we need to make:

  • set up the input arguments: foldername and list of attributes
  • write code to load the images and their attributes
  • rescale the data to lie in the unit cube [0, 1]n. (Need to preserve this transformation.)
  • make plots to illustrate accuracy
  • compute some overall quantitative measure(s) of accuracy

Things I'd like to see in the report

  • results of multiple "identical" training runs on the same data
  • effect of changing training parameters
  • effect of changing the structure of the network (slightly or even radically)
  • test of robustness of predictions to small variations in the parameters of the images (e.g iris color, size)

A deep CNN

I want to just show you a very deep CNN that is close to state-of-the art for image classification: Inception-Resnet v2

inception_resnet_v2.png

Power, responsibility, course evaluations

A few final words