gpt4 book ai didi

python - Keras 中的自定义层 : def call

转载 作者:太空宇宙 更新时间:2023-11-03 14:57:00 25 4
gpt4 key购买 nike

如何在 Keras 中实现自定义层? def 调用中的参数“x”是什么意思?

我需要实现具有 (num,4,4) 权重的层,该层将 (num,4,4) 数组作为输入,并将每个切片(num (4,4) 输入数组中的每个切片)乘以相应的权重切片。所以我想要 (num,1,1) 输出。

我尝试这样做:

def call(self, x, mask=None):
num = self.input_len
res=np.zeros((num,1,1))
for i in range(num):
print(x[i,:,:])
res[i,0,0]=K.dot(x[i,:,:], self.W[i,:,:])
return res

但我有错误:

    /home/universal/anaconda3/envs/practicecourse2/mylayer.py in call(self, x, mask)
26 for i in range(num):
27 print(x[i,:,:])
---> 28 res[i,0,0]=K.dot(x[i,:,:], self.W[i,:,:])
29 return res
30

ValueError: setting an array element with a sequence.

我的代码有什么问题?

最佳答案

我应该使用

res= K.sum(x*self.W,axis=(2,3))

而不是

for i in range(num):
print(x[i,:,:])
res[i,0,0]=K.dot(x[i,:,:], self.W[i,:,:])

关于python - Keras 中的自定义层 : def call,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45465747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com