0% ont trouvé ce document utile (0 vote)
12 vues2 pages

Torch

Le document décrit le processus de chargement d'un modèle YOLO pré-entraîné, son exportation au format TorchScript, et son utilisation pour l'inférence. Il inclut des instructions pour configurer les paramètres d'exportation tels que la taille d'image et l'utilisation de la demi-précision. Enfin, il montre comment charger et tester le modèle exporté avec un tenseur factice.

Transféré par

touils.khouloud
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 TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
12 vues2 pages

Torch

Le document décrit le processus de chargement d'un modèle YOLO pré-entraîné, son exportation au format TorchScript, et son utilisation pour l'inférence. Il inclut des instructions pour configurer les paramètres d'exportation tels que la taille d'image et l'utilisation de la demi-précision. Enfin, il montre comment charger et tester le modèle exporté avec un tenseur factice.

Transféré par

touils.khouloud
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 TXT, PDF, TXT ou lisez en ligne sur Scribd

sans quantization dynamique :

from ultralytics import YOLO

# Charger ton modèle pré-entraîné


model = YOLO("traffic_light_model.pt")
print("✅ YOLOv11 model loaded successfully")

# Export the model to TorchScript format


model.export(format="torchscript") # creates 'yolo11n.torchscript'

# Load the exported TorchScript model


torchscript_model = YOLO("traffic_light_model.torchscript")

_______________________________________________

from ultralytics import YOLO


import torch

1️⃣ 1 Charger ton modèle YOLOv11 entraîné


1#
print("🔄 Chargement du modèle YOLO traffic_light_model.pt...")
model = YOLO("traffic_light_model.pt")

# (Optionnel) Si tu veux filtrer certaines classes uniquement


# model.set_classes(["green", "red", "yellow"])

2️⃣ Exporter en TorchScript


#
# - imgsz=1280 → taille d'image (changer selon ton entraînement)
# - half=True → poids en float16 pour accélérer sur GPU (Raspberry Pi ne supporte
pas FP16, mettre False sinon)
# - batch=1 → inférence 1 image
# - dynamic=False → graphe statique
print("🔄 Export en TorchScript...")
model.export(

format="torchscript",
imgsz=640, # taille standard YOLOv11
half=False, # mettre True seulement si GPU compatible FP16
batch=1,
dynamic=False
)

3️⃣ Charger le modèle TorchScript exporté


#
print("🔄 Chargement du modèle TorchScript...")
model_ts = torch.jit.load("traffic_light_model.torchscript",
_extra_files={"config.txt": ""})
model_ts.eval()

4️⃣ Exemple d'entrée (5 images factices 640x640)


#
im = torch.zeros((5, 3, 640, 640), dtype=torch.float32, device=torch.device("cpu"))

5️⃣ Inférence avec le modèle TorchScript


#
print("🔄 Lancement de l'inférence TorchScript...")
output = model_ts(im)

print("✅ Inférence terminée.")


print("📦 Type sortie :", type(output))
if isinstance(output, (list, tuple)):
print("📏 Nombre de sorties :", len(output))
for i, out in enumerate(output):
print(f" ➤ Sortie {i+1} → Shape:", getattr(out, "shape", "N/A"))
else:
print("📏 Shape sortie :", output.shape)

_____________________________________________________
import torch
from ultralytics import YOLO

1️⃣ Charger le modèle YOLO


#
model_path = "traffic_light_model.pt" # ton fichier entraîné
model = YOLO(model_path)
print("✅ Modèle YOLO chargé avec succès.")

2️⃣ Exporter en TorchScript (optimisé pour inference)


#
# imgsz=512 → taille de l'image
# half=True → utiliser demi-précision (FP16) pour accélérer sur GPU compatible
exported_model = model.export(
format="torchscript",
imgsz=512,
half=True # mettre True si GPU FP16

print("✅ Modèle exporté :", exported_model)

3️⃣ Charger le modèle TorchScript pour tester


#
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model_ts = torch.jit.load(exported_model, map_location=device)
model_ts.eval()
print("✅ Modèle TorchScript chargé.")

4️⃣ Test rapide avec un tenseur factice


#
dummy_input = torch.zeros((1, 3, 512, 512), dtype=torch.float32).to(device)
with torch.no_grad():
output = model_ts(dummy_input)
print("✅ Inference test OK.")

Vous aimerez peut-être aussi