Aidemy 2020/10/4
Hallo, es ist ja! Ich bin eine knusprige Literaturschule, aber ich war an den Möglichkeiten der KI interessiert, also ging ich zur KI-Fachschule "Aidemy", um zu studieren. Ich möchte das hier gewonnene Wissen mit Ihnen teilen und habe es in Qiita zusammengefasst. Ich freue mich sehr, dass viele Menschen den vorherigen zusammenfassenden Artikel gelesen haben. Vielen Dank! Dieses Mal werden wir ein Memo zur Anerkennung des Geschlechts veröffentlichen. Freut mich, dich kennenzulernen.
・ Sammeln Sie Daten und bereinigen Sie sie. -Datenerfassung ist nicht von Keras integriert, sondern lädt Bilder online herunter und sammelt sie.
img = cv2.imread('./6100_gender_recognition_data/male/Aaron_Eckhart_0001.jpg')
b,g,r=cv2.split(img)
img=cv2.merge([r,g,b])
-Verwenden Sie __cv2.resize (Bild, (vertikal, horizontal)) __. Nach dem Speichern mit cv2.imwrite () erhalten Sie das verkleinerte Bild mit plt.imread als Abbildung und geben es mit plt.imshow () aus.
import cv2
import matplotlib.pyplot as plt
import numpy as np
img=cv2.imread("./6100_gender_recognition_data/male/Aaron_Eckhart_0001.jpg ")
my_img=cv2.resize(img, (50, 50))
cv2.imwrite("resize.img",my_img)
img=plt.imread("resize.img")
plt.imshow(img)
plt.show()
-Wenn Sie von Farbe (rot, grün, blau) zu monochrom (weiß, schwarz) wechseln, setzen Sie cv2.COLOR_RGB2GRAY im zweiten Argument von __cv2.cvtColor (Bild) __. Dies geschieht häufig beim Umgang mit Bildern. -Wenn das konvertierte Bild mit plt.show () ausgegeben wird, wird das erste Argument als "grün" erkannt, wenn es unverändert bleibt. Daher muss es als __plt.gray () __ beschrieben werden.
・ Erstellen Sie ein Modell mit CNN (+ Keras + TensorFlow). Zusätzlich wird das Transferlernen mit VGG16 durchgeführt.
・ (Review) Kompilieren mit Kompilieren, Lernen mit Fit, Vorhersagen mit np.argmax (model.predict ()). ・ __Model.compile (Optimierer, Verlust, Metriken) __ ・ __Model.fit (Trainingsdaten, Lehreretikett, Batchgröße, Epochen) __
・ (Überprüfung) Übertragen Sie das Lernen mit VGG16
#Formeinstellung eingeben
input_tensor = Input(shape=(32, 32, 3))
#VGG-Modelleinstellungen
vgg16 = VGG16(include_top=False,weights='imagenet',input_tensor=input_tensor)
#Kombination des VGG-Modells mit einer neuen Ebene
model = Model(inputs=vgg16.input, outputs=top_model(vgg16.output))
#Feste Anzahl von Schichten und Gewichten für das VGG-Modell
for layer in model.layers[:15]:
layer.trainable = False
Recommended Posts