Около месяца назад Google сервис Colaboratory, предоставляющий доступ к Jupyter ноутбукам, включил возможность бесплатно использовать GPU Tesla K80 с 13 Гб видеопамяти на борту. Если до сих пор единственным препятствием для погружения в мир нейросетей могло быть отсутствие доступа к GPU, теперь Вы можете смело сказать, “Держись Deep Learning, я иду!”.
Я попробовал использовать Colaboratory для работы над kaggle задачами. Мне больше всего не хватало возможности удобно сохранять натренированные tensorflow модели и использовать tensorboard. В данном посте, я хочу поделиться опытом и рассказать, как эти возможности добавить в colab. А напоследок покажу, как можно получить доступ к контейнеру по ssh и пользоваться привычными удобными инструментами bash, screen, rsync.
В середине июля закончился контест по машинному обучению ML Boot Camp V от Mail.Ru. Нужно было предсказать наличие сердечно-сосудистых заболеваний по результатам классического врачебного осмотра. Метрикой являлась логарифмическая функция потерь. Полное описание задачи доступно по ссылке.
Знакомство с машинным обучением для меня началось с ML Boot Camp III где-то в феврале 2017 года и какое-то подобие представления что с такими задачами делать начинает складываться у меня только сейчас. Многое из сделанного в 5 контесте — результат в первую очередь изучения собрания статей на kaggle и обсуждений и примеров кода оттуда же. Ниже — слегка переработанный отчет о том, что пришлось сделать, чтобы занять 3 место.
Привет, Хабр! Под катом пойдёт речь о реализации свёрточной нейронной сети архитектуры InceptionV3 с использованием фреймворка Keras. Статью я решил написать после ознакомления с туториалом "Построение мощных моделей классификации с использованием небольшого количества данных". С одобрения автора туториала я немного изменил содержание своей статьи. В отличие от предложенной автором нейронной сети VGG16, мы будем обучать гугловскую глубокую нейронную сеть Inception V3, которая уже предустановлена в Keras.
Вы научитесь:
Импортировать нейронную сеть Inception V3 из библиотеки Keras;
Настраивать сеть: загружать веса, изменять верхнюю часть модели (fc-layers), таким образом, приспосабливая модель под бинарную классификацию;
Проводить тонкую настройку нижнего свёрточного слоя нейронной сети;
Применять аугментацию данных при помощи ImageDataGenerator;
Обучать сеть по частям для экономии ресурсов и времени;
Оценивать работу модели.
При написании статьи я ставил перед собой задачу представить максимально практичный материал, который раскроет некоторые интересные возможности фреймворка Keras.