我的错误在这里
警告:tensorflow:当最小化损失时,变量['dense_151/bias:0']不存在梯度。
这里有关于“密集度/偏差:0”的信息。(model.summary())
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**
=================================================================
总参数:2642 可培训参数:2642 不可训练参数: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
谢谢你的阅读
目前没有回答
相关问题 更多 >
编程相关推荐