In [6]:
from keras.models import Sequential,load_model
from keras.layers.core import Dense, Activation,Flatten
from keras.layers.convolutional import Conv2D, MaxPooling2D
from keras.layers.normalization import BatchNormalization
from keras import optimizers
model = Sequential()
model.add(Conv2D(filters=128,kernel_size=3,input_shape=(4,4,1)))
model.add(BatchNormalization())
model.add(Activation('relu'))
#for i in range(blocksize-1):
# model.add(Conv2D(filters=64,kernel_size=3))
# model.add(BatchNormalization())
# model.add(Activation('relu'))
model.add(Conv2D(filters=128,kernel_size=2))
model.add(BatchNormalization())
model.add(Activation('relu'))
model.add(Flatten())
model.add(Dense(64))
model.add(Activation('relu'))
model.add(Dense(32))
model.add(Activation('relu'))
model.add(Dense(4))
model.add(Activation('relu'))
adam = optimizers.Adam(lr=1e-6)
model.compile(loss='mse',optimizer=adam)
from keras.utils import plot_model
plot_model(model, to_file='alphago.png',show_shapes=True,show_layer_names=False)
In [2]:
from IPython.display import SVG
from keras.utils.vis_utils import model_to_dot
SVG(model_to_dot(model).create(prog='dot', format='svg'))
Out[2]:
In [ ]: