-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgen.py
More file actions
89 lines (75 loc) · 2.25 KB
/
gen.py
File metadata and controls
89 lines (75 loc) · 2.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
from keras.layers.core import *
from keras.layers import *
from keras.utils import *
from keras.optimizers import *
from keras.models import *
import numpy as np
import keras
import cv2
import pygame
import random
import sys
if raw_input('Are you sure you want to overwrite your existing model? (y/n)') == 'y':
pass
else:
exit()
##############################
## Define Hyper Parameters ##
##############################
trainingFrameCount = 4000
testingFrameCount = 4000
layer1_size = 128
layer2_size = 100
layer3_size = 120
layer4_size = 256
layer5_size = 48
layer6_size = 48
layer7_size = 48
layer8_size = 32
nb_classes = 4
###################
## Define Model ##
###################
model = Sequential()
model.add(keras.layers.convolutional.Conv2D(layer1_size, 15, strides=2, input_shape=(100,100,1)))
model.add(Activation('relu'))
model.add(keras.layers.pooling.MaxPooling2D(pool_size=(2,2)))
#model.add(keras.layers.convolutional.Conv2D(layer2_size, 5))
#model.add(Activation('relu'))
#model.add(keras.layers.pooling.MaxPooling2D(pool_size=(2,2)))
#model.add(keras.layers.convolutional.Conv2D(layer3_size, 2))
#model.add(Activation('relu'))
#model.add(keras.layers.pooling.MaxPooling2D(pool_size=(2,2)))
model.add(Flatten())
#model.add(Dense(layer3_size))
#model.add(Activation('relu'))
#model.add(Dropout(0.1))
model.add(Dense(layer4_size))
model.add(Activation('relu'))
#model.add(Dense(layer5_size))
#model.add(Activation('relu'))
#model.add(Dropout(0.05))
#model.add(Dense(layer6_size))
#model.add(Activation('relu'))
#model.add(Dropout(0.05))
model.add(Dense(layer7_size))
model.add(Activation('relu'))
model.add(Dropout(0.03))
model.add(Dense(layer8_size))
model.add(Activation('relu'))
model.add(Dropout(0.01))
model.add(Dense(nb_classes))
model.add(Activation('softmax'))
model.summary()
###########################
## Save TensorBoard Data ##
###########################
tensorBoardCallback = keras.callbacks.TensorBoard(log_dir='/your-home-dir/chaser/model/logs', histogram_freq=0, write_graph=False, write_images=True)
########################
## Save Model to DIsk ##
########################
jsonModel = model.to_json()
with open("chaser-model.json", "w") as jsonFile:
jsonFile.write(jsonModel)
model.save_weights("chaser-model.h5")
print("Saved model to disk")