- How it works
- Run existing models
- Retrain existing models
- Develop ML with JavaScript
- Danfo.js
- Mind
- Conventjs
- Mxnetjs
- Demos
- Natural
- Synaptic
- Neataptic.js
- NLP.js
- Deeplearnjs
- ml5.js provides an approachable API and examples to help you get started
- Compromise
- Why ml5.js?
- Mind
- Tracking.js
- Javascript Libraries for Computer Vision
- Javascript Libraries for Natural Language Processing (NLP)
- WebGazer.js
- OpenCV.js
- Neataptic
- Community participation
- Webdnn
- STDLIB-JS
- Magneta.js
- Neuro.js
- ConvNetJS
- ML.js
- Javascript Libraries for Deep Learning
- Javascript Libraries for Machine Learning and Data Science
- Brain.js
- Достойны упоминания:
- Natural
- Incubator-mxnet
- Keras JS
- Deepforge
- Land Lines
- ML5.js
- Neuro.js
- Meet our team!
- Pico.js
- Limbu.js
- Discover the creative possibilities of machine learning!
- Compromise
- Face-api.js
How it works
Run existing models
Используйте стандартные шаблоны JavaScript или конвертируйте шаблоны TensorFlow Python для работы в браузере или Node.js.
Используйте официальные шаблоны TensorFlow.js Преобразование шаблонов Python
Retrain existing models
Переобучайте устаревшие модели машинного обучения, используя свои собственные данные.
Используйте Transfer Learning для настройки шаблонов
Develop ML with JavaScript
Создавайте и обучайте шаблоны прямо на JavaScript, используя гибкие и интуитивно понятные API.
Начните с TensorFlow.js
Danfo.js
Danfo.js — это библиотека javascript, в значительной степени вдохновленная библиотекой Python Pandas. Он предлагает высокопроизводительную структуру данных, которая интуитивно понятна и проста в использовании. Он построен на tenorflow.js и поэтому поддерживает тензорные операции из коробки. Эта библиотека может быть очень полезна для управления данными для машинного обучения или работы с данными в javascript.
Его репозиторий на GitHub имеет 1,3 тыс. Звезд и находится в стадии активной разработки.
Mind
Mind — это гибкая библиотека нейронной сети для Node.js и браузера, написанная на JavaScript. Некоторые из особенностей Mind заключаются в том, что он векторизован, поскольку он использует матричную реализацию для обработки данных обучения, что позволяет пользователям настраивать топологию сети. Также он сменный, то есть позволяет загружать и выгружать уже изученные умы.
Conventjs
Эта популярная библиотека была разработана докторантом Стэнфордского университета Андреем Карпаты, который сейчас работает в Tesla. Хотя он не поддерживался последние 4 года, Conventjs остается одним из наиболее интересных проектов в этом списке. Conventjs — это реализация нейронных сетей на Javascript, которая поддерживает общие модули: классификацию, регрессию, обучающий модуль для экспериментального подкрепления. С помощью этой библиотеки вы даже можете обучить сверточную нейронную сеть для обработки изображений.
Задача 2D классификации с использованием двухслойной нейронной сети на Convent.js
Mxnetjs
MXnetJS — это javascript-версия инфраструктуры MXNet apache для глубокого обучения. Он позволяет создавать современные модели глубокого обучения и поддерживает как браузер, так и node.js. MXNetJ могут использовать любую модель глубокого обучения, обученную на платформе MXNet.
Его репозиторий на GitHub имеет более 400 звезд, но не проявлял никакой активности в последние 3-4 года.
Demos
Производительность RNN
Наслаждайтесь игрой на фортепиано в реальном времени через нейронную сеть.
Контроллер веб-камеры
Играйте в Pac-Man, используя обученные изображения в вашем браузере.
LipSync с YouTube
Natural
Natural — это библиотека javascript для обработки естественного языка для node.js, которая предлагает широкий спектр операций NLP. Вы можете выполнять базовые и расширенные операции НЛП, такие как токенизация, стемминг, tf-idf, пост-тегирование, анализ тональности, проверка орфографии и т.д. Еще одна интересная особенность Natural — это интеграция с Wordnet, но она находится только в стадии экспериментов.
Его репозиторий Github имеет более 9 тысяч звезд и более 120 участников, которые добавили поддержку других языков, помимо английского, таких как испанский, русский и т.д.
Synaptic
Synaptic — это библиотека нейронной сети JavaScript для node.js и браузера. Эта библиотека включает в себя несколько интегрированных архитектур, таких как многослойные персептроны, многоуровневые сети с долговременной памятью (LSTM), машины с плавными состояниями или сети Хопфилда, а также инструктора, который может обучить любую конкретную сеть. Обобщенная архитектура этой библиотеки не имеет архитектуры, поэтому пользователь может создавать и обучать любые архитектуры нейронных сетей первого или даже второго порядка.
Neataptic.js
Neataptic.js — это библиотека javascript, ориентированная на Neuro-Evolution, ветвь искусственного интеллекта, которая генерирует архитектуры нейронных сетей с использованием эволюционных алгоритмов. Его можно использовать как для браузера, так и для node.js.
Хотя вы можете создавать и обучать свою собственную нейронную сеть с нуля, Neataptic поставляется со следующими 6 предварительно настроенными сетями –
- ГРУППА
- Хопфилд
- LSTM
- НАРКС
- Перцептрон
- Случайный
Его репозиторий GitHub имеет 1 тыс. Звезд, однако его автор Томас Вагенаар больше не поддерживает.
NLP.js
NLP.js — это полноценная библиотека обработки естественного языка в Javascript с поддержкой node.js. В этой библиотеке вы можете найти расширенные функции NLP для анализа сущностей, NLU, платформу ботов Microsoft, анализ настроений и т.д.
Это одна из лучших библиотек javascript для NLP с более чем 4 тыс. Звезд в репозитории GitHub, которая находится в постоянном развитии.
Deeplearnjs
Deeplearnjs — это библиотека JavaScript с аппаратным ускорением с открытым исходным кодом для машинного интеллекта. Библиотека предоставляет сети мощные строительные блоки машинного обучения, позволяя пользователю обучать нейронные сети в браузере или запускать предварительно обученные модели в режиме вывода. Deeplearn.js имеет два API: модель немедленного выполнения (например, NumPy) и модель отложенного выполнения, которая отражает API TensorFlow.
ml5.js provides an approachable API and examples to help you get started
// Шаг 1. Создайте классификатор изображений с помощью MobileNetconst classifier = ml5.imageClassifier («MobileNet», onModelReady); // Шаг 2: Выберите imageconst img = document.querySelector («# myImage»); // Шаг 3: создаем прогноз прогноз = classifier.predict (img, gotResults); // Шаг 4: Сделайте что-нибудь с результатами! functiongotResults (ошибка, результаты) {console.log (результаты); // все удивительные вещи, которые вы добавите}
Compromise
Компромисс — это библиотека Javascript для обработки естественного языка, которая может делать действительно крутые вещи в вашем браузере. Он предоставляет длинный и впечатляющий список API-интерфейсов для выполнения базовых и расширенных операций NLP анализа, токенизации, преобразования регистра, тегирования частей речи, сортировки, разделения и т.д.
В дополнение к основным функциям по умолчанию, он также предлагает расширения для некоторых действительно интересных функций. Например, вы можете использовать расширение функции .number () для выполнения математической операции с числами на английском языке. Разве не красиво?
Библиотека была создана Спенсером Келли, и его репозиторий на Github, насчитывающий почти 10 000 звезд, все еще активно поддерживается им самим и несколькими участниками.
Why ml5.js?
ml5.js стремится сделать машинное обучение доступным для широкой аудитории художников, творческих программистов и студентов. Библиотека обеспечивает доступ к алгоритмам и моделям машинного обучения в браузере на основе TensorFlow.js без каких-либо других внешних зависимостей.
ml5.js — это дружественный интерфейс высокого уровня с открытым исходным кодом для TensorFlow.js, библиотеки для обработки математических операций с ускорением на GPU и управления памятью для алгоритмов машинного обучения.
ml5.js обеспечивает мгновенный доступ в браузере к предварительно обученным моделям для определения позы человека, генерации текста, стилизации изображения с другим, музыкальной композиции, определения тона, общих отношений между словами на английском языке и многого другого.
ml5.js призван способствовать более широкому пониманию общественностью машинного обучения и способствовать более глубокому взаимодействию с этическими вычислениями, ответственным сбором данных, а также доступностью и разнообразием людей и взглядов в области технологий и искусства.
Mind
Mind — это простая библиотека javascript для создания нейронных сетей как в node.js, так и в браузерах. Он предлагает настройку для создания собственной архитектуры нейронной сети, и вы можете загрузить модель, известную как Mind, или загрузить ранее обученные модели для повторного использования в качестве предварительно обученных моделей для вывода.
Библиотека была создана Стивеном Миллером, а репозиторий GitHub имеет более 1,4 тыс. Звезд, но, к сожалению, за последние четыре года в нем не было никакой активности.
Tracking.js
Tracking.js — это javascript-библиотека компьютерного зрения, которая позволяет вам реализовывать различные алгоритмы CV в вашем браузере. Поддержка алгоритмов отслеживания объектов, отслеживания цвета, обнаружения функций, свертки, градаций серого, размытия изображения и т.д.
Популярность tracking.js можно объяснить тем фактом, что его репозиторий GitHub имеет 8,7 тыс. Звезд, однако в последние годы он не получил особого развития, и они ищут сопровождающих для репозитория.
Javascript Libraries for Computer Vision
Javascript Libraries for Natural Language Processing (NLP)
WebGazer.js
WebGazer.js — это простая библиотека Javascript для отслеживания взгляда, которая использует веб-камеру для определения взгляда посетителей. Он легко интегрируется с любым веб-сайтом и работает исключительно в браузере пользователя, поэтому данные на сервер не отправляются. И для дальнейшего повышения безопасности он запускается только тогда, когда пользователь дает разрешение на включение веб-камеры.
WebGazer.js может помочь отслеживать внимание пользователя к веб-сайту и соответственно обеспечивать удобство работы с ним. Его прогнозирование взгляда в реальном времени совместимо со всеми основными браузерами.
Его репозиторий GitHub, имеющий почти 3 тыс. Звезд, довольно популярен и до сих пор активно поддерживается.
OpenCV.js
OpenCV.js — это библиотека JavaScript для компьютерного зрения, основанная на популярном фреймворке OpenCV. Он поддерживает только ограниченные модули версии OpenCV для Python. Поддерживаемые модули включают –
- Ядро
- Обработка изображений
- Фото
- Форма
- Видео
- Обнаружение объекта
- Функциональная структура
- Кодек изображения
Neataptic
Эта библиотека предлагает возможность быстро выполнять нейроэволюцию и обратное распространение для браузера и Node.js. Библиотека содержит несколько интегрированных сетей: персептрон, LSTM, GRU, Nark и другие. Для начала, есть учебное пособие, которое поможет вам реализовать онлайн-обучение.
Демо-версия целевого поиска Neaptic
Community participation
Создано с помощью TensorFlow.js Демонстрации TensorFlow.js на GitHub Задайте вопрос о переполнении стека на форуме TensorFlow Проблемы, отчеты об ошибках и запросы функций Список рассылки только для рекламы Присоединяйтесь к группе специальных интересов TF.js Изучите проекты сообщества, разработанные библиотекой разработчиков
Webdnn
Webdnn — это японская библиотека, предназначенная для быстрой работы с предварительно обученными моделями глубоких нейронных сетей в браузере. Хотя запуск глубокой нейронной сети (DNN) в браузере требует больших вычислительных ресурсов, эта структура оптимизирует модель DNN, так что данные модели сжимаются, а выполнение ускоряется с помощью API-интерфейсов Javascript, таких как WebAssembly и WebGPU.
Пример переноса стиля
STDLIB-JS
Stdlib-js — это стандартная библиотека для JavaScript и Node.js. Эта библиотека, ориентированная на приложения для численных и научных вычислений, предоставляет набор надежных и высокопроизводительных библиотек для математики, статистики, обработки данных, потоковой передачи и многого другого. Функции в этой библиотеке включают более 150 специальных математических функций, более 35 распределений вероятностей, более 40 генераторов псевдослучайных чисел с начальным значением и многое другое.
Magneta.js
Magneta.js — это библиотека Javascript, созданная с помощью Tensorflow.js, которая выводит предварительно обученные модели в браузере для творческих художественных целей, таких как музыка, эскизы и изображения. Он также поддерживает ускорение графического процессора для вывода.
Эта библиотека позволяет только вывести предварительно обученные модели, и вы не сможете обучать свои собственные модели.
Neuro.js
Neuro.js — это система машинного обучения для создания помощников ИИ и чат-ботов. Это библиотека для разработки и обучения моделей машинного обучения на JavaScript и развертывания в браузере или на Node.js. Библиотека поддерживает многокомпонентную классификацию, онлайн-обучение, классификацию в реальном времени.
ConvNetJS
ConvNetJS — это библиотека JavaScript для обучения моделей глубокого обучения (нейронных сетей). Библиотека позволяет пользователю формулировать и решать нейронные сети на JavaScript, поддерживая общие модули нейронных сетей. Он также имеет возможность определять и обучать сверточные сети, обрабатывающие изображения, экспериментальные модули улучшения обучения и многое другое.
ML.js
ML.js — это полная библиотека Javascript для машинного обучения с большинством API-интерфейсов, которые вам понадобятся для создания и обучения моделей машинного обучения в вашем браузере. Вы найдете API для всех основных алгоритмов контролируемого и неконтролируемого обучения, включая нейронные сети. Кроме того, он также предоставляет API-интерфейсы для многих математических и статистических операций, необходимых для машинного обучения.
В репозитории Github видно более 2К звезд и активность, поэтому это фантастическая библиотека JavaScript для машинного обучения, которую стоит изучить.
Javascript Libraries for Deep Learning
Javascript Libraries for Machine Learning and Data Science
Brain.js
Brain.js — это библиотека javascript с открытым исходным кодом для нейронных сетей с поддержкой ускорения графического процессора. Он предоставляет различные API-интерфейсы, которые помогут вам создавать и обучать нейронные сети, абстрагируясь от основных сложностей. Но у вас нет гибкости, чтобы экспериментировать с вашими архитектурами помимо того, что предлагает Brain.js. На момент написания этой статьи он поддерживает следующие типы нейронных сетей и их готовые варианты –
- Нейронная сеть прямого распространения (с графическим процессором и без него)
- Рекуррентная нейронная сеть
- Долгосрочная память
интересно, что его первоначальный создатель Хартур отказался от проекта GitHub несколько лет назад, несмотря на раннюю популярность. Этот проект сейчас продолжается в отдельном репозитории Github с более чем 11 тысячами звезд и активно управляется большим сообществом.
Достойны упоминания:
Natural
Активно поддерживаемая библиотека для Node.js, обеспечивающая: токенизацию, стемминг (сокращение слова до необязательного морфологического корня), классификацию, фонетику, tf-idf, WordNet и многое другое.
Incubator-mxnet
MXnet от Apache — это среда глубокого обучения, которая позволяет сочетать символьное и императивное программирование на лету с уровнем оптимизации диаграмм для достижения цели. MXnet.js предоставляет API глубокого обучения в браузере.
Keras JS
Эта библиотека запускает модели Keras в браузере с поддержкой графического процессора с использованием технологии WebGL. Поскольку Keras использует различные фреймворки в качестве бэкэнда, модели можно обучать в TensorFlow, CNTK и других фреймворках.
Deepforge
Deepforge — это среда глубокого обучения, которая позволяет быстро создавать архитектуры нейронных сетей и конвейеры машинного обучения. Deepforge также содержит встроенный контроль версий для воспроизведения экспериментов. Здесь стоит поискать.
Land Lines
Land Lines — это не столько библиотека, сколько очень увлекательная веб-игра, основанная на эксперименте Google Chrome. Сказать, для чего эта штука, невозможно, но развлечет хоть 15 минут.
ML5.js
ML5.js — это библиотека Javascript с открытым исходным кодом для машинного обучения на основе Tensorflow.js с поддержкой ускорения графического процессора. В настоящее время этот проект финансируется грантом Google Education.
Поскольку это библиотека абстракции высокого уровня, ML5.js берет на себя всю тяжелую работу по управлению памятью и ускорению графического процессора за кулисами, и вам не нужно ничего делать.
Он поставляется со многими предварительно обученными моделями для определения человеческих поз, создания текста, стилизации одного изображения с другим, создания музыки, определения интонации и общих отношений слов в английском языке и т.д.
Помимо этого, с помощью ML5.js вы также можете создавать и обучать свою собственную модель нейронной сети в браузере, а также расширяет поддержку Transfer Learning. И чтобы добавить больше разнообразия своему предложению, он также поддерживает алгоритмы кластеризации KMeans и классификации KNN.
Эта библиотека высокого уровня идеально подходит для тех людей, которые боятся запутаться в низкоуровневых сложностях Tensorflow.js, но вы должны знать, что в настоящее время она не поддерживает node.js.
Neuro.js
Neuro.js — это JavaScript-фреймворк для обработки естественного языка, ориентированный на создание помощников ИИ и чат-ботов. Его выдающиеся функции включают в себя оценку по нескольким меткам, оценку в реальном времени и онлайн-обучение. Помимо основных функций, он также предлагает возможности разработки функций, которые помогут вам создавать надежные режимы.
Neuro.js также совместим как с запуском браузера, так и с node.js, что делает его хорошим вариантом.
Meet our team!
ml5.js — это проект с открытым исходным кодом, разработанный и поддерживаемый программой Interactive Telecommunications / Interactive Media Arts Нью-Йоркского университета, а также художниками, дизайнерами, студентами, технологами и разработчиками со всего мира.
Pico.js
Pico.js — это библиотека JavaScript для обнаружения лиц, которая может обнаруживать лица в реальном времени в потоковом видео с веб-камеры. Хотя аналогичные API существуют для обнаружения лиц, создатель Pico.js Ненад Маркус сосредоточился на том, чтобы сделать его легким с помощью всего 200 строк кода, что составляет 2 КБ при минимизации.
Его GitHub также состоит из другой библиотеки Iploc.js, которая также является небольшой библиотекой javascript для определения местоположения учеников в реальном времени. Более 5 тысяч звезд на его GitHub действительно указывают на популярность этого API.
Limbu.js
Limdu.js — это библиотека JavaScript машинного обучения для node.js, которая также поддерживает классификацию по нескольким меткам, онлайн-обучение и классификацию в реальном времени. Помимо этого, он также предлагает функции для разработки функций, сериализации и перекрестной проверки. Некоторые из поддерживаемых алгоритмов включают нейронные сети, байесовский алгоритм, SVM, дерево решений и т.д.
Поскольку он поддерживает классификацию в реальном времени, его также можно использовать в чат-ботах для понимания естественного языка. Его репозиторий на Github с более чем 1 тыс. Звезд все еще активен, и его определенно стоит проверить.
Discover the creative possibilities of machine learning!
PoseNet — это модель машинного обучения, которая позволяет оценивать позу человека в режиме реального времени.
YOLO (Watch Only Once) — это современная система обнаружения и классификации объектов в реальном времени.
pix2pix — это преобразование изображения в изображение с условными противоречивыми сетями.
Классифицируйте содержимое изображений с помощью предварительно обученных моделей.
Создавайте новые каракули с помощью нейронной сети на основе Google Quick Draw.
Compromise
Компромисс — это библиотека JavaScript, которая интерпретирует и предварительно анализирует текст. Это основанная на правилах библиотека обработки естественного языка (NLP), которая предпочитает более мелкие и менее причудливые решения для получения текста контролируемым способом.
Face-api.js
Face-api.js — это javascript API для распознавания лиц на основе tensorflow.js, совместимый с node.js и браузерами. В дополнение к обычному распознаванию лиц, он также предлагает другие функции, такие как схожесть лиц, распознавание выражения лица, обнаружение ориентира лица, отслеживание лица в реальном времени. Под капотом эта библиотека использует такие модели, как Mobilenet V1 SSD, Tiny Face Detector, MTCNN и многие другие.
Его репозиторий на Github имеет 12 тысяч звезд и до сих пор активно поддерживается его создателем Винсентом и другими участниками.