plunkerでtensorflow.js


概要

plunkerでtensorflow.jsやってみた。
xorやってみた。
tf.sequentialで書いてみた。

サンプルコード

const xs = tf.tensor2d([[1, 0], [0, 1], [1, 1], [0, 0]], [4, 2]);
const ys = tf.tensor2d([[1], [1], [0], [0]], [4, 1]);
const model = tf.sequential();
model.add(tf.layers.dense({
  units: 8,
  activation: 'tanh',
  inputShape: [2]
}));
model.add(tf.layers.dense({
  units: 1,
  activation: 'sigmoid'
})); 
model.compile({
  optimizer: 'Adam',
  loss: 'meanSquaredError',
});
model.fit(xs, ys, {
  batchSize: 4, 
  epochs: 1000
}).then((d) => {
  var str = "loss = ";
  str += d.history.loss[0]; 
  str += "<br><br>1, 1 = ";
  var pre0 = model.predict(tf.tensor2d([1, 1], [1, 2]));
  str += pre0.dataSync() + "<br>0, 0 = ";
  var pre1 = model.predict(tf.tensor2d([0, 0], [1, 2]));
  str += pre1.dataSync() + "<br>0, 1 = ";
  var pre2 = model.predict(tf.tensor2d([0, 1], [1, 2]));
  str += pre2.dataSync() + "<br>1, 0 = ";
  var pre3 = model.predict(tf.tensor2d([1, 0], [1, 2]));
  str += pre3.dataSync() + "<br>";
  document.write(str);
});

成果物

以上。