Keras自定义图层ValueError:一个 *** 作的渐变没有“无”。

Keras自定义图层ValueError:一个 *** 作的渐变没有“无”。,第1张

Keras自定义图层ValueError:一个 *** 作的渐变没有“无”。

您正在通过调用原始的Conv2D构建来破坏构建(您的构建

self.kernel
将被替换,然后
self.kernelA
将不再使用,因此反向传播将永远无法实现)。

它还期望有偏差和所有常规内容:

class CustConv2D(Conv2D):    def __init__(self, filters, kernel_size, kernelB=None, activation=None, **kwargs):        #...        #...        #don't use bias if you're not defining it:        super(CustConv2D, self).__init__(self.num_filters, self.kernel_size,    activation=activation,   use_bias=False, **kwargs)        #bonus: don't forget to add the activation to the call above        #it will also replace all your `self.anything` defined before this call    def build(self, input_shape):        #...        #...        #don't use bias:        self.bias = None        #consider the layer built        self.built = True        #do not destroy your build        #comment: super(CustConv2D, self).build(input_shape)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5674700.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存