0% ont trouvé ce document utile (0 vote)
111 vues90 pages

Cours Machine Learning

Le document présente une introduction à Python et à l'intelligence artificielle, en mettant l'accent sur le machine learning et ses applications. Il aborde les différents types d'apprentissage, tels que supervisé, non supervisé et par renforcement, ainsi que les algorithmes associés. Enfin, il explique le fonctionnement des réseaux de neurones et leur utilisation dans le cadre de la régression et de la classification.

Transféré par

gaston01.robe
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
111 vues90 pages

Cours Machine Learning

Le document présente une introduction à Python et à l'intelligence artificielle, en mettant l'accent sur le machine learning et ses applications. Il aborde les différents types d'apprentissage, tels que supervisé, non supervisé et par renforcement, ainsi que les algorithmes associés. Enfin, il explique le fonctionnement des réseaux de neurones et leur utilisation dans le cadre de la régression et de la classification.

Transféré par

gaston01.robe
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 90

Python

Introduction
Les tests, les listes, les tupples, les tableaux,….
Le lien avec des fichiers de données
Les IHM avec Tkinter
Machine learning

http://www.snoeck.fr
Python
IA & Machine learning

Aujourd’hui ?
Python
IA & Machine learning

Aujourd’hui ?

https://www.youtube.com/watch?v=FhVWKttvx6E
Motivations

Les systèmes d’assistance : l’IA générative va venir augmenter l’efficacité des
tâches pratiques, telles que la programmation ou la maintenance des machines,
en générant directement le code nécessaire pour développer des solutions
d’automatisation.

[source : article de bcg.com]


Motivations

Les systèmes d’assistance : l’IA générative va venir augmenter l’efficacité des
tâches pratiques, telles que la programmation ou la maintenance des machines,
en générant directement le code nécessaire pour développer des solutions
d’automatisation.

Les systèmes de recommandation : l’IA générative va fournir des
recommandations pour aider les opérateurs à identifier les meilleures méthodes.
Elle peut notamment améliorer la maintenance prédictive en créant
automatiquement des instructions étape par étape, y compris des listes de pièces
de rechange requises.

[source : article de bcg.com]


Motivations

Les systèmes d’assistance : l’IA générative va venir augmenter l’efficacité des
tâches pratiques, telles que la programmation ou la maintenance des machines,
en générant directement le code nécessaire pour développer des solutions
d’automatisation.

Les systèmes de recommandation : l’IA générative va fournir des
recommandations pour aider les opérateurs à identifier les meilleures méthodes.
Elle peut notamment améliorer la maintenance prédictive en créant
automatiquement des instructions étape par étape, y compris des listes de pièces
de rechange requises.

Les systèmes autonomes : l’IA générative va permettre de s’adapter à des
situations inhabituelles et de favoriser l’auto-régulation. Par exemple, lors du
déploiement autonome de robots, l’IA générative permettra aux robots
multimodaux de traduire les prompts des opérateurs en une séquence d’actions
que le système exécutera ensuite pour effectuer les tâches de manutention.
[source : article de bcg.com]
IA & Motivations
IA RPi5
NPU : Neural Processing Unit

Matlab & PLC


IA & Motivations
IA RPi5
NPU : Neural Processing Unit

Siemens

Caméra Huskylens
IA & Motivations
IA RPi5
NPU : Neural Processing Unit

Siemens

54€

Caméra Huskylens
Python

Machine learning
Machine Learning
Le machine Learning, ou encore l’apprentissage automatique en français, fait
partie de l’une des approches de l’intelligence artificielle.
Machine Learning
Le machine Learning, ou encore l’apprentissage automatique en français, fait
partie de l’une des approches de l’intelligence artificielle.
Le machine Learning est donc une discipline scientifique centrée sur le
développement, l’analyse et l’implémentation de méthodes automatisables, qui
offrent la possibilité à la machine d’évoluer grâce à un processus d’apprentissage.
Il se révèle particulièrement efficace lorsqu’il s’agit d’analyser de larges
ensembles de données diverses et évolutives, ce que l’on nomme communément
le Big Data.
Machine Learning
Le machine Learning, ou encore l’apprentissage automatique en français, fait
partie de l’une des approches de l’intelligence artificielle.
Le machine Learning est donc une discipline scientifique centrée sur le
développement, l’analyse et l’implémentation de méthodes automatisables, qui
offrent la possibilité à la machine d’évoluer grâce à un processus d’apprentissage.
Il se révèle particulièrement efficace lorsqu’il s’agit d’analyser de larges
ensembles de données diverses et évolutives, ce que l’on nomme communément
le Big Data.
Le Machine Learning a de nombreuses applications : en immobilier, en
maintenance, en sécurité, ….
Machine Learning
Le machine Learning, ou encore l’apprentissage automatique en français, fait
partie de l’une des approches de l’intelligence artificielle.
Le machine Learning est donc une discipline scientifique centrée sur le
développement, l’analyse et l’implémentation de méthodes automatisables, qui
offrent la possibilité à la machine d’évoluer grâce à un processus d’apprentissage.
Il se révèle particulièrement efficace lorsqu’il s’agit d’analyser de larges
ensembles de données diverses et évolutives, ce que l’on nomme communément
le Big Data.
Le Machine Learning a de nombreuses applications : en immobilier, en
maintenance, en sécurité, ….
Il existe de nombreuses solutions Open Source et le langage Python, avec son
principal défaut que de cacher des choses, permet justement de simplifier et de
proposer des méthodes toutes faites : c’est l’utilisation de méthode (de sous
programmes)
Machine Learning

Apprentissage supervisé : la prédiction par rapports à
des données d’entrée et quelques données de sortie
(exemple du prix de l’immobilier / (surface, piscine, garage, climatisation, travaux,
proximité des commerces ), les espèces de plantes, les maladies,….)

Apprentissage non supervisé : il n’y a pas de superviseur, pas
d’étiquette : le système apprend seul


Apprentissage par renforcement : basé sur l’expérience. On teste
une action : si elle est réussie, on apprend que c’est possible, si elle est un échec, on
apprend qu’il y a un obstacle (robotique par exemple)
Machine Learning

Apprentissage supervisé : la prédiction par rapports à
des données d’entrée et quelques données de sortie
(exemple du prix de l’immobilier / (surface, piscine, garage, climatisation, travaux,
proximité des commerces ), les espèces de plantes, les maladies,….)

Apprentissage non supervisé : il n’y a pas de superviseur, pas
d’étiquette : le système apprend seul


Apprentissage par renforcement : basé sur l’expérience. On teste
une action : si elle est réussie, on apprend que c’est possible, si elle est un échec, on
apprend qu’il y a un obstacle (robotique par exemple)
Apprentissages supervisés
Voici quelques algorithmes d’apprentissage supervisés :

Arbres de décision

K Nearest Neighbours (k les plus proches voisins)

SVM (machine à vecteur de support)

Naïve Bayes (classification naïve bayésienne)

Les réseaux de neurones artificiels

En apprentissage automatique, on distingue :



La régression linéaire (ou non linéaire) qui est une prédiction d’une
valeur quantitative

La régression logistique qui est une prédiction d’une appartenance à une
classe : c’est une classification.
Apprentissages supervisés
classification

Régression linéaire (droite) ou non linéaire (...) Exemples : Reconnaissance des chiens, des chats, des tumeurs
Exemples : Augmentation de la température de la terre, prix de
l’immobilier, consommation d’énergie en fct de la température
Régression linéaire
Par exemple, basée sur la méthode de l’approximation des moindres carré

y(x) = a.x +b

coefficient de corrélation
Les réseaux de neurones
Les réseaux de neurones

1er neurone artificiel


Les réseaux de neurones

Classification linéaire

Neurone capable d’apprendre


1 neurone artificiel Algorithme de la descente du gradient
er
Les réseaux de neurones
Support Vector Machines

Classification linéaire

Prob. De classification algorithme de rétro-propagation du gradient


Les réseaux de neurones

Classification linéaire

Deep learning

Réseaux de neurones convolutifs


Les réseaux de neurones

Principe de prédicteur
Les réseaux de neurones
Principe de prédicteur pour la régression linéaire
Aujourd’hui : $ = 1,5 x €
Les réseaux de neurones
Principe de prédicteur pour la régression linéaire
Aujourd’hui : $ = 1,5 x €.
1ère itération : Demain : on prédit $ = 1,5 x € mais, $ = 1,1 x €
→ le prédicteur est évalué sur base de l'erreur qu'il commet,
→ le prédicteur est corrigé afin d'améliorer son comportement
Les réseaux de neurones
Principe de prédicteur pour la régression linéaire
Aujourd’hui : $ = 1,5 x €.
1ère itération : Demain : on prédit $ = 1,5 x € mais, $ = 1,1 x €
→ le prédicteur est évalué sur base de l'erreur qu'il commet,
→ le prédicteur est corrigé afin d'améliorer son comportement

2nd itération : Après-demain : on prédit $ = 1,1 x € mais, $ = 1,2 x €


→ le prédicteur est évalué sur base de l'erreur qu'il commet,
→ le prédicteur est corrigé afin d'améliorer son comportement
Les réseaux de neurones
Principe de prédicteur pour la régression linéaire
Aujourd’hui : $ = 1,5 x €.
1ère itération : Demain : on prédit $ = 1,5 x € mais, $ = 1,1 x €
→ le prédicteur est évalué sur base de l'erreur qu'il commet,
→ le prédicteur est corrigé afin d'améliorer son comportement

2nd itération : Après-demain : on prédit $ = 1,1 x € mais, $ = 1,2 x €


→ le prédicteur est évalué sur base de l'erreur qu'il commet,
→ le prédicteur est corrigé afin d'améliorer son comportement

3ème itération : Après-après-demain : on prédit $ = 1,2 x € mais, $ = 1,5 x €


→ le prédicteur est évalué sur base de l'erreur qu'il commet,
→ le prédicteur est corrigé afin d'améliorer son comportement
Les réseaux de neurones
Principe de prédicteur pour la régression linéaire
Aujourd’hui : $ = 1,5 x €.
1ère itération : Demain : on prédit $ = 1,5 x € mais, $ = 1,1 x €
→ le prédicteur est évalué sur base de l'erreur qu'il commet,
→ le prédicteur est corrigé afin d'améliorer son comportement

2nd itération : Après-demain : on prédit $ = 1,1 x € mais, $ = 1,2 x €


→ le prédicteur est évalué sur base de l'erreur qu'il commet,
→ le prédicteur est corrigé afin d'améliorer son comportement

3ème itération : Après-après-demain : on prédit $ = 1,2 x € mais, $ = 1,5 x €


→ le prédicteur est évalué sur base de l'erreur qu'il commet,
→ le prédicteur est corrigé afin d'améliorer son comportement

….
Les réseaux de neurones
Principe de prédicteur pour la régression logistique

y (longueur du cou) = A . x (poids)


Les réseaux de neurones
Principe de prédicteur pour la régression logistique

= opération de seuillage

y (longueur du cou) = A . x (poids)


Les réseaux de neurones

Le neurone
Les réseaux de neurones
Le neurone

Le neurone calcule la somme pondérée de ses entrées puis il la compare par rapport à un seuil.

Si la somme pondérée est supérieure à ce seuil, alors le neurone s’active et sort la valeur 1

Si la somme pondérée est inférieure à ce seuil, alors le neurone se désactive et sort la valeur 0
Les réseaux de neurones
Le neurone

x1, x2, x3 sont les entrées du neurone : ils valent 0 ou 1


Les réseaux de neurones
Le neurone

ω1, ω2, ω3 sont les poids synaptiques : ils peuvent être positifs ou négatifs

x1, x2, x3 sont les entrées du neurone : ils valent 0 ou 1


Les réseaux de neurones
Le neurone

P est le potentiel du neurone

ω1, ω2, ω3 sont les poids synaptiques : ils peuvent être positifs ou négatifs
x1, x2, x3 sont les entrées du neurone : ils valent 0 ou 1
Les réseaux de neurones
Le neurone

P est le potentiel du neurone


θ est le seuil d’activation (ou le biais)
du neurone
ω1, ω2, ω3 sont les poids synaptiques : ils peuvent être positifs ou négatifs
x1, x2, x3 sont les entrées du neurone : ils valent 0 ou 1
Les réseaux de neurones
Le neurone

y est la sortie du neurone


qui vaut 0 ou 1

P est le potentiel du neurone


θ est le seuil d’activation (ou le biais)
du neurone
ω1, ω2, ω3 sont les poids synaptiques : ils peuvent être positifs ou négatifs
x1, x2, x3 sont les entrées du neurone : ils valent 0 ou 1
Les réseaux de neurones
Le neurone

y est la sortie du neurone


qui vaut 0 ou 1

P est le potentiel du neurone


θ est le seuil d’activation (ou le biais)
du neurone
ω1, ω2, ω3 sont les poids synaptiques : ils peuvent être positifs ou négatifs
x1, x2, x3 sont les entrées du neurone : ils valent 0 ou 1
Traiter exemple : x1, x2, x3 = 1 ; 0 ; 1 et ω1, ω2, ω3 = 0,5 ; 1 ; 0,2 et θ = 0,5
Les réseaux de neurones
Le neurone

Voir le site https://playground.tensorflow.org


→ Changer la répartition des données
→ Ajouter des couches cachées
→ Ajouter des neurones
Les réseaux de neurones
Le neurone

b est le biais qui correspond au seuil d’activation θ


σ est la fonction seuil (seuil à 0)
Les réseaux de neurones
Le neurone

La conception d’un réseau de neurones : choix


Couches de neurones
Les réseaux de neurones
Convention de nommage

ω1,2 est le poids synaptique du neurone 1, à l’entrée2


b1 est la place du neurone dans ce réseau
Les réseaux de neurones

ω1,2 est le poids synaptique du neurone 1, à l’entrée 2


b1 est la place du neurone dans ce réseau
Les réseaux de neurones

Expression générique :

Avec i = 1 ou 2 ou 3

ωi,2 est le poids synaptique du neurone i, à l’entrée 2


bi est la place du neurone dans ce réseau
Les réseaux de neurones

Expression générique :

Avec ωi , j i : numéro du neurone de sortie


j : numéro de neurone d’entrée

ωi,j est le poids synaptique du neurone i, à l’entrée j


bi est la place du neurone dans ce réseau
Les réseaux de neurones

Expression générique :

Avec ωi , j i : numéro du neurone de sortie


j : numéro de neurone d’entrée

Et [i] : numéro de la couche du neurone


Les réseaux de neurones

Expression générique :

Avec ωi , j i : numéro du neurone de sortie


j : numéro de neurone d’entrée

Et [i] : numéro de la couche du neurone


Les réseaux de neurones
Les réseaux de neurones
Les réseaux de neurones

Comment apprennent-ils ?
Les réseaux de neurones

y est la sortie du neurone


qui vaut 0 ou 1

P est le potentiel du neurone


θ est le seuil d’activation (ou le biais)
du neurone
ω1, ω2, ω3 sont les poids synaptiques : ils peuvent être positifs ou négatifs
x1, x2, x3 sont les entrées du neurone : ils valent 0 ou 1
Les réseaux de neurones
Cette nouvelle entrée représente le seuil
d’activation (ou le biais) du neurone

y est la sortie du neurone


qui vaut 0 ou 1

P est le potentiel du neurone

ω1, ω2, ω3 sont les poids synaptiques : ils peuvent être positifs ou négatifs
x1, x2, x3 sont les entrées du neurone : ils valent 0 ou 1
Les réseaux de neurones

La fonction logique ET

Comment les réseaux de neurone apprennent-ils cette fonction ?


Les réseaux de neurones
Comment les réseaux de neurone apprennent-ils cette fonction ?

La fonction logique ET

Ici, le réseau dispose de 2 entrées x1 et x2 auxquelles on adjoint une entrée fictive x0 qui
sera en permanence égale à 1. Le réseau disposera donc de 3 éléments de mémoire,
c'est-à-dire les poids synaptiques ω0 , ω1 et ω2 que nous initialisons à 0 pour l'exemple
K=1 Les réseaux de neurones
0

0 0
0 1
0
0
y est la sortie du neurone
qui vaut 0 ou 1

P est le potentiel du neurone

ω1, ω2, ω3 sont les poids synaptiques : ils peuvent être positifs ou négatifs
x1, x2, x3 sont les entrées du neurone : ils valent 0 ou 1
K=1 Les réseaux de neurones
0

0 0
0 1
0
0
y est la sortie du neurone
qui vaut 0 ou 1

P est le potentiel du neurone

0
ω1, ω2, ω3 sont les poids synaptiques : ils peuvent être positifs ou négatifs
x1, x2, x3 sont les entrées du neurone : ils valent 0 ou 1
nb_erreurs++
K=1 Les réseaux de neurones
0

0 0 → -1
-1 1 0
0
0
y est la sortie du neurone
qui vaut 0 ou 1

P est le potentiel du neurone

ω1, ω2, ω3 sont les poids synaptiques : ils peuvent être positifs ou négatifs
x1, x2, x3 sont les entrées du neurone : ils valent 0 ou 1
nb_erreurs=1
K=1 Les réseaux de neurones
0

0 -1
-1 1 0
0
0
y est la sortie du neurone
qui vaut 0 ou 1

P est le potentiel du neurone

ω1, ω2, ω3 sont les poids synaptiques : ils peuvent être positifs ou négatifs
x1, x2, x3 sont les entrées du neurone : ils valent 0 ou 1
nb_erreurs=1
K=2 Les réseaux de neurones
0

0 -1
-1 0
1
0
y est la sortie du neurone
qui vaut 0 ou 1

P est le potentiel du neurone

ω1, ω2, ω3 sont les poids synaptiques : ils peuvent être positifs ou négatifs
x1, x2, x3 sont les entrées du neurone : ils valent 0 ou 1
nb_erreurs=1
K=2 Les réseaux de neurones
0

0 -1
-1
1 0
0
y est la sortie du neurone
qui vaut 0 ou 1

P est le potentiel du neurone

ω1, ω2, ω3 sont les poids synaptiques : ils peuvent être positifs ou négatifs
x1, x2, x3 sont les entrées du neurone : ils valent 0 ou 1
nb_erreurs=1
K=3 Les réseaux de neurones
1

0 -1
-1
0 0
0
y est la sortie du neurone
qui vaut 0 ou 1

P est le potentiel du neurone

ω1, ω2, ω3 sont les poids synaptiques : ils peuvent être positifs ou négatifs
x1, x2, x3 sont les entrées du neurone : ils valent 0 ou 1
nb_erreurs=1
K=3 Les réseaux de neurones
1

0 -1
-1
0 0
0
y est la sortie du neurone
qui vaut 0 ou 1

P est le potentiel du neurone

ω1, ω2, ω3 sont les poids synaptiques : ils peuvent être positifs ou négatifs
x1, x2, x3 sont les entrées du neurone : ils valent 0 ou 1
nb_erreurs=1
K=4 Les réseaux de neurones
1

0 -1
-1
1 0
0
y est la sortie du neurone
qui vaut 0 ou 1

P est le potentiel du neurone

ω1, ω2, ω3 sont les poids synaptiques : ils peuvent être positifs ou négatifs
x1, x2, x3 sont les entrées du neurone : ils valent 0 ou 1
nb_erreurs++
K=4 Les réseaux de neurones
1

0→ 1 -1
1
1
1 0
0→ 1
y est la sortie du neurone
qui vaut 0 ou 1

P est le potentiel du neurone

ω1, ω2, ω3 sont les poids synaptiques : ils peuvent être positifs ou négatifs
x1, x2, x3 sont les entrées du neurone : ils valent 0 ou 1
nb_erreurs=2
K=4 Les réseaux de neurones
1

0→ 1 -1
1
1
1 0
0→ 1
y est la sortie du neurone
qui vaut 0 ou 1

P est le potentiel du neurone

ω1, ω2, ω3 sont les poids synaptiques : ils peuvent être positifs ou négatifs
x1, x2, x3 sont les entrées du neurone : ils valent 0 ou 1
nb_erreurs=2
Les réseaux de neurones
Nous venons de faire la 1ère passe.
Le nombre d’erreurs = 2
Les réseaux de neurones
Nous venons de faire la 1ère passe.
Le nombre d’erreurs = 2
Nous allons refaire des passes afin d’obtenir un
nombre d’erreurs = 0
Les réseaux de neurones
Nous venons de faire la 1ère passe.
Le nombre d’erreurs = 2
Nous allons refaire des passes afin d’obtenir un
nombre d’erreurs = 0
Pour cela, nous allons modifier les poids
synaptique ω0, ω1, et de ω2
La fonction logique ET

2 -3

Il faut 6 passes pour apprendre la fonction ET


Mon cours
TP4.pdf
www.snoeck.fr
→ ADESFA – Python
→ Cameroun : Le sujet du TP & tous les programmes utilisés
YOLO
You Only Look Once
YOLO
YOLO (You Only Look Once), a popular object detection and image segmentation
model, was developed by Joseph Redmon and Ali Farhadi at the University of
Washington. Launched in 2015, YOLO quickly gained popularity for its high speed
and accuracy.

1)YOLOv2, released in 2016, improved the original model by incorporating batch


normalization, anchor boxes, and dimension clusters.
2)YOLOv3, launched in 2018, further enhanced the model's performance using a
more efficient backbone network, multiple anchors and spatial pyramid pooling.
3)YOLOv4 was released in 2020, introducing innovations like Mosaic data
augmentation, a new anchor-free detection head, and a new loss function.
4)YOLOv5 further improved the model's performance and added new features such
as hyperparameter optimization, integrated experiment tracking and automatic
export to popular export formats.
YOLO
5)YOLOv6 was open-sourced by Meituan in 2022 and is in use in many of the company's
autonomous delivery robots.
6)YOLOv7 added additional tasks such as pose estimation on the COCO keypoints
dataset.
7)YOLOv8 released in 2023 by Ultralytics. YOLOv8 introduced new features and
improvements for enhanced performance, flexibility, and efficiency, supporting a full
range of vision AI tasks,
8)YOLOv9 introduces innovative methods like Programmable Gradient Information (PGI)
and the Generalized Efficient Layer Aggregation Network (GELAN).
9)YOLOv10 is created by researchers from Tsinghua University using the Ultralytics
Python package. This version provides real-time object detection advancements by
introducing an End-to-End head that eliminates Non-Maximum Suppression (NMS)
requirements.
10) YOLO11 🚀 NEW: Ultralytics' latest YOLO models delivering state-of-the-art (SOTA)
performance across multiple tasks, including detection, segmentation, pose estimation,
tracking, and classification, leverage capabilities across diverse AI applications and
domains.
sudo apt-get update
sudo apt install python3-pip
sudo pip install scipy
sudo pip install ultralytics opencv-python matplotlib numpy neptune

Pip : gestion des packages python (package installer for Python)


Scipy : algorithmes fondamentaux pour les scientifiques
Ultralytics : c’est Ultralytics YOLO...
Opencv-python : algorithmes fondamentaux pour la vision
Matplotlib : algorithmes fondamentaux pour les mathématiciens
Numpy : algorithmes fondamentaux pour les scientifiques
Neptune : site intéressant (mais pas obligatoire) pour conserver les images
Sources
https://docs.ultralytics.com/ https://playground.tensorflow.org

Alexandre TL sur youtube pour les images

Introduction aux réseaux de neurones artificiels.pdf

https://neptune.ai
import os

Avec une photo


import cv2
import matplotlib.pyplot as plt
import neptune
from ultralytics import YOLO

def init_run(tags=None):
run = neptune.init_run(
project="oliv ah O11",
api_token="eyJhcGlfYWRkc ahahah M6Ly9hcHAubmVwdHVuZS5haSIsImFwaV9rZXkiOiI1MjQ1N2E0NC1kNTA5LTRkNGEtYfQ==",

#project="bexgboost/project",
#api_token=os.getenv("NEPTUNE_API_TOKEN"),
tags=tags,
)
return run

MODEL_NAME = "yolo11n.pt"

model = YOLO(MODEL_NAME)
best_model = YOLO("runs/detect/train/weights/best.pt")

run = init_run(['yolo-detection'])
results = best_model(img1_path)

# Log model configuration


run["model/task"] = model.task
run["model/name"] = MODEL_NAME # Plot and log the results
fig, ax = plt.subplots(figsize=(12, 8))

img1_path = "../Images/crosswalk.jpg"
img2_path = "../Images/pedestrians.jpg" ax.imshow(cv2.cvtColor(results[0].plot(), cv2.COLOR_BGR2RGB))
img3_path = "../Images/INUBIL.jpg" ax.axis("off")
img3_path = "../Images/ChatChien.jpg"

# Upload the image to Neptune


results = model(img3_path) run["predictions/sample"].upload(neptune.types.File.as_image(fig))
#results = model.train(data="coco128.yaml", epochs=5, device="cpu")

plt.show()
import os

Avec la caméra
import cv2
import matplotlib.pyplot as plt
import neptune
from ultralytics import YOLO

def init_run(tags=None):
run = neptune.init_run(
project="olivier-test/tO11",
api_token="eyJhcGlfYWRkcmVzcyI6Imh0dHBzOi8vYXBwLm5lcHR1bsIjoiaHR0cHM6Ly9hcHAubmVwdHVuZS5haSIsImFwaV9rZXkiOiI1MjQ1N2E0NC1kNTA5LTRkNGEtYTY5Zi0wMmM0N2RmYmIzODkifQ==",

#project="bexgboost/project",
#api_token=os.getenv("NEPTUNE_API_TOKEN"),
tags=tags,
)
return run

MODEL_NAME = "yolo11n.pt"

model = YOLO(MODEL_NAME)

run = init_run(['yolo-detection'])

# Log model configuration


run["model/task"] = model.task
run["model/name"] = MODEL_NAME

img1_path = "../Images/crosswalk.jpg"
img2_path = "../Images/pedestrians.jpg"
img3_path = "../Images/INUBIL.jpg"
img3_path = "../Images/ChatChien.jpg"

results = model(img3_path)
#results = model.train(data="coco128.yaml", epochs=5, device="cpu")

Vous aimerez peut-être aussi