Keras:协同过滤后查找关闭项目

时间:2018-01-08 09:36:22

标签: python-3.x keras grouping recommendation-engine

所以我使用Keras(Tensorflow后端,如果这很重要)运行协作过滤算法,用于游戏评级数据库。

def collaborative_filtering(num_items, num_users, num_item_features=50):
    user_in = Input(shape=(1,), dtype='int64', name='user_in')
    users_preferences = Embedding(
        #...
        name='users_preferences',
    )(user_in)
    item_in = Input(shape=(1,), dtype='int64', name='item_in')
    items_factors = Embedding(
        #...
        name='items_factors',
    )(item_in)

    x = concatenate([users_preferences, items_factors])
    x = Flatten()(x)
    x = Dense(100, use_bias=True)(x)
    x = Dropout(0.5)(x)
    x = Dense(1)(x)

    model = Model([item_in, user_in], x)
    return model

现在我已将所有权重保存在weights_633-1.79.hdf5文件中。我想用items_factors权重来说明哪些游戏应该彼此相似。我如何实际编写那个?

我找到了

model.load_weights(filepath, by_name=True)
但是,似乎使用它我必须编码整个模型,即使我只是想加载已经训练过的权重。

我也看过how to get the outputs from the embedding layer这就是我现在开始编写的代码,但似乎应该有更优雅的解决方案。

0 个答案:

没有答案