[PYTHON] Führen Sie das Caffe-Modell in Google Colaboratory aus, um Alter und Geschlecht der Supermodels der Welt vorherzusagen

Ich habe versucht, die Open-Source-Deep-Learning-Bibliothek Caffe in Google Colaboratory auszuführen.

Installieren Sie Caffe

In Google Colab scheint es kein Caffe zu geben. Installieren Sie es daher wie folgt:

!apt install caffe-cpu

Caffe Modell Git Klon

Bei der Auswahl des vorberechneten Caffe-Modells habe ich AgeGenderDeepLearning gewählt, was gut erklärt wurde. Git-Klon auf Google Colaboratory.

!git clone https://github.com/GilLevi/AgeGenderDeepLearning

Dies ist ein Modell, das das Alter und Geschlecht der Person auf dem Bild vorhersagt. Ich möchte dieses Modell verwenden, um das Alter und Geschlecht der Supermodels der Welt vorherzusagen.

Grundeinstellungen rund um Caffe

# https://github.com/GilLevi/AgeGenderDeepLearning-Code wie er ist
import os
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline


caffe_root = './caffe/' 
import sys
sys.path.insert(0, caffe_root + 'python')
import caffe

plt.rcParams['figure.figsize'] = (10, 10)
plt.rcParams['image.interpolation'] = 'nearest'
plt.rcParams['image.cmap'] = 'gray'
mean_filename='./AgeGenderDeepLearning/models/mean.binaryproto' #Änderungen
proto_data = open(mean_filename, "rb").read()
a = caffe.io.caffe_pb2.BlobProto.FromString(proto_data)
mean  = caffe.io.blobproto_to_array(a)[0]
age_net_pretrained='./AgeGenderDeepLearning/models/age_net.caffemodel' #Änderungen
age_net_model_file='./AgeGenderDeepLearning/age_net_definitions/deploy.prototxt' #Änderungen
age_net = caffe.Classifier(age_net_model_file, age_net_pretrained,
                       mean=mean,
                       channel_swap=(2,1,0),
                       raw_scale=255,
                       image_dims=(256, 256))
gender_net_pretrained='./AgeGenderDeepLearning/models/gender_net.caffemodel' #Änderungen
gender_net_model_file='./AgeGenderDeepLearning/gender_net_definitions/deploy.prototxt' #Änderungen
gender_net = caffe.Classifier(gender_net_model_file, gender_net_pretrained,
                       mean=mean,
                       channel_swap=(2,1,0),
                       raw_scale=255,
                       image_dims=(256, 256))
# https://github.com/GilLevi/AgeGenderDeepLearning-Code wie er ist
age_list=['(0, 2)','(4, 6)','(8, 12)','(15, 20)','(25, 32)','(38, 43)','(48, 53)','(60, 100)']
gender_list=['Male','Female']

Bilder von Supermodels der Welt

Ich habe das Bild des Supermodels von hier bekommen.

#Importieren Sie eine Bibliothek, die den Zugriff auf Ressourcen per URL ermöglicht.
import urllib.request 
#Geben Sie Ressourcen im Web an
url = 'https://upload.wikimedia.org/wikipedia/commons/thumb/7/73/Gisele_B_edit.jpg/300px-Gisele_B_edit.jpg'
#Laden Sie die Ressource von der angegebenen URL herunter und geben Sie ihr einen Namen.
urllib.request.urlretrieve(url, 'model1.jpg') 
('model1.jpg', <http.client.HTTPMessage at 0x7f7d928eea58>)
example_image = 'model1.jpg'
input_image = caffe.io.load_image(example_image)
_ = plt.imshow(input_image)
/usr/local/lib/python3.6/dist-packages/skimage/io/_io.py:48: UserWarning: `as_grey` has been deprecated in favor of `as_gray`
  warn('`as_grey` has been deprecated in favor of `as_gray`')

png

(Ich zeige dieses Foto nicht, da es sich anscheinend um ein Urheberrechtsproblem handelt.)

Vorhersage von Alter und Geschlecht

# https://github.com/GilLevi/AgeGenderDeepLearning-Code wie er ist
prediction = age_net.predict([input_image]) 

print ('predicted age:', age_list[prediction[0].argmax()]) 
predicted age: (15, 20)

Das war's.

# https://github.com/GilLevi/AgeGenderDeepLearning-Code wie er ist
prediction = gender_net.predict([input_image]) 

print ('predicted gender:', gender_list[prediction[0].argmax()])
predicted gender: Female

Das war's.

Versuchen Sie es nochmal

#Importieren Sie eine Bibliothek, die den Zugriff auf Ressourcen per URL ermöglicht.
import urllib.request 
#Geben Sie Ressourcen im Web an
url = 'https://upload.wikimedia.org/wikipedia/commons/f/f3/LindaEvangelista.jpg'
#Laden Sie die Ressource von der angegebenen URL herunter und geben Sie ihr einen Namen.
urllib.request.urlretrieve(url, 'model2.jpg') 
('model2.jpg', <http.client.HTTPMessage at 0x7f7d925944a8>)
example_image = 'model2.jpg'
input_image = caffe.io.load_image(example_image)
_ = plt.imshow(input_image)
/usr/local/lib/python3.6/dist-packages/skimage/io/_io.py:48: UserWarning: `as_grey` has been deprecated in favor of `as_gray`
  warn('`as_grey` has been deprecated in favor of `as_gray`')

png

(Ich zeige dieses Foto nicht, da es sich anscheinend um ein Urheberrechtsproblem handelt.)

# https://github.com/GilLevi/AgeGenderDeepLearning-Code wie er ist
prediction = age_net.predict([input_image]) 

print ('predicted age:', age_list[prediction[0].argmax()]) 
predicted age: (60, 100)

Das war's?

# https://github.com/GilLevi/AgeGenderDeepLearning-Code wie er ist
prediction = gender_net.predict([input_image]) 

print ('predicted gender:', gender_list[prediction[0].argmax()])
predicted gender: Male

Hmm?

Recommended Posts

Führen Sie das Caffe-Modell in Google Colaboratory aus, um Alter und Geschlecht der Supermodels der Welt vorherzusagen
So führen Sie den Übungscode des Buches "Profitable KI mit Python erstellen" in Google Colaboratory aus
Caffe Model Zoo für Anfänger [Alters- und Geschlechtsklassifizierung]
So zeichnen Sie einfach die Struktur eines neuronalen Netzwerks in Google Colaboratory mit "convnet-drawer"
Führen Sie Keras auf Google Colaboratory TPU aus
Ich habe versucht, die Altersgruppe und die Ratenverteilung von Atcoder zu visualisieren
EC2 So führen Sie Google Chrome ohne Kopf unter Ubuntu aus und machen einen Screenshot
Ich habe versucht, das Verhalten des neuen Koronavirus mit dem SEIR-Modell vorherzusagen.
Verwenden Sie den Metabolic Disassembler in Google Colaboratory
Einstellungen, die es einfacher machen, den Maßstab und die Beschriftung der Figur auch bei einem dunklen Thema mit Google Colaboratory zu sehen
Stellen Sie sicher, dass die Vorverarbeitung zum Zeitpunkt der Erstellung und Vorhersage des Vorhersagemodells ausgerichtet ist
Bis Sie Caffe installieren und das Beispiel ausführen
[Erklärung zur Implementierung] Verwendung der japanischen Version von BERT in Google Colaboratory (PyTorch)
[Python] Speichern Sie das Ergebnis des Web-Scrapings der Mercari-Produktseite in Google Colab in einer Google-Tabelle und zeigen Sie auch das Produktbild an.