xxxxxxxxxx
33
// NN (c) 2021 kouichi.matsuda@gmail.com
let maru = []; let batsu =[]; let sankaku = []; // ○の画像、☓の画像、△の画像
let nn; // ニューラルネットワーク
function preload() { // 訓練画像を配列に読み込む
for (let i = 0; i < 100; i++) {
maru[i] = loadImage("data/m" + i + ".png");
batsu[i] = loadImage("data/b" + i + ".png");
sankaku[i] = loadImage("data/s" + i + ".png");
}
}
function setup() {
let options = {
inputs: [64, 64, 4], // 画像のサイズ
task: "imageClassification",
debug: true // デバッグ情報を表示する
};
nn = ml5.neuralNetwork(options); // ニューラルネットワークの作成
for (let i = 0; i < maru.length; i++) { // データセットの追加
nn.addData({ image: maru[i] }, { label: "丸" });
nn.addData({ image: batsu[i] }, { label: "バツ" });
nn.addData({ image: sankaku[i] }, { label: "三角" });
}
nn.normalizeData(); // データの正規化
nn.train({ epochs: 50 }, done); // 学習
}
function done() {
print("学習終了");
nn.save(); // モデルの保存
}