Tensorflow.js 可以计算中间层权重梯度吗?

时间:2021-04-26 03:59:44

标签: javascript tensorflow tensorflow.js

就我而言,我将 CNN 层模型分为两部分。在进行反向传播时,我计算了第二个子模型的 dLoss/dOutput。对于第一个子模型,我想计算 dOutput/dWeight,但失败了。这是我的代码:

const f = (input, weight) => tf.tidy(() => {
        return model.predict(input); // return type: tf.Tensor
    });
    let weight = model.getWeights();
    const g = tf.valueAndGrads(f);
    let {value, grad} = g([x].concat(weight));

梯度结果为undefined。我知道 tf.variableGrads() 可以通过损失函数计算模型梯度。但是损失函数必须返回一个不适合我的函数的标量。还有什么可以帮助的吗?

0 个答案:

没有答案
相关问题