Установка через npm и подключение через CDN

Keras.js — это библиотека для запуска нейронных сетей, созданных с использованием Keras, непосредственно в браузере с применением JavaScript. Для работы с ней на стороне клиента требуется либо установка через пакетный менеджер npm, либо подключение через CDN.

Для установки через npm необходимо убедиться, что на системе установлен Node.js и npm. После этого выполняется команда:

npm install keras-js

Эта команда загружает последнюю стабильную версию библиотеки и помещает её в папку node_modules. После установки Keras.js можно подключать в проекте через систему модулей CommonJS или ES6:

Пример использования с CommonJS:

const KerasJS = require('keras-js');

Пример использования с ES6:

import KerasJS from 'keras-js';

Важно учитывать, что npm-версия библиотеки предоставляет полный функционал для работы с моделью, включая запуск на CPU и WebGL. WebGL обеспечивает ускорение вычислений с использованием графического процессора, что критично для сложных нейронных сетей и больших объёмов данных.

Подключение Keras.js через CDN

Для проектов, где не используется Node.js или система сборки, можно подключать Keras.js через CDN. Это позволяет сразу использовать библиотеку в браузере без установки:

После подключения через CDN объект KerasJS доступен глобально в скриптах браузера:

const model = new KerasJS.Model({
  filepaths: {
    model: 'path/to/model.json',
    weights: 'path/to/model_weights.buf',
    metadata: 'path/to/model_metadata.json'
  },
  gpu: true
});

Параметр gpu: true активирует использование WebGL. Если графический ускоритель отсутствует или отключён, библиотека автоматически переключается на CPU-режим.

Структура проекта с Keras.js

При подключении Keras.js необходимо соблюдать структуру файлов модели:

  1. model.json — описание архитектуры сети (слои, конфигурации, функции активации).
  2. model_weights.buf — бинарный файл с весами модели.
  3. model_metadata.json — метаданные модели, включая имена слоев и порядок входов/выходов.

Все три файла должны быть доступны через HTTP(S) для браузерной версии. В случае использования npm и Node.js файлы можно загружать локально с диска.

Инициализация и проверка загрузки модели

После подключения библиотеки важно корректно инициализировать объект модели и убедиться в успешной загрузке:

model.ready()
  .then(() => {
    console.log('Модель загружена и готова к использованию');
  })
  .catch(err => {
    console.error('Ошибка при загрузке модели:', err);
  });

Метод ready() возвращает промис, который выполняется после полной загрузки структуры сети и весов. Это позволяет безопасно запускать предсказания только после готовности модели.

Преимущества разных способов подключения

  • npm:

    • Позволяет интегрировать Keras.js в современные сборочные системы (Webpack, Parcel, Vite).
    • Упрощает управление версиями через package.json.
    • Возможность использования модульной структуры проекта и Tree Shaking.
  • CDN:

    • Быстрое подключение без установки Node.js.
    • Удобно для прототипов и небольших проектов.
    • Поддержка прямой работы в браузере без сборки.

Настройка WebGL и CPU

Keras.js автоматически определяет наличие WebGL. Для принудительного использования CPU можно явно указать параметр:

const modelCPU = new KerasJS.Model({
  filepaths: {
    model: 'model.json',
    weights: 'model_weights.buf',
    metadata: 'model_metadata.json'
  },
  gpu: false
});

Это может быть полезно на устройствах с нестабильной поддержкой WebGL или при тестировании производительности.