Классификация изображений на основе модели сверточной нейронной сети VGG

машинное обучение

Оригинальная ссылка:машинное обучение mastery.com/use - боится жары - вдруг...

предварительное условие:

  1. Операционная система Windows10
  2. Загрузите и установите Anaconda, настройте источник зеркала conda (внутренний источник)
  3. Установите блокнот jupyter, tensorflow, keras и их зависимости на основе Anaconda
  4. Установите keras с помощью pip
  5. Скачать "Обучающую модель VGG": 1️⃣скачать с гитхаба2️⃣Скачать с облачного диска Baidu (код извлечения: pbz5)
  6. Скачать «Список классификации предметов»:1️⃣ Скачать с Baidu Netdisk (код извлечения: y8fq)

Результаты классификации предметов модели VGG:

  • 83,12% шанс оказаться «бордер-колли».

    牧羊犬

  • Есть шанс 52,12% "перетащить карту"

    沃尔沃重型卡车

  • 93,01% шанс оказаться "кофейной чашкой"

    马克杯

Шаг 1 Установка и настройка Anaconda

1.1 Руководство по установке Anaconda под Windows 10

Ссылка на ссылку:nuggets.capable/post/684490…

1.2 Настройте источник зеркала conda, файл находится в: C:\Users\To Kill a MockinBird\.condarc

Отредактируйте файл «.condarc», вставьте содержимое:

channels:
  - http://mirrors.ustc.edu.cn/anaconda/pkgs/free/
 show_channel_urls: true
 ssl_verify: true
 report_errors: true
1.3 Проверьте результат установки Anaconda
  • Введите cmd и выполните, чтобы просмотреть номер версии Anaconda:
  • Выполните команду:conda -V
    Примечание. Если установка прошла успешно, будет выведен номер версии Anaconda. Если есть какие-либо отклонения, переустановите

Шаг 2. Установите блокнот jupyter и tensorflow.

2.1 Создать независимую среду python-v3.6 на базе Anaconda
  • В настоящее время поддержка python37 для tensorflow не очень удобна, поэтому рекомендуется использовать версию python3.6.

  • Запустите cmd, чтобы выполнить команду:conda create -n tf-20190930 python=3.6

  • tf-20190930: это пользовательское имя

  • После успешного создания вы можете просмотреть созданную среду выполнения python с помощью команды:conda info --env
2.2 Установите ipykernel ядра jupyter на основе независимой среды python
  • Перед установкой jupyter установите ipykernel, который является ядром jupyter.
  • Активируйте автономную среду Python:conda activate tf-20190930
  • Установите ipykernel:conda install ipykernel
2.3 Устанавливаем юпитер
  • Выполните команду для установки jupyter:conda install nb_conda
  • (Очень важно) Запишите ядро ​​ipykernel на jupyte, выполните команду:python -m ipykernel install --user --name tf-20190930 --display-name 'tf-20190930'
параметр описывать
--user Указывает имя пользователя (tf-20190930)
--name Представляет имя автономной среды Python (tf-20190930).
--display-name Представляет отображаемое имя в Jupyter NoteBook (tf-20190930).
2.4 pip install keras (keras включает VGG16, VGG19)

  • Если вы не можете скачать напрямую, вам нужно настроить источник pip, здесь мы настраиваем его как источник зеркала Ali.
  • Файл конфигурации pip под windows находится по адресу:C:\Users\To Kill a MockinBird\pip.ini(Примечание: если файл не существует, он будет активно создан по этому пути)

  • Файл конфигурации pip под Linux находится по адресу:/root/.pip/pip.conf

2.5 Два способа запустить Jupyter
  • Первый способ, начните с графического интерфейса Anaconda.
    GUI
  • Второй способ, запуск из командной строки cmd
    cmd
  • Запущено успешно

Шаг 3 «Модель VGG», «таблица классификации элементов (imagenet_class_index.json)» сохраняются в указанном каталоге.

3.1 Путь хранения по умолчанию предварительно обученной модели
  • Путь по умолчанию под windows10:C:\Users\To Kill a MockinBird\.keras\models;
  • Путь по умолчанию в Linux:/root/.keras/
3.2 Jupyter создает новую программу на Python и вызывает модель VGG через API

3.3 Вызов модели VGG для классификации типа изображения, код выглядит следующим образом:
# 加载VGG16模型
model = VGG16()

from keras.preprocessing.image import load_img
# 加载图像资源,图像默认存储路径:C:\Users\To Kill a MockinBird\dots.jpg
image = load_img('dots.jpg', target_size=(224, 224))

from keras.preprocessing.image import img_to_array
# 将图片像素转换为numpy数组
image = img_to_array(image)

image = image.reshape((1, image.shape[0], image.shape[1], image.shape[2]))

from keras.applications.vgg16 import preprocess_input
# prepare the image for the VGG model
image = preprocess_input(image)

# predict the probability across all output classes
yhat = model.predict(image)

from keras.applications.vgg16 import decode_predictions
# convert the probabilities to class labels
label = decode_predictions(yhat)
# retrieve the most likely result, e.g. highest probability
label = label[0][0]
# print the classification
print('分类结果:%s (%.2f%%)' % (label[1], label[2]*100))
3.4 Нажмите «Выполнить», чтобы выполнить классификацию сверточных нейронных изображений VGG.

(Примечание: путь хранения изображений по умолчанию: C:\Users\To Kill a MockinBird\dots.jpg)