Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Как начать экспериментировать с машинным обучением в Go

Как начать экспериментировать с машинным обучением в Go

Iskander (Alex) Sharipov

July 27, 2019
Tweet

More Decks by Iskander (Alex) Sharipov

Other Decks in Programming

Transcript

  1. Проекты над которыми работаю • Извлечение структурированной и не очень

    информации из документов • Более 100000 PDF документов • 1,4 ТБ данных в формате PDF • Обработка и хранение медицинских данных • Файлы от 1ГБ
  2. Что сейчас умеют машины • Понять что на изображении •

    Выделить объекты на изображении • Генерировать: фото, голос, текст, музыку • Перенос стилей: мимика, речь • Понять какой город на фотке
  3. style2paints *CC-BY-NC-SA-4.0 (c) Various artist of style2paints team, 2018. This

    image is OK for ACM/IEEE fair use. https://github.com/lllyasviel/style2paints https://www.youtube.com/watch?v=B6WEky9nY7Q
  4. В чем сложность • Объемы данных • ImageNet 14 миллионов

    изображений (не считая преобразований) • Огромное количество параметров • ResNet – классификация изображений (224x224 пикселя), слоёв: • 18 – 1.8 G-FLOPS (27% error rate) • 34 – 3.6 G-FLOPS (22% error rate) • 101 – 7.6 G-FLOPS (20% error rate)
  5. Что есть в Go • Golearn – github.com/sjwhitworth/golearn • не

    умеет работать с GPU • нейронные сети начальный уровень • Goronia - github.com/gorgonia/gorgonia • Есть поддержка CUDA • Странная лицензия • Gosl - github.com/cpmech/gosl • Большая библиотека базовых алгоритмов • Нейронные сети в планах • GoNum - github.com/gonum/gonum • Численные вычисления
  6. Что есть в Go - CGO • GoCV – github.com/hybridgroup/gocv

    • Обертка над OpenCV • Запуск предобученных нейронных сетей • Поддерживает OpenVINOTM • TensorFlow - github.com/tensorflow/tensorflow • Запуск предобученных нейронных сетей • Обертка над ограниченным C API
  7. Ссылки • Ellen Körbes - Learn Neural Networks With Go,

    Not Math • https://www.youtube.com/watch?v=jb-12DOr5y4 • Machine Learning With Go • https://github.com/PacktPublishing/Machine-Learning-With-Go • Darknet – маленькая C библиотека для ML с поддержкой CUDA • https://pjreddie.com/darknet • Benchmark Analysis of Representative Deep Neural Network Architectures • https://arxiv.org/pdf/1810.00736.pdf • Kaggle – соревнования, данные, примеры кода • https://www.kaggle.com