в этой статье мы увидим простое предсказание изображения с помощью vgg16.
VGG16 — это модель сверточной нейронной сети, предложенная К. … Зиссерманом из Оксфордского университета в статье «Очень глубокие сверточные сети для крупномасштабного распознавания изображений». Модель достигает точности 92,7 % в тестах Top-5 в ImageNet, который представляет собой набор данных из более чем 14 миллионов изображений, принадлежащих к 1 000 классам.
- определить путь к изображению
img_path = 'images/'
2. импортировать все библиотеки
import numpy as np import keras import os from keras.models import Sequential from keras.layers import Dense, Dropout, Flatten from keras.layers import Conv2D, MaxPooling2D from tensorflow.keras.applications.vgg16 import VGG16 from keras.applications.vgg16 import preprocess_input from keras.applications.vgg16 import decode_predictions from PIL import Image as pil_image from tensorflow.keras.models import load_model
3. установить размер изображения
width = 224 height = 224 imgdir = img_path outfile = 'result.txt'
4. загрузить все изображения
allimgname = sorted(os.listdir(imgdir)) imgnumber = len(allimgname) allimg = [] for i in range(imgnumber): img = pil_image.open(imgdir+'/'+allimgname[i]) img = img.resize((width, height)) dataimg = np.array(img) allimg.append(dataimg[:,:,:3]) allimg2 = np.float64(np.asarray(allimg)) allimg2 = preprocess_input(allimg2)
5. скачать или загрузить модель
#dowload model = VGG16(weights='imagenet') #or #load model #model = load_model('vgg16.hdf5')
6. скомпилировать модель
model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy'])
7. прогнозировать изображения и сохранять в файл .txt
pred = model.predict(allimg2) #convert the probabilities to class labels predlabel = decode_predictions(pred) out = open(outfile, 'w') for i in range(len(predlabel)): res = predlabel[i][0] out.write(allimgname[i]+" -> "+res[1]+" ("+str(res[2]*100)+")\n") print('--------------------------') print(allimgname[i]+" -> "+res[1]+" ("+str(res[2]*100)+")\n")
видео к статье выше
посетите ASHABB SoftMart
Спасибо, что посетили ASHABB… если хотите, похлопайте