【发布时间】:2017-08-02 16:01:29
【问题描述】:
如何在 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.
我的代码有什么问题?
【问题讨论】: