Inhaltsverzeichnis
Daten laden" >Daten laden
Daten vorverarbeiten" >Daten vorverarbeiten
Aufbau des Modells" >Aufbau des Modells
Training des Modells" >Training des Modells
Bewerten Sie das Modell " > Bewerten Sie das Modell
Vorhersage" >Vorhersage
Heim Technologie-Peripheriegeräte KI Erstellen Sie mit TensorFlow und Keras einen Deep-Learning-Klassifikator für Katzen- und Hundebilder

Erstellen Sie mit TensorFlow und Keras einen Deep-Learning-Klassifikator für Katzen- und Hundebilder

May 16, 2023 am 09:34 AM
深度学习 tensorflow keras

Erstellen Sie mit TensorFlow und Keras einen Deep-Learning-Klassifikator für Katzen- und Hundebilder

In diesem Artikel werden wir TensorFlow und Keras verwenden, um einen Bildklassifikator zu erstellen, der zwischen Bildern von Katzen und Hunden unterscheiden kann. Dazu verwenden wir den Datensatz cats_vs_dogs aus dem TensorFlow-Datensatz. Der Datensatz besteht aus 25.000 beschrifteten Bildern von Katzen und Hunden, von denen 80 % für das Training, 10 % für die Validierung und 10 % für Tests verwendet werden.

Daten laden

Wir beginnen mit dem Laden des Datensatzes mithilfe von TensorFlow-Datensätzen. Teilen Sie den Datensatz in Trainingssatz, Validierungssatz und Testsatz auf, die jeweils 80 %, 10 % und 10 % der Daten ausmachen, und definieren Sie eine Funktion zum Anzeigen einiger Beispielbilder im Datensatz.

<code>import tensorflow as tfimport matplotlib.pyplot as pltimport tensorflow_datasets as tfds# 加载数据(train_data, validation_data, test_data), info = tfds.load('cats_vs_dogs', split=['train[:80%]', 'train[80%:90%]', 'train[90%:]'], with_info=True, as_supervised=True)# 获取图像的标签label_names = info.features['label'].names# 定义一个函数来显示一些样本图像plt.figure(figsize=(10, 10))for i, (image, label) in enumerate(train_data.take(9)):ax = plt.subplot(3, 3, i + 1)plt.imshow(image)plt.title(label_names[label])plt.axis('off')</code>
Nach dem Login kopieren

Erstellen Sie mit TensorFlow und Keras einen Deep-Learning-Klassifikator für Katzen- und Hundebilder

Daten vorverarbeiten

Vor dem Training des Modells müssen die Daten vorverarbeitet werden. Die Bildgröße wird auf eine einheitliche Größe von 150 x 150 Pixel geändert, die Pixelwerte werden zwischen 0 und 1 normalisiert und die Daten werden stapelweise verarbeitet, sodass sie stapelweise in das Modell importiert werden können.

<code>IMG_SIZE = 150</code>
Nach dem Login kopieren
<code>def format_image(image, label):image = tf.cast(image, tf.float32) / 255.0# Normalize the pixel valuesimage = tf.image.resize(image, (IMG_SIZE, IMG_SIZE))# Resize to the desired sizereturn image, labelbatch_size = 32train_data = train_data.map(format_image).shuffle(1000).batch(batch_size)validation_data = validation_data.map(format_image).batch(batch_size)test_data = test_data.map(format_image).batch(batch_size)</code>
Nach dem Login kopieren

Erstellen Sie mit TensorFlow und Keras einen Deep-Learning-Klassifikator für Katzen- und Hundebilder

Aufbau des Modells

In diesem Artikel wird das vorab trainierte MobileNet V2-Modell als Basismodell verwendet und zur Klassifizierung eine globale Durchschnitts-Pooling-Schicht und eine kompakte Schicht hinzugefügt. In diesem Artikel werden die Gewichte des Basismodells eingefroren, sodass während des Trainings nur die Gewichte der obersten Schicht aktualisiert werden.

<code>base_model = tf.keras.applications.MobileNetV2(input_shape=(IMG_SIZE, IMG_SIZE, 3), include_top=False, weights='imagenet')base_model.trainable = False</code>
Nach dem Login kopieren
<code>global_average_layer = tf.keras.layers.GlobalAveragePooling2D()prediction_layer = tf.keras.layers.Dense(1)model = tf.keras.Sequential([base_model,global_average_layer,prediction_layer])model.compile(optimizer=tf.keras.optimizers.RMSprop(lr=0.0001),loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),metrics=['accuracy'])</code>
Nach dem Login kopieren
Nach dem Login kopieren

Training des Modells

In diesem Artikel wird das Modell für 3 Zyklen trainiert und nach jedem Zyklus auf dem Validierungssatz validiert. Wir werden das Modell nach dem Training speichern, damit wir es in zukünftigen Tests verwenden können.

<code>global_average_layer = tf.keras.layers.GlobalAveragePooling2D()prediction_layer = tf.keras.layers.Dense(1)model = tf.keras.Sequential([base_model,global_average_layer,prediction_layer])model.compile(optimizer=tf.keras.optimizers.RMSprop(lr=0.0001),loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),metrics=['accuracy'])</code>
Nach dem Login kopieren
Nach dem Login kopieren
<code>history = model.fit(train_data,epochs=3,validation_data=validation_data)</code>
Nach dem Login kopieren

Erstellen Sie mit TensorFlow und Keras einen Deep-Learning-Klassifikator für Katzen- und Hundebilder

Modellhistorie

Wenn Sie wissen möchten, wie die Mobilenet V2-Schicht funktioniert, ist das Bild unten ein Ergebnis dieser Schicht.

Erstellen Sie mit TensorFlow und Keras einen Deep-Learning-Klassifikator für Katzen- und Hundebilder

Bewerten Sie das Modell

Nach Abschluss des Trainings wird das Modell am Testsatz bewertet, um zu sehen, wie es bei neuen Daten abschneidet.

<code>loaded_model = tf.keras.models.load_model('cats_vs_dogs.h5')test_loss, test_accuracy = loaded_model.evaluate(test_data)</code>
Nach dem Login kopieren
<code>print('Test accuracy:', test_accuracy)</code>
Nach dem Login kopieren

Vorhersage

Abschließend wird in diesem Artikel das Modell verwendet, um einige Beispielbilder im Testsatz vorherzusagen und die Ergebnisse anzuzeigen.

<code>for image , _ in test_.take(90) : passpre = loaded_model.predict(image)plt.figure(figsize = (10 , 10))j = Nonefor value in enumerate(pre) : plt.subplot(7,7,value[0]+1)plt.imshow(image[value[0]])plt.xticks([])plt.yticks([])if value[1] > pre.mean() :j = 1color = 'blue' if j == _[value[0]] else 'red'plt.title('dog' , color = color)else : j = 0color = 'blue' if j == _[value[0]] else 'red'plt.title('cat' , color = color)plt.show()</code>
Nach dem Login kopieren

Erstellen Sie mit TensorFlow und Keras einen Deep-Learning-Klassifikator für Katzen- und Hundebilder

Fertig! Mithilfe von TensorFlow und Keras haben wir einen Bildklassifizierer erstellt, der zwischen Bildern von Katzen und Hunden unterscheiden kann. Mit einigen Anpassungen und Feinabstimmungen kann dieser Ansatz auch auf andere Bildklassifizierungsprobleme angewendet werden.

Das obige ist der detaillierte Inhalt vonErstellen Sie mit TensorFlow und Keras einen Deep-Learning-Klassifikator für Katzen- und Hundebilder. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Methoden und Schritte zur Verwendung von BERT für die Stimmungsanalyse in Python Methoden und Schritte zur Verwendung von BERT für die Stimmungsanalyse in Python Jan 22, 2024 pm 04:24 PM

BERT ist ein vorab trainiertes Deep-Learning-Sprachmodell, das 2018 von Google vorgeschlagen wurde. Der vollständige Name lautet BidirektionalEncoderRepresentationsfromTransformers, der auf der Transformer-Architektur basiert und die Eigenschaften einer bidirektionalen Codierung aufweist. Im Vergleich zu herkömmlichen Einweg-Codierungsmodellen kann BERT bei der Textverarbeitung gleichzeitig Kontextinformationen berücksichtigen, sodass es bei Verarbeitungsaufgaben in natürlicher Sprache eine gute Leistung erbringt. Seine Bidirektionalität ermöglicht es BERT, die semantischen Beziehungen in Sätzen besser zu verstehen und dadurch die Ausdrucksfähigkeit des Modells zu verbessern. Durch Vorschulungs- und Feinabstimmungsmethoden kann BERT für verschiedene Aufgaben der Verarbeitung natürlicher Sprache verwendet werden, wie z. B. Stimmungsanalyse und Benennung

Analyse häufig verwendeter KI-Aktivierungsfunktionen: Deep-Learning-Praxis von Sigmoid, Tanh, ReLU und Softmax Analyse häufig verwendeter KI-Aktivierungsfunktionen: Deep-Learning-Praxis von Sigmoid, Tanh, ReLU und Softmax Dec 28, 2023 pm 11:35 PM

Aktivierungsfunktionen spielen beim Deep Learning eine entscheidende Rolle. Sie können nichtlineare Eigenschaften in neuronale Netze einführen und es dem Netz ermöglichen, komplexe Eingabe-Ausgabe-Beziehungen besser zu lernen und zu simulieren. Die richtige Auswahl und Verwendung von Aktivierungsfunktionen hat einen wichtigen Einfluss auf die Leistung und Trainingsergebnisse neuronaler Netze. In diesem Artikel werden vier häufig verwendete Aktivierungsfunktionen vorgestellt: Sigmoid, Tanh, ReLU und Softmax. Beginnend mit der Einführung, den Verwendungsszenarien und den Vorteilen. Nachteile und Optimierungslösungen werden besprochen, um Ihnen ein umfassendes Verständnis der Aktivierungsfunktionen zu vermitteln. 1. Sigmoid-Funktion Einführung in die Sigmoid-Funktionsformel: Die Sigmoid-Funktion ist eine häufig verwendete nichtlineare Funktion, die jede reelle Zahl auf Werte zwischen 0 und 1 abbilden kann. Es wird normalerweise verwendet, um das zu vereinheitlichen

Jenseits von ORB-SLAM3! SL-SLAM: Szenen mit wenig Licht, starkem Jitter und schwacher Textur werden verarbeitet Jenseits von ORB-SLAM3! SL-SLAM: Szenen mit wenig Licht, starkem Jitter und schwacher Textur werden verarbeitet May 30, 2024 am 09:35 AM

Heute diskutieren wir darüber, wie Deep-Learning-Technologie die Leistung von visionbasiertem SLAM (Simultaneous Localization and Mapping) in komplexen Umgebungen verbessern kann. Durch die Kombination von Methoden zur Tiefenmerkmalsextraktion und Tiefenanpassung stellen wir hier ein vielseitiges hybrides visuelles SLAM-System vor, das die Anpassung in anspruchsvollen Szenarien wie schlechten Lichtverhältnissen, dynamischer Beleuchtung, schwach strukturierten Bereichen und starkem Jitter verbessern soll. Unser System unterstützt mehrere Modi, einschließlich erweiterter Monokular-, Stereo-, Monokular-Trägheits- und Stereo-Trägheitskonfigurationen. Darüber hinaus wird analysiert, wie visuelles SLAM mit Deep-Learning-Methoden kombiniert werden kann, um andere Forschungen zu inspirieren. Durch umfangreiche Experimente mit öffentlichen Datensätzen und selbst abgetasteten Daten demonstrieren wir die Überlegenheit von SL-SLAM in Bezug auf Positionierungsgenauigkeit und Tracking-Robustheit.

Latente Raumeinbettung: Erklärung und Demonstration Latente Raumeinbettung: Erklärung und Demonstration Jan 22, 2024 pm 05:30 PM

Latent Space Embedding (LatentSpaceEmbedding) ist der Prozess der Abbildung hochdimensionaler Daten auf niedrigdimensionalen Raum. Im Bereich des maschinellen Lernens und des tiefen Lernens handelt es sich bei der Einbettung latenter Räume normalerweise um ein neuronales Netzwerkmodell, das hochdimensionale Eingabedaten in einen Satz niedrigdimensionaler Vektordarstellungen abbildet. Dieser Satz von Vektoren wird oft als „latente Vektoren“ oder „latent“ bezeichnet Kodierungen". Der Zweck der Einbettung latenter Räume besteht darin, wichtige Merkmale in den Daten zu erfassen und sie in einer prägnanteren und verständlicheren Form darzustellen. Durch die Einbettung latenter Räume können wir Vorgänge wie das Visualisieren, Klassifizieren und Clustern von Daten im niedrigdimensionalen Raum durchführen, um die Daten besser zu verstehen und zu nutzen. Die Einbettung latenter Räume findet in vielen Bereichen breite Anwendung, z. B. bei der Bilderzeugung, der Merkmalsextraktion, der Dimensionsreduzierung usw. Die Einbettung des latenten Raums ist das Wichtigste

Verstehen Sie in einem Artikel: die Zusammenhänge und Unterschiede zwischen KI, maschinellem Lernen und Deep Learning Verstehen Sie in einem Artikel: die Zusammenhänge und Unterschiede zwischen KI, maschinellem Lernen und Deep Learning Mar 02, 2024 am 11:19 AM

In der heutigen Welle rasanter technologischer Veränderungen sind künstliche Intelligenz (KI), maschinelles Lernen (ML) und Deep Learning (DL) wie helle Sterne und führen die neue Welle der Informationstechnologie an. Diese drei Wörter tauchen häufig in verschiedenen hochaktuellen Diskussionen und praktischen Anwendungen auf, aber für viele Entdecker, die neu auf diesem Gebiet sind, sind ihre spezifische Bedeutung und ihre internen Zusammenhänge möglicherweise noch immer rätselhaft. Schauen wir uns also zunächst dieses Bild an. Es ist ersichtlich, dass zwischen Deep Learning, maschinellem Lernen und künstlicher Intelligenz ein enger Zusammenhang und eine fortschreitende Beziehung besteht. Deep Learning ist ein spezifischer Bereich des maschinellen Lernens und des maschinellen Lernens

Sehen Sie sich von den Grundlagen bis zur Praxis die Entwicklungsgeschichte des Elasticsearch-Vektorabrufs an Sehen Sie sich von den Grundlagen bis zur Praxis die Entwicklungsgeschichte des Elasticsearch-Vektorabrufs an Oct 23, 2023 pm 05:17 PM

1. Einleitung Die Vektorabfrage ist zu einem Kernbestandteil moderner Such- und Empfehlungssysteme geworden. Es ermöglicht einen effizienten Abfrageabgleich und Empfehlungen, indem es komplexe Objekte (wie Text, Bilder oder Töne) in numerische Vektoren umwandelt und Ähnlichkeitssuchen in mehrdimensionalen Räumen durchführt. Schauen Sie sich von den Grundlagen bis zur Praxis die Entwicklungsgeschichte von Elasticsearch Vector Retrieval_elasticsearch an. Als beliebte Open-Source-Suchmaschine hat die Entwicklung von Elasticsearch im Bereich Vektor Retrieval schon immer große Aufmerksamkeit erregt. In diesem Artikel wird die Entwicklungsgeschichte des Elasticsearch-Vektorabrufs untersucht, wobei der Schwerpunkt auf den Merkmalen und dem Fortschritt jeder Phase liegt. Wenn Sie sich an der Geschichte orientieren, ist es für jeden praktisch, eine umfassende Palette zum Abrufen von Elasticsearch-Vektoren einzurichten.

Super stark! Top 10 Deep-Learning-Algorithmen! Super stark! Top 10 Deep-Learning-Algorithmen! Mar 15, 2024 pm 03:46 PM

Fast 20 Jahre sind vergangen, seit das Konzept des Deep Learning im Jahr 2006 vorgeschlagen wurde. Deep Learning hat als Revolution auf dem Gebiet der künstlichen Intelligenz viele einflussreiche Algorithmen hervorgebracht. Was sind Ihrer Meinung nach die zehn besten Algorithmen für Deep Learning? Im Folgenden sind meiner Meinung nach die besten Algorithmen für Deep Learning aufgeführt. Sie alle nehmen hinsichtlich Innovation, Anwendungswert und Einfluss eine wichtige Position ein. 1. Hintergrund des Deep Neural Network (DNN): Deep Neural Network (DNN), auch Multi-Layer-Perceptron genannt, ist der am weitesten verbreitete Deep-Learning-Algorithmus. Als er erstmals erfunden wurde, wurde er aufgrund des Engpasses bei der Rechenleistung in Frage gestellt Jahre, Rechenleistung, Der Durchbruch kam mit der Datenexplosion. DNN ist ein neuronales Netzwerkmodell, das mehrere verborgene Schichten enthält. In diesem Modell übergibt jede Schicht Eingaben an die nächste Schicht und

So installieren Sie Tensorflow in Conda So installieren Sie Tensorflow in Conda Dec 05, 2023 am 11:26 AM

Installationsschritte: 1. Laden Sie Miniconda herunter und installieren Sie es, wählen Sie die entsprechende Miniconda-Version entsprechend dem Betriebssystem aus und installieren Sie es gemäß der offiziellen Anleitung. 2. Verwenden Sie den Befehl „conda create -n tensorflow_env python = 3.7“, um eine neue Conda-Umgebung zu erstellen 3. Aktivieren Sie die Conda-Umgebung. 4. Verwenden Sie den Befehl „conda install tensorflow“, um die neueste Version von TensorFlow zu installieren.

See all articles