Skip to content

Instantly share code, notes, and snippets.

@csquared
Created June 3, 2017 23:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save csquared/32aec401eb733f164abe9b4a859f6b42 to your computer and use it in GitHub Desktop.
Save csquared/32aec401eb733f164abe9b4a859f6b42 to your computer and use it in GitHub Desktop.
log of different tuning params for http://selfdrivingcars.mit.edu/deeptraffic/

2017-06-03 DeepTraffic

first attempt

  • crank everything! (didn't save numbers)
  • added 4 rlu layers with around 1000 neurons
  • very non-deterministic performance
  • didn't understand model
  • read the docs!

second attempt

tradeoffs

  • larger input provides more info
  • makes it harder to learn relevant parts
  • may require longer training times

tunable parameters

car visibility

lanesSide = 0;
patchesAhead = 1;
patchesBehind = 0;

training

trainIterations = 10000;

temporal window?

temporal_window = 3;

hidden layers

layer_defs.push({
    type: 'fc',
    num_neurons: 1,
    activation: 'relu'
});

looked up activation functions a relu seems best for beginner case

run1 - random drive

max visibility

lanesSide = 6;
patchesAhead = 10;
patchesBehind = 10;
trainIterations = 10000;

observations

  • still just one neuron
  • doesn't change lanes
  • given one nueron is probably just stop/go?

increase number of neurons

layer_defs.push({
    type: 'fc',
    num_neurons: 100,
    activation: 'relu'
});

observations

  • changes lanes inferquently
  • still just rides behind one car and passes

evaluate

avg speed: 55.47mph

conclusions

  • not very good
  • probably undertrained
  • probably don't need to look so far behind
  • want to experiment with more layers
  • more and less neurons

run2 - training montage

trainIterations = 50000;

observations

  • taking quite some time to train

evaluate

  • avg speed: 55.04 mph
  • extra training didn't help

run3 - vision

lanesSide = 6;
patchesAhead = 20;
patchesBehind = 8;
  • huge input! 1471

observations

  • training is slow
  • not really sure what the red graph is
  • the boxes below appear to be the neural network, but so far only useful for understanding the input size
  • starting to get impatient on the training...
  • still not changing lanes
  • going to reload page

run4 - restart

input

lanesSide = 6;
patchesAhead = 20;
patchesBehind = 8;
trainIterations = 20000;

layers

layer_defs.push({
    type: 'fc',
    num_neurons: 10,
    activation: 'relu'
});

observations

  • not great at changing lanes
  • maxes speed in open road

evaluation

avg speed: 54.94

conclusions

10 neurons did as well as 100 !

run 5 - go deep

input

lanesSide = 6;
patchesAhead = 20;
patchesBehind = 8;
trainIterations = 20000;

layers

layer_defs.push({
    type: 'fc',
    num_neurons: 500,
    activation: 'relu'
});
layer_defs.push({
    type: 'fc',
    num_neurons: 500,
    activation: 'relu'
});
observations

made the net way too big let's trim this all down a bit

run 6 - conservative

input

lanesSide = 5;
patchesAhead = 10;
patchesBehind = 2;
trainIterations = 10000;

layers

layer_defs.push({
    type: 'fc',
    num_neurons: 10,
    activation: 'relu'
});

observations

  • doing just as well as the big net!
  • still getting stuck
  • wondering what the appropriate tradeoffs are

evaluation

avg speed: 56.6

conclusions

  • now seeing a bit of lane changin
  • remember i have to be patient for traning to happen
  • bigger isn't always better
  • esp b.c training is compute AND memory bound

run 7 - small steps

input

lanesSide = 5;
patchesAhead = 15;
patchesBehind = 2;
trainIterations = 20000;

763 bits

layers

layer_defs.push({
    type: 'fc',
    num_neurons: 10,
    activation: 'relu'
});
layer_defs.push({
    type: 'fc',
    num_neurons: 10,
    activation: 'relu'
});

observations

conclusions

avg speed: 51.01 mph!!

run - have no idea

input

lanesSide = 5;
patchesAhead = 5;
patchesBehind = 2;
trainIterations = 10000;

layers

layer_defs.push({
    type: 'fc',
    num_neurons: 8,
    activation: 'relu'
});
layer_defs.push({
    type: 'fc',
    num_neurons: 4,
    activation: 'relu'
});

observations

avg speed: 58.4

conclusions

run

lanesSide = 3;
patchesAhead = 8;
patchesBehind = 2;
trainIterations = 10000;

layer_defs.push({
    type: 'fc',
    num_neurons: 8,
    activation: 'relu'
});
layer_defs.push({
    type: 'fc',
    num_neurons: 4,
    activation: 'relu'
});

avg speed: 51.48

run

lanesSide = 3;
patchesAhead = 8;
patchesBehind = 2;
trainIterations = 10000;

layer_defs.push({
    type: 'fc',
    num_neurons: 8,
    activation: 'relu'
});
layer_defs.push({
    type: 'fc',
    num_neurons: 4,
    activation: 'relu'
});

avg speed: 51.48

run

lanesSide = 4;
patchesAhead = 10;
patchesBehind = 3;
trainIterations = 20000;

layer_defs.push({
    type: 'fc',
    num_neurons: 32,
    activation: 'relu'
});
layer_defs.push({
    type: 'fc',
    num_neurons: 16,
    activation: 'relu'
});

avg speed: 69.87!!!

run

lanesSide = 3;
patchesAhead = 10;
patchesBehind = 2;
trainIterations = 10000;
layer_defs.push({
    type: 'fc',
    num_neurons: 32,
    activation: 'relu'
});
layer_defs.push({
    type: 'fc',
    num_neurons: 16,
    activation: 'relu'
});

run

lanesSide = 3;
patchesAhead = 10;
patchesBehind = 2;
trainIterations = 10000;

layer_defs.push({
    type: 'fc',
    num_neurons: 64,
    activation: 'relu'
});
layer_defs.push({
    type: 'fc',
    num_neurons: 64,
    activation: 'relu'
});

run

lanesSide = 3;
patchesAhead = 10;
patchesBehind = 2;
trainIterations = 10000;


layer_defs.push({
    type: 'fc',
    num_neurons: 64,
    activation: 'relu'
});
layer_defs.push({
    type: 'fc',
    num_neurons: 64,
    activation: 'relu'
});

avg: 69.39

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