1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/JingQiManHua-Brouhaha

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Brouhaha: инструментарий глубокого обучения на основе iOS Metal

Brouhaha — это инструментарий для глубокого обучения, основанный на iOS Metal. Он упрощает использование шейдера GPU на iOS для запуска алгоритмов глубокого обучения. Этот инструментарий включает не только шейдер Metal, но и абстрактный слой нейронных сетей, написанных на Objective-C.

Сайт Китая: https://gitee.com/JingQiManHua/Brouhaha

Обновление

Последнее

  1. Упрощение API и облегчение его использования.
  2. Добавление временного MTLBuffer для экономии памяти при работе.

2017

  1. Добавлена поддержка float32. Слои поддерживают одновременно float16 и float32.
  2. Добавлен пример преобразования изображений с использованием float32.
  3. Изменён API, что сделало его более удобным в использовании.

Введение

Brouhaha используется только для прогнозирования результатов алгоритма глубокого обучения и не подходит для обучения алгоритму. Перед использованием Brouhaha необходимо иметь предварительно обученную модель, созданную с помощью другого инструментария, такого как Caffe, Torch или Tensorflow. Brouhaha содержит общие слои, такие как свёрточные (включая транспонированные и расширенные свёртки), пулинг, активация, полносвязные, пакетная нормализация, а также некоторые специальные слои для обработки изображений. Инструментарий состоит из трёх частей:

  1. BrouhahaMetal: написан на шейдере Metal и использует GPU для ускорения вычислений слоёв.
  2. Brouhaha: включает абстрактные слои глубокого обучения, написанные на Objective-C. Для ускорения некоторые функции кодируются в asm. Brouhaha должен быть основан на BrouhahaMetal.
  3. BrouhahaDemo: включает три демонстрации использования этого инструментария. Демонстрация LeNet представляет собой алгоритм свёрточных нейронных сетей для распознавания цифр на изображениях. Демонстрация ArtTransform — это алгоритм свёрточной нейронной сети для «художественного преобразования стиля», подобного Prisma. Она включает две демонстрации: одна основана на float16, другая — на float32.

Демонстрации

Сборка: перед сборкой BrouhahaDemo необходимо сначала собрать BrouhahaMetal и скопировать файл «BrouhahaMetal.metallib» в пакет BrouhahaDemo.
LeNet: эта демонстрация представляет собой нейронные сети, которые распознают цифры на изображениях. Детали алгоритма см. по ссылке: http://yann.lecun.com/exdb/lenet/. Модель файла взята из интернета, источник забыт.

ArtTransform: эта демонстрация — алгоритм свёрточной нейронной сети для художественного преобразования стиля, подобного Prisma. Подробности алгоритма см.: https://arxiv.org/abs/1603.08155, модель файла взята отсюда: https://github.com/lengstrom/fast-style-transfer#video-stylization. Включает две демонстрации: одну на основе float16, другую — на float32.
На основе Float32

На основе Float16

Почему Brouhaha?

  1. Brouhaha использует GPU вместо CPU, поэтому он обладает высокой производительностью.
  2. В Brouhaha каждый слой имеет две реализации: одну для float16 и другую для float32, что позволяет легко выбирать в зависимости от конкретной цели. Float16 обеспечивает скорость, а float32 — точность.
  3. Brouhaha включает множество новых слоёв, таких как транспонированная свёртка или расширенная свёртка.
  4. В отличие от Apple Core ML или других сторонних инструментариев на базе Metal, Brouhaha не требует iOS 10+. Ему достаточно iOS 8+.

Будущая работа

  1. Поддержка RNN.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
BSD-2-Clause
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/JingQiManHua-Brouhaha.git
git@api.gitlife.ru:oschina-mirror/JingQiManHua-Brouhaha.git
oschina-mirror
JingQiManHua-Brouhaha
JingQiManHua-Brouhaha
master