我正在研究喀拉拉邦。我是新手。这是我用于创建电影矢量和用户矢量的代码。施加展平后,其给出的张量为空。
movie_input = keras.layers.Input(shape=[1])
movie_vec = keras.layers.Flatten()(keras.layers.Embedding(n_movies + 1, 32)
(movie_input))
movie_vec = keras.layers.Dropout(0.5)(movie_vec)
print(movie_vec)
# Same thing for the users
user_input = keras.layers.Input(shape=[1])
user_vec = keras.layers.Flatten()(keras.layers.Embedding(n_users + 1, 32)
(user_input))
user_vec = keras.layers.Dropout(0.5)(user_vec)
print(user_vec)
input_vecs = keras.layers.merge([movie_vec, user_vec], mode='concat')
nn = keras.layers.Dropout(0.5)(keras.layers.Dense(128, activation='relu') (input_vecs))
nn = keras.layers.normalization.BatchNormalization()(nn)
nn = keras.layers.Dropout(0.5)(keras.layers.Dense(128, activation='relu')(nn))
nn = keras.layers.normalization.BatchNormalization()(nn)
nn = keras.layers.Dense(128, activation='relu')(nn)
它给了我这个错误
>TypeError Traceback (most recent call last)
>cc<ipython-input-27-10f282af0460> in <module>()
18 # Next, we join them all together and put them
19 # through a pretty standard deep learning architecture
20 input_vecs = keras.layers.merge([movie_vec, user_vec], mode='concat')
21 nn = keras.layers.Dropout(0.5)(keras.layers.Dense(128,activation='relu')(input_vecs))
22 nn = keras.layers.normalization.BatchNormalization()(nn)
>TypeError: 'module' object is not callable
答案 0 :(得分:1)
使用keras 2.1.5
里面有keras.layers.merge方法
答案 1 :(得分:0)
keras.layers.merge
不可调用。它是一个模块。查看其documentation