Рассказываем, как за несколько шагов создать простую нейронную сеть и научить её узнавать известных предпринимателей на фотографиях.Шаг 0. Разбираемся, как устроены нейронные сетиПроще всего разобраться с принципами работы нейронных сетей можно на примере Teachable Machine — образовательного проекта Google.В качестве входящих данных — то, что нужно обработать нейронной сети — в Teachable Machine используется изображение с камеры ноутбука. В качестве выходных данных — то, что должна сделать нейросеть после обработки входящих данных — можно использовать гифку или звук.Например, можно научить Teachable Machine при поднятой вверх ладони говорить «Hi». При поднятом вверх большом пальце — «Cool», а при удивленном лице с открытым ртом — «Wow».Для начала нужно обучить нейросеть. Для этого поднимаем ладонь и нажимаем на кнопку «Train Green» — сервис делает несколько десятков снимков, чтобы найти на изображениях закономерность. Набор таких снимков принято называть «датасетом». Теперь остается выбрать действие, которое нужно вызывать при распознании образа — произнести фразу, показать GIF или проиграть звук. Аналогично обучаем нейронную сеть распознавать удивленное лицо и большой палец.Как только нейросеть обучена, её можно использовать. Teachable Machine показывает коэффициент «уверенности» — насколько система «уверена», что ей показывают один из навыков. Кроткое видео о работе Teachable MachineШаг 1. Готовим компьютер к работе с нейронной сетьюТеперь сделаем свою нейронную сеть, которая при отправке изображения будет сообщать о том, что изображено на картинке. Сначала научим нейронную сеть распознавать цветы на картинке: ромашку, подсолнух, одуванчик, тюльпан или розу.Для создания собственной нейронной сети понадобится Python — один из наиболее минималистичных и распространенных языков программирования, и TensorFlow — открытая библиотека Google для создания и тренировки нейронных сетей.Устанавливаем PythonЕсли у вас Windows: скачиваем установщик с официального сайта Python и запускаем его. При установке нужно поставить галочку «Add Python to PATH».На macOS Python можно установить сразу через Terminal: brew install python Для работы с нейронной сетью подойдет Python 2.7 или более старшая версия.Устанавливаем виртуальное окружениеОткрываем командную строку на Windows или Terminal на macOS и последовательно вводим несколько команд: pip install --upgrade virtualenv virtualenv --system-site-packages Название source Название/bin/activate На компьютер будет установлен инструмент для запуска программ в виртуальном окружении. Он позволит устанавливать и запускать все библиотеки и приложения внутри одной папки — в команде она обозначена как «Название».Устанавливаем TensorFlowВводим команду: pip install tensorflow Всё, библиотека TensorFlow установлена в выбранную папку. На macOS она находится по адресу Macintosh HD/Users/Имя_пользователя/, на Windows — в корне C://.Можно проверить работоспособность библиотеки последовательно вводя команды: python import tensorflow as tf hello = tf.constant('Hello, TensorFlow') sess = tf.Session() print(sess.run(hello)) Если установка прошла успешно, то на экране появится фраза «Hello, Tensorflow».Шаг 2. Добавляем классификаторКлассификатор — это инструмент, который позволяет методам машинного обучения понимать, к чему относится неизвестный объект. Например, классификатор поможет понять, где на картинке растение, и что это за цветок.Открываем страницу «Tensorflow for poets» на Github, нажимаем на кнопку «Clone or download» и скачиваем классификатор в формате ZIP-файла.Затем распаковываем архив в созданную на втором шаге папку. Шаг 3. Добавляем набор данныхНабор данных нужен для обучения нейронной сети. Это входные данные, на основе которых нейронная сеть научится понимать, какой цветок расположен на картинке. Сначала скачиваем набор данных (датасет) Google с цветами. В нашем примере — это набор небольших фотографий, отсортированный по папкам с их названиями.Содержимое архива нужно распаковать в папку /tf_files классификатора.Шаг 4. Переобучаем модельТеперь нужно запустить обучение нейронной сети, чтобы она проанализировала картинки из датасета и поняла при помощи классификатора, как и какой тип цветка выглядит.Переходим в папку с классификаторомОткрываем командную строку и вводим команду, чтобы перейти в папку с классификатором.Windows: cd C://Название/ macOS: cd Название Запускаем процесс обучения python scripts/retrain.py --output_graph=tf_files/retrained_graph.pb --output_labels=tf_files/retrained_labels.txt --image_dir=tf_files/flower_photos Что указано в команде: retrain.py — название Python-скрипта, который отвечает за запуск процесса обучения нейронной сети.output_graph — создаёт новый файл с графом данных. Он и будет использоваться для определения того, что находится на картинке.output_labels — создание нового файла с метками. В нашем примере это ромашки, подсолнухи, одуванчики, тюльпаны или розы.image_dir — путь к папке, в которой находятся изображения с цветами.Программа начнет создавать текстовые файлы bottleneck — это специальные текстовые файлы с компактной информацией об изображении. Они помогают классификатору быстрее определять подходящую картинку.Весь ход обучения занимает около 4000 шагов. Время работы может занять несколько десятков минут — в зависимости от мощности процессора.После завершения анализа нейросеть сможет распознавать на любой картинке ромашки, подсолнухи, одуванчики, тюльпаны и розы. Перед тестированием нейросети нужно открыть файл label_image.py, находящийся в папке scripts в любом текстовом редакторе и заменить значения в строках: input_height = 299 input_width = 299 input_mean = 0 input_std = 255 input_layer = "Mul" Шаг 5. ТестированиеВыберите любое изображение цветка, которое нужно проанализировать, и поместите его в папку с нейронной сетью. Назовите файл image.jpg.Для запуска анализа нужно ввести команду: python scripts/label_image.py --image image.jpg Нейросеть проверит картинку на соответствие одному из лейблов и выдаст результат.Например:Это значит, что с вероятностью 72% на картинке изображена роза.Шаг 6. Учим нейронную сеть распознавать предпринимателейТеперь можно расширить возможности нейронной сети — научить её распознавать на картинке не только цветы, но и известных предпринимателей. Например, Элона Маска и Марка Цукерберга.Для этого нужно добавить новые изображения в датасет и переобучить нейросеть.Собираем собственный датасетДля создания датасета с фотографиями предпринимателей можно воспользоваться поиском по картинкам Google и расширением для Chrome, которое сохраняет все картинки на странице. Папку с изображениями Элона Маска нужно поместить в \tf_files\flower_photos\musk\. Аналогично все изображения с основателем Facebook — в папку \tf_files\flower_photos\zuckerberg\.Чем больше фотографий будет в папках, тем точнее нейронная сеть распознает на ней предпринимателя.Переобучаем и проверяемДля переобучения и запуска нейронной сети используем те же команды, что и в шагах 4 и 5. python scripts/retrain.py --output_graph=tf_files/retrained_graph.pb --output_labels=tf_files/retrained_labels.txt --image_dir=tf_files/flower_photos python scripts/label_image.py --image image.jpg Шаг 7. «Разгоняем» нейронную сетьЧтобы процесс обучения не занимал каждый раз много времени, нейросеть лучше всего запускать на сервере с GPU — он спроектирован специально для таких задач.Процесс запуска и обучения нейронной сети на сервере похож на аналогичный процесс на компьютере.Создание сервера с UbuntuНам понадобится сервер с операционной системой Ubuntu. Её можно установить самостоятельно, либо — если арендован сервер Selectel — через техподдержку компании.Установка Python sudo apt-get install python3-pip python3-dev Установка TensorFlow pip3 install tensorflow-gpu Скачиваем классификатор и набор данныхАналогично шагам 2 и 3 на компьютере, только архивы необходимо загрузить сразу на сервер.Переобучаем модель python3 scripts/retrain.py --output_graph=tf_files/retrained_graph.pb --output_labels=tf_files/retrained_labels.txt --image_dir=tf_files/flower_photos Тестируем нейросеть python scripts/label_image.py --image image.jpg Заказать сервер для нейросети#нейросети #инструкции #разработка #selectel #selectelDIY
Заголовок статьи — ...Создание нейронной сети без навыков программирования
По тексту — устанавливаем Python...
:))
Python это не язык программирования )))
Типа поставил питон — научился программировать? =)
А еще и устанавливаем его с помощью brew, который тоже бы надо сначала поставить на macOS )
Ничоси показали туториал. Освой программирование за 10 минут с vc.ru!
Комментарий недоступен
Сделайте нейронку, чтобы на основе коммента на vc можно было определить принадлежность человека к определенной группе.