首页 > 解决方案 > 为什么 K.gradients(loss, input_img)[0] 在 Kears CNN 中返回“None”?

问题描述

我有这样的网络结构

Layer (type)                 Output Shape              Param #   
=================================================================
embedding_1 (Embedding)      (None, 7507, 2131)        15999548  
_________________________________________________________________
conv1d_1 (Conv1D)            (None, 7507, 256)         2727936   
_________________________________________________________________
max_pooling1d_1 (MaxPooling1 (None, 2503, 256)         0         
_________________________________________________________________
lstm_1 (LSTM)                (None, 256)               525312    
_________________________________________________________________
dense_1 (Dense)              (None, 4096)              1052672   
_________________________________________________________________
activation_1 (Activation)    (None, 4096)              0         
_________________________________________________________________
dropout_1 (Dropout)          (None, 4096)              0         
_________________________________________________________________
dense_2 (Dense)              (None, 2131)              8730707   
_________________________________________________________________
activation_2 (Activation)    (None, 2131)              0         
=================================================================
Total params: 29,036,175
Trainable params: 29,036,175
Non-trainable params: 0
_________________________________________________________________

然后我想计算给定输入的梯度信息,像这样

adv_list = []
loss = layer_list[-2][1].output[:, f]
grads = K.gradients(loss, model.input)[0]
iterate = K.function([model.input], [loss, grads])

但是,当代码执行到这一行时: grads = K.gradients(loss, input_img)[0] 我发现它只返回 None 对象,所以程序在那之后无法继续。而grads是None,我打印了一些中间信息

('loss: ', <tf.Tensor 'strided_slice:0' shape=(?,) dtype=float32>)
('model.input', <tf.Tensor 'embedding_1_input:0' shape=(?, 7507) dtype=float32>)
('K.gradients(loss, model.input', [None])

标签: pythontensorflowmachine-learningkerasdeep-learning

解决方案


推荐阅读