问题描述
当我尝试在我的代码中实现此功能tf.train.stg(learningRate).minimize(loss)
以便进行反向传播时。我遇到了多个错误,例如在variableGrads(f)中传递的f必须是一个函数。我如何将上述功能成功实现到下面的代码中?为什么会出现此错误?
神经网络:
var X = tf.tensor([[1,2,3],[4,5,6],[7,8,9]])
var Y = tf.tensor([[0,1]])
var m = X.shape[0]
var a0 = tf.zeros([1,3])
var parameters = {
"Wax": tf.randomUniform([3,3]),"Waa": tf.randomUniform([3,"ba": tf.zeros([1,"Wya": tf.randomUniform([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
}
function RNN_FowardProp(X,a0,parameters){
var T_x = X.shape[0]
var a_next = a0
var i = 1
var Wya = parameters["Wya"]
var by = parameters["by"]
for(; i <= T_x; i++){
var xt = X.slice([i-1,0],[1,-1])
a_next = RNN_cell_Foward(xt,a_next,parameters)
}
var y_pred = tf.sigmoid(tf.add(tf.matMul(a_next,Wya),by))
return y_pred
}
const learningRate = 0.01;
var optimizer = tf.train.sgd(learningRate);
var model = RNN_FowardProp(X,parameters)
var loss = tf.losses.meanSquaredError(Y,model)
for (let i = 0; i < 10; i++) {
optimizer.minimize(loss)
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)