【发布时间】:2021-07-29 16:37:58
【问题描述】:
我正在尝试创建一个 tensorflow.js 模型(使用 javascript)来预测数字的平方,所以我有一个函数来创建 xData(x) 和 yData(x² )。
我尝试使用许多具有不同单元的隐藏层并使用数千个 epoch 进行训练,但损失非常高,而且预测一点也不好。
这是我的代码:
const tf=require("@tensorflow/tfjs-node");
let dataX=[
//0, 1, 2, 3, ..., 1000;
];
let dataY=[
//0, 1, 4, 9, ..., 1000000;
]
for (let i = 0; i < 1000; i++) {
dataX.splice(0,0, i);
dataY.splice(0,0, i**2);
}
class AI{
compile(){
const model=tf.sequential();
//Input & hidenA layer
model.add(tf.layers.dense({
inputShape: [1],
units: 32,
activation: 'sigmoid',
useBias: true
}));
//HidenB layer
model.add(tf.layers.dense({
units: 32,
activation: 'sigmoid',
useBias: true
}))
//Output layer
model.add(tf.layers.dense({
units: 1,
activation: 'sigmoid',
useBias: true
}))
let sgdOpt=tf.train.sgd(0.00001)
model.compile({
loss: 'meanSquaredError',
optimizer: sgdOpt
})
return model;
}
run(){
const model=this.compile();
const xs=tf.tensor(dataX)
const ys=tf.tensor(dataY)
try{
model.summary();
model.fit(xs, ys, {
epochs: 1000,
}).then(()=>{
const data=tf.tensor([10]);
const prediction=model.predict(data);
prediction.print();
})
}catch(e){
}
}
}
const ai=new AI();
ai.run();
【问题讨论】:
标签: javascript node.js tensorflow tensorflow.js