如何解决tf.matmul是否等效于在某些情况下密集层在张量流中进行的操作?
我已经创建了这个模型
num_items = 1250
num_users = 1453
emb_size = 64
input_userID = Input(shape=[1],name='user_ID')
input_itemID = Input(shape=[1],name='item_ID')
user_emb_GMF = Embedding(num_users,emb_size,name='user_emb_GMF')(input_userID)
item_emb_GMF = Embedding(num_items,name='item_emb_GMF')(input_itemID)
interraction_map = tf.expand_dims(Dot(axes=1)([user_emb_GMF,item_emb_GMF]),-1)
print(interraction_map)
conv = Conv2D(32,2,strides=2,activation='relu',padding="SAME",input_shape=interraction_map.shape[1:],name='conv1')(interraction_map)
for i in range(2,7):#les autres conv layer
conv = Conv2D(32,name='conv%d'%(i))(conv)
reshaped_conv = Flatten()(conv)
# c'est la que je doit agir et ajouter creer la prédiction
out = Dense(1,name='output' )(reshaped_conv)
#out = Dense(1,activation='sigmoid',name='output')(layer)
oncf_model = Model([input_userID,input_itemID],out)
tf.keras.utils.plot_model(oncf_model,show_shapes=True)
并且我希望输出层是此操作的结果:
output_layer = tf.matmul(reshaped_conv,W) + b
其中W是形状为(32,1)(权重)的张量,b是形状为(1)(偏压)的张量。
我想知道在这种特殊情况下,用matmul完成的操作是否等同于密集层所做的操作
out = Dense(1,name='output' )(reshaped_conv)
解决方法
是的,它们是相同的...您可以自己进行测试
def one():
cn.itemconfigure('image',image=vo)
def two():
cn.itemconfigure('image',image=vo2)
...
cn = Canvas(w,width=400,height=250,bg='#b000ff',highlightthickness=0)
cn.pack(side=BOTTOM,anchor=E)
cn.create_image(200,135,image=None,tag='image')
w.mainloop()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。