Switch to unified view

a b/examples/legacy/helpers.py
1
from keras.models import Sequential, Model
2
from keras.layers import Dense, Activation, Flatten, Input, concatenate
3
4
def policy_nn(shape_in, shape_out, hidden_layers = 3, hidden_size = 32):
5
    actor = Sequential()
6
    actor.add(Flatten(input_shape=(1,) + (shape_in, )))
7
    for i in range(hidden_layers):
8
        actor.add(Dense(hidden_size))
9
        actor.add(Activation('relu'))
10
    actor.add(Dense(shape_out))
11
    actor.add(Activation('sigmoid'))
12
    return actor
13
14
def q_nn(nb_obs, nb_act, hidden_layers = 3, hidden_size = 64):
15
    action_input = Input(shape=(nb_act, ), name='action_input')
16
    observation_input = Input(shape=(1,) + (nb_obs, ), name='observation_input')
17
    flattened_observation = Flatten()(observation_input)
18
    x = concatenate([action_input, flattened_observation])
19
    for i in range(hidden_layers):
20
        x = Dense(hidden_size)(x)
21
        x = Activation('relu')(x)
22
    x = Dense(1)(x)
23
    x = Activation('linear')(x)
24
    critic = Model(inputs=[action_input, observation_input], outputs=x)
25
    return critic, action_input