В ml5.js метод addData используется для добавления
обучающих примеров в модель перед её обучением. Этот метод является
ключевым элементом при создании кастомных моделей, таких как
классификаторы изображений, звуков или текста, где требуется
непосредственное формирование набора данных для обучения.
Метод addData применяется к объекту модели,
поддерживающему обучение на пользовательских данных, например
NeuralNetwork. Его синтаксис выглядит следующим
образом:
neuralNetwork.addData(input, output);
Параметры:
input — объект или массив, представляющий входные
данные. Тип данных зависит от конфигурации модели (например, числовые
значения, массивы чисел, изображения в виде массива пикселей).output — объект или массив, описывающий желаемый
результат для данного входа. Для классификации это обычно метка класса,
а для регрессии — числовое значение.Для нейросети, работающей с числовыми входами:
const options = {
task: 'classification',
inputs: ['x', 'y'],
outputs: ['label']
};
const nn = ml5.neuralNetwork(options);
nn.addData({x: 0, y: 0}, {label: 'A'});
nn.addData({x: 1, y: 0}, {label: 'B'});
nn.addData({x: 0, y: 1}, {label: 'C'});
Для работы с изображениями через модель
ImageClassifier:
const classifier = ml5.imageClassifier('MobileNet', modelReady);
// после загрузки изображения в переменную img
classifier.addData(img, {label: 'кот'});
train:nn.normalizeData(); // нормализация данных
nn.train({epochs: 50}, finishedTraining);
input и
output.addData часто применяется совместно с событиями DOM.
Например, при создании интерактивного классификатора изображений можно
привязать добавление примеров к кнопке:
document.getElementById('addCat').addEventListener('click', () => {
const img = document.getElementById('currentImage');
nn.addData({image: img}, {label: 'cat'});
});
Такой подход позволяет собирать данные в реальном времени и динамически расширять набор для обучения.
console.log для
инспекции input и output перед обучением.nn.data.length позволяет
убедиться, что данные добавлены корректно.inputs, outputs, task).addData.normalizeData).train.classify или
predict для предсказаний на новых данных.addData является фундаментальной функцией ml5.js,
обеспечивающей гибкое формирование пользовательских наборов данных и
позволяющей строить модели, полностью адаптированные к конкретной
задаче.