问题描述
警告:tensorflow:最小化损失时,变量 ['dense_151/bias:0'] 不存在梯度。
有关“dense_151/bias:0”的信息在这里。 (模型.摘要())
Layer (type) Output Shape Param #
=================================================================
input_17 (InputLayer) [(None,3)] 0
_________________________________________________________________
dense_144 (Dense) (None,20) 80
_________________________________________________________________
dense_145 (Dense) (None,20) 420
_________________________________________________________________
dense_146 (Dense) (None,20) 420
_________________________________________________________________
dense_147 (Dense) (None,20) 420
_________________________________________________________________
dense_148 (Dense) (None,20) 420
_________________________________________________________________
dense_149 (Dense) (None,20) 420
_________________________________________________________________
dense_150 (Dense) (None,20) 420
_________________________________________________________________
**dense_151 (Dense) (None,2) 42**
=================================================================
总参数:2,642 可训练参数:2,642 不可训练的参数:0
我想过,但不知道为什么会出现这个错误...
梯度和自定义损失低于
def train(self,nIter):
start_time = time.time()
self.optimizer=tf.keras.optimizers.Adam(learning_rate=1e-3)
for it in range(nIter):
lambda1=[self.lambda_1]
lambda2=[self.lambda_2]
trainable_variables=self.NN.NNmodel.trainable_variables+lambda1+lambda2
with tf.GradientTape()as dgrad:
dgrad.watch(trainable_variables)
y=self.custom_loss()
grads=dgrad.gradient(y,trainable_variables)
self.optimizer.apply_gradients(zip(grads,trainable_variables))
def custom_loss(self):
self.u_pred,self.v_pred,self.p_pred,self.f_u_pred,self.f_v_pred = self.function(self.x,self.y,self.t)
loss=self.loss_calcul(self.u_tf,self.u_pred)+self.loss_calcul(self.v_tf,self.v_pred)+\
self.loss_calcul(self.f_u_pred,0)+self.loss_calcul(self.f_v_pred,0)
return loss
感谢您的阅读。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)