Как стать автором
Обновить
9.75

TensorFlow *

открытая библиотека для машинного обучения

Сначала показывать
Порог рейтинга
Уровень сложности

Классификация гистологических изображений со светлоклеточным раком почки, используя Keras

Время на прочтение5 мин
Количество просмотров3K

Мой первый любительский проект по классификации изображений со светлоклеточным раком почки, используя модели глубокого обучения, имплементированные на Keras. Весь пайплайн включал такие этапы, как:

1)    Получение полнослайдовых изображений (WSI) – подготовка датасета.

2)    Аннотация изображений

3)    Получение готового датасета (Train, Validation и Test)

4)    Выбор и тренировка моделей

5)    Тестирование моделей

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии5

Распределённое глубокое обучение: параллелизм моделей и данных в TensorFlow

Время на прочтение12 мин
Количество просмотров5.9K

Значительное количество задач, предусматривающих обучение глубоких нейронных сетей, можно решить на отдельном компьютере, обладающем единственным, сравнительно мощным и быстрым GPU. Но бывает так, что нужно что-то помощнее. Например — данные могут просто не поместиться в память, доступную на отдельной машине. Или окажется, что имеющееся «железо» просто не «потянет» некую задачу. В результате может возникнуть необходимость в горизонтальном масштабировании вычислительных мощностей.

«Горизонтальное масштабирование» — это когда в компьютер добавляют дополнительные GPU, или когда используют несколько машин, входящих в состав кластера. При таком подходе нужен какой-то способ эффективного распределения задач обучения моделей по имеющимся системам. В теории всё просто, но в реальной жизни это — задача нетривиальная. На самом деле — существует несколько стратегий организации распределённого обучения. Выбор конкретной стратегии сильно зависит от конкретной задачи, от данных и от модели.

В этом материале я попытаюсь описать существующие стратегии организации распределённого обучения, раскрыв детали необходимые для того, чтобы читатель смог бы получить общее представление о них. Нашей главной целью будет обретение возможности выбора наилучшей из стратегий для конкретной задачи. Тут я продемонстрирую некоторые примеры кода, основанные на библиотеке TensorFlow. Освоив их, вы разберётесь с тем, как именно устроена программная часть рассматриваемых здесь стратегий распределённого обучения. Но, в любом случае, затрагиваемые здесь концепции применимы не только к TensorFlow, но и к другим библиотекам и фреймворкам глубокого обучения.

Эта публикация входит в серию материалов о глубоком обучении. В предыдущих статьях шла речь о создании собственного цикла обучения для задачи по сегментации изображений с помощью U-net. Мы развернули модель в Google Cloud для того чтобы получить возможность удалённого запуска обучения. Здесь я буду использовать тот же код.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии1

Нейронная сеть считает лес кругляк и распознает автомобильные номера. Как это сделано?

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров15K

В статье покажем, как алгоритмы компьютерного зрения помогают решить задачу автоматического определения объема круглого леса в лесовозе по фотографии. Пройдем путь от идеи до прототипа. Расскажем, какие были выбраны решения и почему.

Необходимая подготовка читателя — должно быть общее представление о компьютерном зрении (computer vision) и нейронных сетях. Здесь не будет описаний, что такое сверточная нейронная сеть и т.п., статей по таким основам найдете много на хабре (вот хорошая Глубокое обучение для новичков: распознаем изображения с помощью сверточных сетей). В то же время, совсем новички могут получить представление, какие знания и компетенции нужны для решения подобных задач.

Читать далее
Всего голосов 28: ↑27 и ↓1+26
Комментарии21

Перенос нейронной сети из PyTorch на Google Coral

Время на прочтение13 мин
Количество просмотров3.5K

Всем привет! Меня зовут Антон Расковалов и мы с командой  отдела перспективных исследований «Криптонит» решили проверить, можно ли использовать Google Coral в решении наших задач. Приобретённым опытом делюсь в статье ниже.

Санкции вынуждают пересматривать подходы к организации ИТ-инфраструктуры, в том числе — искать альтернативу облачным ИИ-платформам. Одним из вариантов является использование специализированных ускорителей с нейропроцессорами, которые физически находятся на стороне клиента. Даже на фоне санкционного давления их можно купить на AliExpress и оплатить банковской картой, выпущенной на территории России.

Данная статья посвящена переносу нейронных сетей написанных на одном из самых популярных фрэймворков, PyTorch, на Google.Coral, один из самых "производительных ускорителей"

Читать далее
Всего голосов 12: ↑11 и ↓1+10
Комментарии5

Истории

Передаём GPU-буферы напрямую в TensorFlow Lite

Время на прочтение7 мин
Количество просмотров3.1K

Привет, Хабр! Меня зовут Олег, я работаю с машинным обучением в VK Видео, внедряю нейросети в Клипы ВКонтакте для создания эффектов дополненной реальности. В статье расскажу, как запустить TensorFlow Lite сетку с передачей GPU-буферов — как входного, так и выходного. Этот подход помогает сэкономить на пересылке данных между CPU- и GPU- памятью, когда данные уже находятся в GPU-памяти и модель применяется с помощью GPU-делегата TensorFlow Lite. 

Весь процесс покажу на примере реализации для Android, код можно найти в моём GitHub-репозитории.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии3

Сказки от TENSORFLOW и LSTM

Время на прочтение8 мин
Количество просмотров3.2K

Представляем разбор применения алгоритмов машинного обучения с использованием технологий LSTM для создания текстов.

В итоге должен получиться генератор более-менее осмысленного текста. Способы создания текстов на специальную, определенную пользователем, тему затронуты не будут – но в целом, текст будет создан в том стиле, в котором написана «обучающая выборка».

Кстати об обучающей выборке: в качестве оной будут использованы народные сказки братьев Гримм. Эти тексты будут обработаны, разбиты на биграммы уровня символов, из которых будет составлен словарь из уникальных биграмм.

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии0

Анализ стадий волейбольной игры с помощью искуственного интеллекта

Время на прочтение2 мин
Количество просмотров3.7K

Распознаем стадии волебольной игры на основе детектора игроков.

Читать далее
Всего голосов 6: ↑4 и ↓2+2
Комментарии14

Cимбиоз цифр и искусства (часть 2)

Время на прочтение6 мин
Количество просмотров1.1K

В продолжении поста о создании алгоритма распознавания картин художников, хочу поделиться одной мыслью. Искусственный Интеллект как я его всегда представлял, являлся неким разумом, рациональной машиной по разрешению заданных вопросов и задач, заданных человеком. Будь то скрипт с исходными данными, или же голосовой помощник, он готов дешифровать и анализировать входящую информацию и выдавать ответ, даже если он в принципе неверный. Просто статистически данный ответ являлся наиболее верным за определённый отрезок времени (массив данных). Т.е. в большинстве алгоритмов главенствует системный подход к обработке данных (по аналогии, по логике, по большинству совпадений и т.д.). Как-бы я обрадовался если увидел где-нибудь "нелогичный" нерациональный ИИ-помощник, который выдавал странный, но главное правильный вариант из множества возможных, так сказать, попадал бы в "яблочко". К примеру, хотел бы я посмотреть вечером фильм,но, и чтобы этот фильм мне точно понравился бы. Задаю вопрос онлайн-помощнику, и что он выдаёт? Он выдаёт то, что смотрели и лайкали множество людей до этого, или он выдаёт высокорейтинговое кино определённого жанра, который я задал, но не имеющего ничего общего с тем, что мне действительно по душе. Я, конечно, знаю, какие фильмы мне пришлись "по душе". Лезу в поисковик, и набираю фильм наподобие... или фильмы похожие на... после чего вижу три-четыре портала с бесконечными списками фильмов. Вхожу и обнаруживаю, что эти фильмы, во первых далеки друг от друга по своей сути, и во вторых они может мне и понравились бы мне, но с совсем другой стороны, как будто я увидел их случайно щёлкая пультом ТВ и решил остановиться на них.

Далее: Тест модели распознавания искусства
Рейтинг0
Комментарии0

Почему нам не надо делать ИИ по типу работы мозга

Время на прочтение3 мин
Количество просмотров7.2K

Подумав с чего начать эту статью я вспомнил о фильме "Превосходство" где главному герою отсканировали мозг и он смог жить с помощью электроники. Немного понаблюдав за своим мозгом я понял, что такой путь ни к чему не приведет, так как он подходит только для человека и то, это ограничивает человека. Теперь опишу по-подробней о своих наблюдениях как работает мозг.

Итак, мы получаем информацию от нескольких сенсоров. Попробуйте обговорить какую нибудь ситуацию значимую, например устройство на работу. Если вы затроните на собеседовании разговор о том что делают программисты, когда увольняются, то этот момент отобразиться в будущем, когда вы захотите уволиться с работы. Но какая мысль будет в тот момент, будет учитываться на сколько ты способен сделать тоже самое что и те программисты, которые уволились с работы. И в конце концов в чем ты заинтересован в данный момент. Например мы заинтересованы разработкой на C++. И я буду уверен, что мы подумаем о том что осталось от мысли, о том что делают программисты после увольнения с этой работы в реализации на C++. Это происходит потому что мы фоном поставили сегодяшний день увольнения, потом так как мы программисты, то мы относим к числу тех, что мы что-то хотим делать после увольнения. И тут начинается сужение до наших возможностей и отображение на нашу цель, то есть написать что нибудь на C++.

Еще другой пример. Мы установили цель придумать какую нибудь игру. Но скажу сразу, наша фантазия оценивается на наших знаниях до текущего момента и мы не можем придумать что-то из ничего. Обязательно для свежей идеи должно быть какое то искажение или комбинация нескольких воспоминаний, но эти воспоминания нужно активировать одновременно, чтобы их увидеть. Именно так и работает. Мы придумываем цель типа игра про оркой в изометрии. Это например то что только смогли для начала придумать. А потом начинаем смотреть на youtube видео разные и ждем пока к нам придет идея. И в чем прикол, что это не мы догадываемся об этой мысли, просто наш мозг событийный. Получается что ты не додумаешься до этого, если тебе определенное событие не поможет. Поэтому много идей уходят в корзину, потому что они приходят по событию и активируют связанные с этим событием нейроны.

Читать далее
Всего голосов 10: ↑2 и ↓8-6
Комментарии56

5% из 666 репозиториев Python содержат ошибки из-за запятых (в том числе Tensorflow, PyTorch, Sentry и V8)

Время на прочтение3 мин
Количество просмотров5.7K
Мы выяснили, что в 5% из 666 исследованных нами репозиториев Python с открытым исходным кодом на GitHub есть три бага, вызванных ошибочным использованием запятых.

Слишком мало запятых


Случайно пропущенная запятая в строке списка/кортежа/множества, приводящая к ненужной конкатенации строк.

Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии8

Го: Дообучаем модель

Время на прочтение6 мин
Количество просмотров2.4K
What will we do with a drunken sailor,
What will we do with a drunken sailor,
What will we do with a drunken sailor,
Early in the morning?

Drunken Sailor


В прошлый раз мы остановились на том, что модели на основе свёрточных нейросетей, вполне способны подсказывать интересные и неочевидные ходы и, таким образом, могут использоваться как основа для построения бота для игры Го. Напомню, что источником модели послужила вот эта замечательная книга. Для того чтобы двигаться дальше: дообучать модель, просто с ней экспериментировать или вообще полностью переделать и обучить с нуля, требовались вычислительные ресурсы. И они появились…
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии4

Digital art и искусственный интеллект — симбиоз цифр и искусства

Время на прочтение5 мин
Количество просмотров3.4K

В качестве предисловия оговорюсь, что на Хабре я впервые, решил представить свою дебют на этой платформе, так сказать. Речь здесь не пойдёт о рисовании картин с использованием AI и графических паттернов. Скорее наоборот, превращение классического изобразительного исксства в многочисленную последовательность нейронных сетей в итоговым кодом в заключительном виде. Расскажу предысторию. В начале этого года, случайным образом, попало в моё поле зрения одно заманчивое словосочетание - digital art. И так как я в теме crypto уже давненько, я не смел не поинтересоваться, каким образом искусство (будь то живопись или музыка) коррелирует с криптой, и как это происходит (и для чего))) на просторах блокчейна. В итоге ознакомления с этой идеей, и не только идеей, но и инфраструктурой NFT (Non-Fungible-Token, невзаимозаменяемый цифровой актив), я с радостью обнаружил что уже хочу создать что-то подобное, но в своём, авторском исполнении. Парой слов опишу, что зверёк по имени НФТ это хэшированное изображение в любом формате,  записанное в сети блокчейн в формате, являющегося аналогом ERC-721 в сети Ethereum (для тех кто ещё не в курсе темы). Задуманному быть конечно, но сказать легко, а вот сделать - труднее. Особенно, когда делаешь что-то впервые. Начал я с изучения подобных платформ на просторах всемирной паутины, начиная с крупнейших маркетплейсов opensea.io, makersplace.com,  и не очень крупных, pixeos.art, ghostmarket.io и много много других.

Кроме маркетплейсов, я обнаружил чисто minting-платформы, как правило тематические, т.е. они занимаются только созданием NFT карточек и как-правило одного направления. Криптокотики всякие (с них всё и началось!), Криптопанки и прочая фауна. Нашлось кроме всего пару аутсайдеров, которые вовсе создавали неформатные NFT, с прицелом на автоматическое масштабирование за счёт пользователей, к примеру на одной из платформ за NFT контент принимаются уникальные ссылки в интернете, на другой - регистрируются домены, а заодно и снимок с NFT. Не буду сильно углубляться в обозревание ежедневно растущего формата цифровых активов NFT, а лучше наконец-то перейду к своей задумке.

Читать далее: критерии распознавания арта
Всего голосов 8: ↑6 и ↓2+4
Комментарии0

Нейродайджест: главное из области машинного обучения за декабрь 2021

Время на прочтение4 мин
Количество просмотров4.6K

Генерация 3D-моделей из текстового описания и видеозаписей, сделанных на обыкновенный смартфон, конкурент DALL-E, ускоренная GAN-инверсия и многое другое в подборке материалов за декабрь, а также небольшие новости о будущем дайджеста.

Перейти к обзору
Всего голосов 12: ↑12 и ↓0+12
Комментарии7

Ближайшие события

Нейродайджест: главное из области машинного обучения за ноябрь 2021

Время на прочтение3 мин
Количество просмотров4.2K

Генерация видео из текста от Microsoft, новые редакторы изображений от NVIDIA и Adobe, высококачественные NeRF-модели и многое другое в ноябрьской подборке.

Перейти к обзору
Всего голосов 13: ↑13 и ↓0+13
Комментарии3

Войти вайти в 37 лет, личный опыт

Время на прочтение11 мин
Количество просмотров47K

Сейчас мне сорок пять, и я наконец получил нормальную фултайм позицию аналитика данных. У меня первый диплом - Провизор по специальности Фармация. Я успел поработать таксистом, разнорабочим на складе лекарственных трав, заготовщиком, владельцем цеха металлообработки и одновременно рабочим в этом цеху. Был фармацевтом за кассой, заместителем заведующей аптекой, владельцем аптеки. Никогда не думал, что буду работать в IT, хотя всегда интересовался этой темой.

В школе у нас был компьютерный класс...
Всего голосов 70: ↑61 и ↓9+52
Комментарии77

Платформа Deepstream от Nvidia для систем на базе компьютерного зрения

Время на прочтение8 мин
Количество просмотров5.2K

Компьютерное зрение – это увлекательная область искусственного интеллекта, имеющая огромное значение в реальном мире. Forbes ожидает, что к 2022 году рынок компьютерного зрения достигнет оборота 50 миллиардов долларов, а всех нас ждет новая волна стартапов в этой области [1]. В своей статье я хотел бы поделиться своим опытом и опытом Data Science-команды компании Accenture по созданию цифрового решения потоковой аналитики на базе компьютерного зрения.

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Как можно взять tensorflow и смешать две картинки в одну

Время на прочтение6 мин
Количество просмотров5.4K

Возможно, вы встречали изображения, в которых смешаны два образа. Вблизи виден один, а издалека — другой. Например, Эйнштейн и Мадонна.

Не знаю, как делались оригинальные, но я попробовал сделать нечто похожее с помощью tensorflow.

Читать далее
Всего голосов 10: ↑8 и ↓2+6
Комментарии13

Эмбеддинги признаков и повышение точности ML-моделей

Время на прочтение7 мин
Количество просмотров34K

Прим. Wunder Fund: короткая статья о том, как эмбеддинги могут помочь при работе с категориальными признаками и сетками. А если вы и так умеете в сетки — то мы скоро открываем набор рисерчеров и будем рады с вами пообщаться, stay tuned.

Создание эмбеддингов признаков (feature embeddings) — это один из важнейших этапов подготовки табличных данных, используемых для обучения нейросетевых моделей. Об этом подходе к подготовке данных, к сожалению, редко говорят в сферах, не связанных с обработкой естественных языков. И, как следствие, его почти полностью обходят стороной при работе со структурированными наборами данных. Но то, что его, при работе с такими данными, не применяют, ведёт к значительному ухудшению точности моделей. Это стало причиной появления заблуждения, которое заключается в том, что алгоритмы градиентного бустинга, вроде того, что реализован в библиотеке XGBoost, это всегда — наилучший выбор для решения задач, предусматривающих работу со структурированными наборами данных. Нейросетевые методы моделирования, улучшенные за счёт эмбеддингов, часто дают лучшие результаты, чем методы, основанные на градиентном бустинге. Более того — обе группы методов показывают серьёзные улучшения при использовании эмбеддингов, извлечённых из существующих моделей.

Эта статья направлена на поиск ответов на следующие вопросы:

1. Что такое эмбеддинги признаков?
2. Как они используются при работе со структурированными данными?
3. Если использование эмбеддингов — это столь мощная методика — почему она недостаточно широко распространена?
4. Как создавать эмбеддинги?
5. Как использовать существующие эмбеддинги для улучшения других моделей?

Читать далее
Всего голосов 17: ↑16 и ↓1+15
Комментарии5

Го: Долгая дорога к боту

Время на прочтение28 мин
Количество просмотров6K
There is no difference between theory and practice in theory,
but there is often a great deal of difference between theory
and practice in practice.

Yogi Berra

Я слепым вместо глаз вставил звезды и синее небо.

Юрий Шевчук


Тема игровых ботов с самого начала была для меня довольно чувствительной. Используя Dagaz, я научился воссоздавать самые разнообразные игры, но что в них толку, если с тобой никто не играет? Nest позволил разработать сервер, для игры по сети, но до тех пор пока на нём не слишком много народу, боты продолжают оставаться актуальными. Универсальные боты, которые я писал, были медленными и слабыми. К счастью, знакомство с Garbochess позволило переломить ситуацию, по крайней мере в том, что касалось шахматных игр. Признаюсь честно, я никогда не думал, что у меня появится бот для игры в Го
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии11

Нейродайджест: главное из области машинного обучения за октябрь 2021

Время на прочтение4 мин
Количество просмотров2.5K

3D-рендеринг сцены из нескольких фотографий, определение глубины и освещения по фото, нейронный дизайнер интерьеров, генерация звука по видео и многое другое в октябрьской подборке.

Перейти к обзору
Всего голосов 10: ↑10 и ↓0+10
Комментарии1