问题描述
这是代码:
var options = {
task: "regression",debug: true,inputs: ["date"],outputs: ["price"],optimizer: "adam",loss: "meanSquaredError",layers: [
{
type: 'dense',units: 1,inputShape: [1],activation: 'tanh',useBias: true,},{
type: 'lstm',inputShape: [1,1],return_sequences: true,{
type: 'dense',useBias: false,],};
var nn = ml5.neuralNetwork(options);
setData();
async function getData(){
var data = await fetch("https://raw.githubusercontent.com/cryptnotehq/filestorage/main/apple_stock.json");
data = await data.json();
var cleaned = await data.map( (entry) => {
var date = entry.Date.split("-");
date = new Date(date[0],date[1],date[2]).getTime();
var result = {
"date": date,"price": entry.High,};
return result;
}).filter( result => (result.date != "" || result.date != undefined) && (result.price != "" || result.price != undefined) );
return cleaned;
}
async function setData() {
var obj = await getData();
obj.forEach(item => {
var input = { "date": parseInt(item.date) };
var output = { "price": parseInt(item.price) };
nn.addData(input,output);
});
nn.normalizeData();
train();
}
function train() {
var trainingOptions = {
epochs: 256,batchSize: 1024,};
nn.train(trainingOptions,predict);
console.log(nn.data);
}
function predict(){
nn.predict([ parseInt(new Date(2020,10,17).getTime()) ]).then((result) => {
console.log(result);
});
//nn.save();
}
也可以看到代码in this Fiddle。可以在任何浏览器的开发者控制台中查看该错误。
我希望代码能够运行。我试图更改lstm层和第一个“密集”层的inputShape。当我将第一层的inputShape更改为[10048,1]
并将lstm层更改为[1,1,1]
时,出现以下错误:Uncaught (in promise) Error: Error when checking : expected dense_Dense1_input to have 3 dimension(s),but got array with shape [1,1]
这是第二种方法in this Fiddle。
我不知道还能做什么,我的想法已经用完了。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)