Machine learning 基于通量模型的LSTM全序列建模
我试图训练一个LSTM,使其基于x序列(而不仅仅是最后一个项或分类器)对完整序列y进行建模。在下面的代码中,虽然损失函数起作用,但培训不起作用。看来dot形式主义不适合火车?你知道我该怎么做吗?在凯拉斯,它是如此简单。。。。 提前感谢,, 马库斯 错误消息Machine learning 基于通量模型的LSTM全序列建模,machine-learning,julia,lstm,recurrent-neural-network,flux-machine-learning,Machine Learning,Julia,Lstm,Recurrent Neural Network,Flux Machine Learning,我试图训练一个LSTM,使其基于x序列(而不仅仅是最后一个项或分类器)对完整序列y进行建模。在下面的代码中,虽然损失函数起作用,但培训不起作用。看来dot形式主义不适合火车?你知道我该怎么做吗?在凯拉斯,它是如此简单。。。。 提前感谢,, 马库斯 错误消息 好吧,按照弗雷德里克的方法,下面的损失似乎是可行的,但坦率地说,我不太喜欢它,所以我仍然想知道是否有更优雅/惯用/高效的(?)解决方案 function loss(x,y) yhat=model.(x) s=0 fo
好吧,按照弗雷德里克的方法,下面的损失似乎是可行的,但坦率地说,我不太喜欢它,所以我仍然想知道是否有更优雅/惯用/高效的(?)解决方案
function loss(x,y)
yhat=model.(x)
s=0
for i in 1:length(yhat)
s+=(yhat[i][1] - y[i][1])^2
end
s/=length(yhat)
s
end
好吧,按照弗雷德里克的方法,下面的损失似乎是可行的,但坦率地说,我不太喜欢它,所以我仍然想知道是否有更优雅/惯用/高效的(?)解决方案
function loss(x,y)
yhat=model.(x)
s=0
for i in 1:length(yhat)
s+=(yhat[i][1] - y[i][1])^2
end
s/=length(yhat)
s
end
请查看变异数组。请查看变异数组。问题可能是collect在内部变异数组,flux的ad后端Zygote.jl不支持这种情况。看看你是否可以不使用collect来写损失。例如,
sum(x->abs2(-(x…)、zip(model.(x),y))
谢谢您的提示!调用loss时,我得到MethodError:没有方法匹配-(::数组{Float32,1},::Float32)
。问题是model.(x)
返回一个长度为1的数组数组,不知何故我需要将其解包以进行数学运算。还有别的办法吗?对不起,我对Julia来说是新手。试图用yhat=[]手动解包;对于模型(x)中的e;追加(yhat,e[1]);结束
但再次出现变异错误问题可能是collect在内部变异了一个数组,flux的ad后端zyote.jl不支持该数组。看看你是否可以不使用collect来写损失。例如,sum(x->abs2(-(x…)、zip(model.(x),y))
谢谢您的提示!调用loss时,我得到MethodError:没有方法匹配-(::数组{Float32,1},::Float32)
。问题是model.(x)
返回一个长度为1的数组数组,不知何故我需要将其解包以进行数学运算。还有别的办法吗?对不起,我对Julia来说是新手。试图用yhat=[]手动解包;对于模型(x)中的e;追加(yhat,e[1]);结束
,然后再次获取变异错误
function loss(x,y)
yhat=model.(x)
s=0
for i in 1:length(yhat)
s+=(yhat[i][1] - y[i][1])^2
end
s/=length(yhat)
s
end