let nn;
const nn_options = {
inputs: 1,
outputs: 1,
layers: [
ml5.tf.layers.dense({
units: 16,
inputShape: [1],
activation: 'relu',
}),
ml5.tf.layers.dense({
units: 16,
activation: 'sigmoid',
}),
ml5.tf.layers.dense({
units: 1,
activation: 'sigmoid',
})
],
debug: true
}
function setup() {
createCanvas(400, 400);
background(240);
$.getScript ( "https://unpkg.com/ml5@0.4.3/dist/ml5.min.js", function()
{
$.getScript ( "https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.9.0/addons/p5.sound.min.js", function()
{
$.getScript ( "/uploads/codingtrain/mnist.js", function()
{
console.log ("All JS loaded");
// nn = new NeuralNetwork( noinput, nohidden, nooutput );
// nn = ml5.neuralNetwork(nn_options);
//nn.setLearningRate ( learningrate );
//loadData();
});
});
});
nn = ml5.neuralNetwork(nn_options);
console.log(nn);
createTrainingData();
nn.normalizeData();
const train_options = {
epochs: 32
}
nn.train(train_options, finishedTraining);
}
function finishedTraining(){
nn.predict([10], function(err, result){
if(err){
console.log(err);
return
}
console.log(result)
})
nn.predict([390], function(err, result){
if(err){
console.log(err);
return
}
console.log(result)
})
}
function createTrainingData(){
for(let i = 0; i < 400; i++){
if(i%2){
const x = floor(random(0, width/2));
nn.addData([x], [0])
}else {
const x = floor(random(width/2, width));
nn.addData([x], [1])
}
}
}