为了账号安全,请及时绑定邮箱和手机立即绑定

Tensorflow.js 神经网络中的反向传播

Tensorflow.js 神经网络中的反向传播

慕村225694 2023-01-06 16:18:38

当我一直试图将此功能实现tf.train.stg(learningRate).minimize(loss)到我的代码中以进行反向传播时。我收到了多个错误,例如The f passed in variableGrads(f) must be a function。我如何将上面的功能成功地实现到下面的代码中?为什么会出现这个错误?


神经网络:


    var X = tf.tensor([[1,2,3], [4,5,6], [7,8,9], [10,11,12]])

    var Y = tf.tensor([[0,0,0],[0,0,0], [1,1,1]])

    var m = X.shape[0]

    var a0 = tf.zeros([1,3])

    var y_hat = tf.zeros([1,3])

    var parameters = {

        "Wax": tf.randomUniform([1,3]),

        "Waa": tf.randomUniform([3,3]),

        "ba": tf.zeros([1,3]),

        "Wya": tf.randomUniform([3,3]),

        "by": tf.zeros([1,3])

    }


   


    function RNN_cell_Foward(xt, a_prev, parameters){

        var Wax = parameters["Wax"]

        var Waa = parameters["Waa"]

        var ba = parameters["ba"]


        var a_next = tf.sigmoid(tf.add(tf.add(tf.matMul(xt, Wax), tf.matMul(a_prev , Waa)),ba))


        return a_next

    }


这是一个用于情感分类的神经网络,具有多对一的结构。


查看完整描述

1 回答

?
皈依舞

TA贡献1590条经验 获得超3个赞

错误说明了一切:


variableGrads(f) 中传入的 f 必须是一个函数


optimizer.minimize期望函数作为参数而不是张量。由于代码试图最小化 meanSquaredError,the argumentofminimize可以是一个计算预测值和预期值之间的 meanSquaredError 的函数。


const loss = (pred, label) => pred.sub(label).square().mean();


for (let f = 0; f < 10; f++) {

            optimizer.minimize(() => tf.losses.meanSquaredError(Y, model))

}

它是否解决了问题,但还没有完全解决?错误将更改为:


variableGrads() expects at least one of the input variables to be trainable

这是什么意思 ?使用优化器时,它期望作为参数传递给的函数包含变量,这些变量的值将更新为minimize函数输出。


以下是要进行的更改:


var Y = tf.tensor([[0,0,0],[0,0,0], [1,1,1]]).variable() // a variable instead


// var loss = tf.losses.meanSquaredError(Y, model)

// computed below in the minimize function


const learningRate = 0.01;

var optimizer = tf.train.sgd(learningRate);

var model = RNN_FowardProp(X, a0, parameters);


const loss = (pred, label) => pred.sub(label).square().mean();

for (let f = 0; f < 10; f++) {

    optimizer.minimize(() => tf.losses.meanSquaredError(Y, model))

}


查看完整回答
反对 回复 2023-01-06
  • 1 回答
  • 0 关注
  • 15 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信