Sequential — это базовый тип модели в Keras.js, предназначенный для построения линейных стеков слоев. Каждый слой последовательно соединяется с предыдущим, образуя простую и предсказуемую архитектуру нейронной сети. Такая модель удобна для большинства стандартных задач классификации и регрессии.
Для создания последовательной модели используется конструктор
Sequential. В качестве аргумента можно передать массив
слоев или добавлять их по одному методом add.
const model = new KerasJS.Sequential();
model.add(new KerasJS.layers.Dense({ units: 128, inputShape: [784], activation: 'relu' }));
model.add(new KerasJS.layers.Dense({ units: 10, activation: 'softmax' }));
filters,
kernelSize и strides.poolSize и
strides.Каждый слой можно настраивать независимо, создавая гибкую архитектуру под конкретную задачу.
Перед обучением модель необходимо скомпилировать. Компиляция задаёт алгоритм оптимизации, функцию потерь и метрики для оценки.
model.compile({
optimizer: 'adam',
loss: 'categoricalCrossentropy',
metrics: ['accuracy']
});
'sgd', 'adam' или 'rmsprop'.'categoricalCrossentropy'.'accuracy'.Метод fit позволяет обучить модель на входных данных. В
Keras.js данные передаются в виде TypedArray (например,
Float32Array).
const xTrain = new Float32Array([...]); // размер [numSamples, 784]
const yTrain = new Float32Array([...]); // размер [numSamples, 10]
await model.fit(xTrain, yTrain, {
batchSize: 32,
epochs: 20,
shuffle: true
});
Обучение возвращает объект с историей метрик, что позволяет отслеживать процесс и визуализировать кривые обучения.
После обучения модель можно использовать для предсказаний методом
predict.
const xTest = new Float32Array([...]);
const predictions = model.predict(xTest);
Для оценки точности на тестовой выборке используется метод
evaluate:
const results = model.evaluate(xTest, yTest);
console.log('Loss:', results.loss, 'Accuracy:', results.accuracy);
Keras.js поддерживает сохранение весов и конфигурации модели в JSON формате.
const modelJSON = model.toJSON(); // экспорт конфигурации
await model.save('localstorage://my-model'); // сохранение весов
Загрузка модели:
const loadedModel = new KerasJS.Sequential();
await loadedModel.load('localstorage://my-model');
Это позволяет разрабатывать модели в браузере и использовать их повторно без пересоздания.
inputShape.softmax, для бинарной —
sigmoid.Последовательная модель Sequential — это основной инструмент для быстрого создания нейронных сетей в Keras.js. Простая структура, удобное добавление слоев и поддержка всех стандартных операций делают её подходящей для прототипирования и обучения небольших и средних по сложности моделей.