<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="style.css">
    <script src="//cdn.jsdelivr.net/npm/@tensorflow/tfjs/dist/tf.min.js"></script>
  </head>
  <body>
    <h1>Hello Plunker!</h1>
    <script src="script.js"></script>
  </body>
</html>




tf.setBackend('cpu');
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: 'binaryCrossentropy'
});
const xs = tf.tensor2d([[1, 0], [0, 1], [1, 1], [0, 0]], [4, 2]);
const ys = tf.tensor2d([[1], [1], [0], [0]], [4, 1]);
model.fit(xs, ys, {
    batchSize: 4, 
    epochs: 1000
}).then((d) => {
    var str = "loss = ";
    str += d.history.loss[0]; 
    str += "<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);
});



/* Styles go here */