【发布时间】:2020-01-15 07:35:16
【问题描述】:
我正在尝试从YAMNET 的“layer14/pointwise_conv”层获取渐变值。
首先,我刚刚打开了repository,这样您就可以轻松地看到我正在努力解决的完全相同的代码。
YAMNET 在 tf_model 的结构中包含 mel_spec 特征提取和框架。
(例如,项目中包含的音频文件为 10 秒长,并在处理时转换为 19 帧 mel_spec 数据)
因此,我打算获取每个帧的 grads_val ,
y_c = yamnet.output[0][0, prediction.argmax()]
conv_output = yamnet.get_layer('layer14/pointwise_conv').output
grads = K.gradients(y_c, conv_output)[0]
gradient_function = K.function([yamnet.input], [conv_output, grads])
output, grads_val = gradient_function([INPUT_IMAGE])
但只有第一帧被正确处理。
如何计算每一帧的梯度?
【问题讨论】:
标签: tensorflow keras gradient