Table des matières
Chargement des données" >Chargement des données
Prétraitement des données" >Prétraitement des données
Création du modèle" >Création du modèle
Entraînement du modèle" >Entraînement du modèle
Évaluer le modèle " > Évaluer le modèle
Prédiction" >Prédiction
Maison Périphériques technologiques IA Créez un classificateur d'apprentissage profond pour les photos de chats et de chiens à l'aide de TensorFlow et Keras.

Créez un classificateur d'apprentissage profond pour les photos de chats et de chiens à l'aide de TensorFlow et Keras.

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

Créez un classificateur dapprentissage profond pour les photos de chats et de chiens à laide de TensorFlow et Keras.

Dans cet article, nous utiliserons TensorFlow et Keras pour créer un classificateur d'images capable de différencier les images de chats et de chiens. Pour ce faire, nous utiliserons l'ensemble de données cats_vs_dogs de l'ensemble de données TensorFlow. L'ensemble de données se compose de 25 000 images étiquetées de chats et de chiens, dont 80 % sont utilisées pour l'entraînement, 10 % pour la validation et 10 % pour les tests.

Chargement des données

Nous commençons par charger l'ensemble de données à l'aide des ensembles de données TensorFlow. Divisez l'ensemble de données en ensemble d'entraînement, ensemble de validation et ensemble de test, représentant respectivement 80 %, 10 % et 10 % des données, et définissez une fonction pour afficher quelques exemples d'images dans l'ensemble de données.

<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>
Copier après la connexion

Créez un classificateur dapprentissage profond pour les photos de chats et de chiens à laide de TensorFlow et Keras.

Prétraitement des données

Avant d'entraîner le modèle, les données doivent être prétraitées. L'image sera redimensionnée à une taille uniforme de 150 x 150 pixels, les valeurs des pixels seront normalisées entre 0 et 1 et les données seront traitées par lots afin de pouvoir être importées dans le modèle par lots.

<code>IMG_SIZE = 150</code>
Copier après la connexion
<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>
Copier après la connexion

Créez un classificateur dapprentissage profond pour les photos de chats et de chiens à laide de TensorFlow et Keras.

Création du modèle

Cet article utilisera le modèle MobileNet V2 pré-entraîné comme modèle de base et y ajoutera une couche de pooling moyenne globale et une couche compacte pour la classification. Cet article va geler les poids du modèle de base afin que seuls les poids de la couche supérieure soient mis à jour pendant l'entraînement.

<code>base_model = tf.keras.applications.MobileNetV2(input_shape=(IMG_SIZE, IMG_SIZE, 3), include_top=False, weights='imagenet')base_model.trainable = False</code>
Copier après la connexion
<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>
Copier après la connexion
Copier après la connexion

Entraînement du modèle

Cet article entraînera le modèle pendant 3 cycles et le validera sur l'ensemble de validation après chaque cycle. Nous sauvegarderons le modèle après la formation afin de pouvoir l'utiliser lors de futurs tests.

<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>
Copier après la connexion
Copier après la connexion
<code>history = model.fit(train_data,epochs=3,validation_data=validation_data)</code>
Copier après la connexion

Créez un classificateur dapprentissage profond pour les photos de chats et de chiens à laide de TensorFlow et Keras.

Historique du modèle

Si vous voulez savoir comment fonctionne la couche Mobilenet V2, l'image ci-dessous est le résultat de cette couche.

Créez un classificateur dapprentissage profond pour les photos de chats et de chiens à laide de TensorFlow et Keras.

Évaluer le modèle

Une fois la formation terminée, le modèle sera évalué sur l'ensemble de test pour voir ses performances sur les nouvelles données.

<code>loaded_model = tf.keras.models.load_model('cats_vs_dogs.h5')test_loss, test_accuracy = loaded_model.evaluate(test_data)</code>
Copier après la connexion
<code>print('Test accuracy:', test_accuracy)</code>
Copier après la connexion

Prédiction

Enfin, cet article utilisera le modèle pour prédire quelques exemples d'images dans l'ensemble de test et afficher les résultats.

<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>
Copier après la connexion

Créez un classificateur dapprentissage profond pour les photos de chats et de chiens à laide de TensorFlow et Keras.

Fait ! Nous avons créé un classificateur d'images capable de différencier les images de chats et de chiens à l'aide de TensorFlow et Keras. Avec quelques ajustements et ajustements, cette approche peut également être appliquée à d’autres problèmes de classification d’images.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Méthodes et étapes d'utilisation de BERT pour l'analyse des sentiments en Python Méthodes et étapes d'utilisation de BERT pour l'analyse des sentiments en Python Jan 22, 2024 pm 04:24 PM

BERT est un modèle de langage d'apprentissage profond pré-entraîné proposé par Google en 2018. Le nom complet est BidirectionnelEncoderRepresentationsfromTransformers, qui est basé sur l'architecture Transformer et présente les caractéristiques d'un codage bidirectionnel. Par rapport aux modèles de codage unidirectionnels traditionnels, BERT peut prendre en compte les informations contextuelles en même temps lors du traitement du texte, de sorte qu'il fonctionne bien dans les tâches de traitement du langage naturel. Sa bidirectionnalité permet à BERT de mieux comprendre les relations sémantiques dans les phrases, améliorant ainsi la capacité expressive du modèle. Grâce à des méthodes de pré-formation et de réglage fin, BERT peut être utilisé pour diverses tâches de traitement du langage naturel, telles que l'analyse des sentiments, la dénomination

Analyse des fonctions d'activation de l'IA couramment utilisées : pratique d'apprentissage en profondeur de Sigmoid, Tanh, ReLU et Softmax Analyse des fonctions d'activation de l'IA couramment utilisées : pratique d'apprentissage en profondeur de Sigmoid, Tanh, ReLU et Softmax Dec 28, 2023 pm 11:35 PM

Les fonctions d'activation jouent un rôle crucial dans l'apprentissage profond. Elles peuvent introduire des caractéristiques non linéaires dans les réseaux neuronaux, permettant ainsi au réseau de mieux apprendre et simuler des relations entrées-sorties complexes. La sélection et l'utilisation correctes des fonctions d'activation ont un impact important sur les performances et les résultats de formation des réseaux de neurones. Cet article présentera quatre fonctions d'activation couramment utilisées : Sigmoid, Tanh, ReLU et Softmax, à partir de l'introduction, des scénarios d'utilisation, des avantages, Les inconvénients et les solutions d'optimisation sont abordés pour vous fournir une compréhension complète des fonctions d'activation. 1. Fonction sigmoïde Introduction à la formule de la fonction SIgmoïde : La fonction sigmoïde est une fonction non linéaire couramment utilisée qui peut mapper n'importe quel nombre réel entre 0 et 1. Il est généralement utilisé pour unifier le

Au-delà d'ORB-SLAM3 ! SL-SLAM : les scènes de faible luminosité, de gigue importante et de texture faible sont toutes gérées Au-delà d'ORB-SLAM3 ! SL-SLAM : les scènes de faible luminosité, de gigue importante et de texture faible sont toutes gérées May 30, 2024 am 09:35 AM

Écrit précédemment, nous discutons aujourd'hui de la manière dont la technologie d'apprentissage profond peut améliorer les performances du SLAM (localisation et cartographie simultanées) basé sur la vision dans des environnements complexes. En combinant des méthodes d'extraction de caractéristiques approfondies et de correspondance de profondeur, nous introduisons ici un système SLAM visuel hybride polyvalent conçu pour améliorer l'adaptation dans des scénarios difficiles tels que des conditions de faible luminosité, un éclairage dynamique, des zones faiblement texturées et une gigue importante. Notre système prend en charge plusieurs modes, notamment les configurations étendues monoculaire, stéréo, monoculaire-inertielle et stéréo-inertielle. En outre, il analyse également comment combiner le SLAM visuel avec des méthodes d’apprentissage profond pour inspirer d’autres recherches. Grâce à des expériences approfondies sur des ensembles de données publiques et des données auto-échantillonnées, nous démontrons la supériorité du SL-SLAM en termes de précision de positionnement et de robustesse du suivi.

Intégration d'espace latent : explication et démonstration Intégration d'espace latent : explication et démonstration Jan 22, 2024 pm 05:30 PM

L'intégration d'espace latent (LatentSpaceEmbedding) est le processus de mappage de données de grande dimension vers un espace de faible dimension. Dans le domaine de l'apprentissage automatique et de l'apprentissage profond, l'intégration d'espace latent est généralement un modèle de réseau neuronal qui mappe les données d'entrée de grande dimension dans un ensemble de représentations vectorielles de basse dimension. Cet ensemble de vecteurs est souvent appelé « vecteurs latents » ou « latents ». encodages". Le but de l’intégration de l’espace latent est de capturer les caractéristiques importantes des données et de les représenter sous une forme plus concise et compréhensible. Grâce à l'intégration de l'espace latent, nous pouvons effectuer des opérations telles que la visualisation, la classification et le regroupement de données dans un espace de faible dimension pour mieux comprendre et utiliser les données. L'intégration d'espace latent a de nombreuses applications dans de nombreux domaines, tels que la génération d'images, l'extraction de caractéristiques, la réduction de dimensionnalité, etc. L'intégration de l'espace latent est le principal

Comprendre en un seul article : les liens et les différences entre l'IA, le machine learning et le deep learning Comprendre en un seul article : les liens et les différences entre l'IA, le machine learning et le deep learning Mar 02, 2024 am 11:19 AM

Dans la vague actuelle de changements technologiques rapides, l'intelligence artificielle (IA), l'apprentissage automatique (ML) et l'apprentissage profond (DL) sont comme des étoiles brillantes, à la tête de la nouvelle vague des technologies de l'information. Ces trois mots apparaissent fréquemment dans diverses discussions de pointe et applications pratiques, mais pour de nombreux explorateurs novices dans ce domaine, leurs significations spécifiques et leurs connexions internes peuvent encore être entourées de mystère. Alors regardons d'abord cette photo. On constate qu’il existe une corrélation étroite et une relation progressive entre l’apprentissage profond, l’apprentissage automatique et l’intelligence artificielle. Le deep learning est un domaine spécifique du machine learning, et le machine learning

Des bases à la pratique, passez en revue l'historique du développement de la récupération de vecteurs Elasticsearch. Des bases à la pratique, passez en revue l'historique du développement de la récupération de vecteurs Elasticsearch. Oct 23, 2023 pm 05:17 PM

1. Introduction La récupération de vecteurs est devenue un élément essentiel des systèmes modernes de recherche et de recommandation. Il permet une correspondance de requêtes et des recommandations efficaces en convertissant des objets complexes (tels que du texte, des images ou des sons) en vecteurs numériques et en effectuant des recherches de similarité dans des espaces multidimensionnels. Des bases à la pratique, passez en revue l'historique du développement d'Elasticsearch. vector retrieval_elasticsearch En tant que moteur de recherche open source populaire, le développement d'Elasticsearch en matière de récupération de vecteurs a toujours attiré beaucoup d'attention. Cet article passera en revue l'historique du développement de la récupération de vecteurs Elasticsearch, en se concentrant sur les caractéristiques et la progression de chaque étape. En prenant l'historique comme guide, il est pratique pour chacun d'établir une gamme complète de récupération de vecteurs Elasticsearch.

Super fort! Top 10 des algorithmes de deep learning ! Super fort! Top 10 des algorithmes de deep learning ! Mar 15, 2024 pm 03:46 PM

Près de 20 ans se sont écoulés depuis que le concept d'apprentissage profond a été proposé en 2006. L'apprentissage profond, en tant que révolution dans le domaine de l'intelligence artificielle, a donné naissance à de nombreux algorithmes influents. Alors, selon vous, quels sont les 10 meilleurs algorithmes pour l’apprentissage profond ? Voici les meilleurs algorithmes d’apprentissage profond, à mon avis. Ils occupent tous une position importante en termes d’innovation, de valeur d’application et d’influence. 1. Contexte du réseau neuronal profond (DNN) : Le réseau neuronal profond (DNN), également appelé perceptron multicouche, est l'algorithme d'apprentissage profond le plus courant lorsqu'il a été inventé pour la première fois, jusqu'à récemment en raison du goulot d'étranglement de la puissance de calcul. années, puissance de calcul, La percée est venue avec l'explosion des données. DNN est un modèle de réseau neuronal qui contient plusieurs couches cachées. Dans ce modèle, chaque couche transmet l'entrée à la couche suivante et

Comment installer Tensorflow dans Conda Comment installer Tensorflow dans Conda Dec 05, 2023 am 11:26 AM

Étapes d'installation : 1. Téléchargez et installez Miniconda, sélectionnez la version appropriée de Miniconda en fonction du système d'exploitation et installez conformément au guide officiel ; 2. Utilisez la commande "conda create -n tensorflow_env python=3.7" pour créer un nouvel environnement Conda. ; 3. Activez l'environnement Conda ; 4. Utilisez la commande "conda install tensorflow" pour installer la dernière version de TensorFlow ; 5. Vérifiez l'installation.

See all articles