Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- user_id_input = Input(shape=[1], name='user')
- item_id_input = Input(shape=[1], name='item')
- embedding_size = 10
- user_embedding = Embedding(output_dim=embedding_size, input_dim=users.shape[0],
- input_length=1, name='user_embedding')(user_id_input)
- item_embedding = Embedding(output_dim=embedding_size, input_dim=beers.shape[0],
- input_length=1, name='item_embedding')(item_id_input)
- user_vecs = Reshape([embedding_size])(user_embedding)
- item_vecs = Reshape([embedding_size])(item_embedding)
- # Add dense towers or not.
- # user_vecs = Dense(64, activation='relu')(user_vecs)
- # item_vecs = Dense(64, activation='relu')(item_vecs)
- input_vecs = Multiply()([user_vecs, item_vecs]) # can be changed by concat or dot.
- # (if dot, no dense layer can be used after)
- input_vecs = Dropout(0.2)(input_vecs)
- x = Dense(128, activation='relu')(input_vecs)
- #x = Dropout(0.2)(x) # Add droupout or not
- #x = Dense(64, activation='relu')(x) # Add dense again or not
- #x = Dropout(0.2)(x) # Add droupout or not
- #x = Dense(32, activation='relu')(x) # Add dense again or not
- y = Dense(1)(x)
- model = Model(inputs=[user_id_input, item_id_input], outputs=y)
- model.compile(optimizer='adam', loss='mse')
Add Comment
Please, Sign In to add comment