大佬教程收集整理的这篇文章主要介绍了Tensorflow 2.0 - 如何创建作为两个矩阵乘积的可训练变量?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想创建一个密集层,但不是 XW = Y,而是 X(WC)=Y,其中 W 是可训练的权重,C 是与 W 形状相同的常量变量。我已经尝试创建我自己的自定义 Dense 层,但似乎任何时候我将可训练变量与常数相乘,它不再被视为可训练的。感谢任何建议/建议!
我目前的方法:
class MaskedDense(DensE):
#Dense layer defined here:
#https://github.com/tensorflow/tensorflow/blob/v2.4.0/tensorflow/python/keras/layers/core.py#L1081-L1247
def __init__(self,units,mask_weight,*args,**kwargs):
super(MaskedDense,self).__init__(units,**kwargs)
self.mask_weight = mask_weight
def build(self,input_shapE):
super(MaskedDense,self).build(input_shapE)
self._underlying_kernel = self.kernel
self.kernel_mask = tf.Variable(initial_value=self.mask_weight,Trainable=false,name='kernelmask',dtype='float32')
self._non_Trainable_weights.append(self.kernel_mask)
self.kernel = tf.math.multiply(self._underlying_kernel,self.kernel_mask)
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的Tensorflow 2.0 - 如何创建作为两个矩阵乘积的可训练变量?全部内容,希望文章能够帮你解决Tensorflow 2.0 - 如何创建作为两个矩阵乘积的可训练变量?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。