Мой простой персептрон не тренируется - PullRequest
0 голосов
/ 08 октября 2019

Это простая реализация персептрона в TensorFlow js. Его цель - определить значение меньше 0,5 или нет. Но потеря не может быть ниже 0,6 и не расходится. Что не так с моим кодом?

import * as tf from "@tensorflow/tfjs-node-gpu";

async function simplePerceptron() {
  const model = tf.sequential();
  model.add(tf.layers.inputLayer({ inputShape: [1] }));
  model.add(tf.layers.dense({ units: 2, activation: "sigmoid", trainable: true }));

  const size = 100;
  const xs = tf.randomUniform([size, 1]);

  const temp = xs.less(0.5);
  const ys = temp.stack(temp.logicalNot()).reshape([2, size]).transpose().cast("float32");

  model.compile({
    loss: tf.losses.softmaxCrossEntropy,
    optimizer: "sgd",
  });

  await model.fit(xs, ys, { epochs: 100 });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...