通用 Tensorflow.js 训练示例
Generic Tensorflow.js training example
我正在尝试训练神经网络进行一些图像处理。我用 Synaptic.js 成功地做到了,但是当我必须使用更多层时它学习起来非常慢。 Tensorflow.js 示例描述了一些具体案例,很难理解它们并将其应用于我的案例。谁能帮我把这个 Synaptic.js 代码转换成 Tensorflow.js?输入是 RGB 像素 [0..1] 的 3x3(或更多)内核,输出是单个 RGB 像素 [0..1]
const layers = [27, 9, 3];
const learningRate = 0.05;
const perceptron = new Synaptic.Architect.Perceptron(layers);
// Train
sampleData.forEach(([input, output]) => {
perceptron.activate(input);
perceptron.propagate(learningRate, output);
});
// Get result
const result = realData.map((input) => perceptron.activate(input));
示例存储库中有一些非常通用的 TensorFlow.js 示例:
https://github.com/tensorflow/tfjs-examples
对于您的情况,您需要执行类似该存储库中的 iris 示例的操作。
// Define the model.
const model = tf.sequential();
// you will need to provide the size of the individual inputs below
model.add(tf.layers.dense({units: 27, inputShape: INPUT_SHAPE}));
model.add(tf.layers.dense({units: 9});
model.add(tf.layers.dense({units: 3});
const optimizer = tf.train.adam(0.05);
modcel.compile({
optimizer: optimizer,
loss: 'categoricalCrossentropy',
metrics: ['accuracy'],
});
// Train.
const lossValues = [];
const accuracyValues = [];
// Call `model.fit` to train the model.
const history = await model.fit(input, output, {epochs: 10});
// Get result
const result = realData.map((input) => model.predict(input));
我正在尝试训练神经网络进行一些图像处理。我用 Synaptic.js 成功地做到了,但是当我必须使用更多层时它学习起来非常慢。 Tensorflow.js 示例描述了一些具体案例,很难理解它们并将其应用于我的案例。谁能帮我把这个 Synaptic.js 代码转换成 Tensorflow.js?输入是 RGB 像素 [0..1] 的 3x3(或更多)内核,输出是单个 RGB 像素 [0..1]
const layers = [27, 9, 3];
const learningRate = 0.05;
const perceptron = new Synaptic.Architect.Perceptron(layers);
// Train
sampleData.forEach(([input, output]) => {
perceptron.activate(input);
perceptron.propagate(learningRate, output);
});
// Get result
const result = realData.map((input) => perceptron.activate(input));
示例存储库中有一些非常通用的 TensorFlow.js 示例: https://github.com/tensorflow/tfjs-examples
对于您的情况,您需要执行类似该存储库中的 iris 示例的操作。
// Define the model.
const model = tf.sequential();
// you will need to provide the size of the individual inputs below
model.add(tf.layers.dense({units: 27, inputShape: INPUT_SHAPE}));
model.add(tf.layers.dense({units: 9});
model.add(tf.layers.dense({units: 3});
const optimizer = tf.train.adam(0.05);
modcel.compile({
optimizer: optimizer,
loss: 'categoricalCrossentropy',
metrics: ['accuracy'],
});
// Train.
const lossValues = [];
const accuracyValues = [];
// Call `model.fit` to train the model.
const history = await model.fit(input, output, {epochs: 10});
// Get result
const result = realData.map((input) => model.predict(input));