2026-01-12 15:23:19 +01:00

192 lines
17 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: torch in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (2.2.0)\n",
"Requirement already satisfied: torchvision in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (0.17.0)\n",
"Requirement already satisfied: onnx in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (1.15.0)\n",
"Requirement already satisfied: filelock in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from torch) (3.13.1)\n",
"Requirement already satisfied: typing-extensions>=4.8.0 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from torch) (4.9.0)\n",
"Requirement already satisfied: sympy in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from torch) (1.12)\n",
"Requirement already satisfied: networkx in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from torch) (3.2.1)\n",
"Requirement already satisfied: jinja2 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from torch) (3.1.2)\n",
"Requirement already satisfied: fsspec in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from torch) (2023.10.0)\n",
"Requirement already satisfied: numpy in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from torchvision) (1.24.3)\n",
"Requirement already satisfied: requests in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from torchvision) (2.31.0)\n",
"Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from torchvision) (10.1.0)\n",
"Requirement already satisfied: protobuf>=3.20.2 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from onnx) (4.24.0)\n",
"Requirement already satisfied: MarkupSafe>=2.0 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from jinja2->torch) (2.1.3)\n",
"Requirement already satisfied: charset-normalizer<4,>=2 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from requests->torchvision) (3.2.0)\n",
"Requirement already satisfied: idna<4,>=2.5 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from requests->torchvision) (2.10)\n",
"Requirement already satisfied: urllib3<3,>=1.21.1 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from requests->torchvision) (1.26.16)\n",
"Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from requests->torchvision) (2023.7.22)\n",
"Requirement already satisfied: mpmath>=0.19 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from sympy->torch) (1.3.0)\n"
]
}
],
"source": [
"# Ensure you have the torch and onnx libraries installed. If not, you can install them via pip:\n",
"!pip install torch torchvision onnx torch\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# import torch\n",
"import torch\n",
"\n",
"\n",
"#Load your pre-trained PyTorch model (model.pt) into memory\n",
"# Load the PyTorch model\n",
"model = torch.load('https://github.com/enesagu/Object_detection_fastAPI_docker/blob/2c2e0c3cec0c15d4ddd6d0cd35b1d98930c0deb0/Object_Detection_Yolo_with_FastAPI/yolov8n.pt')\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"model: The loaded PyTorch model.\n",
"input_example: An example input tensor used to trace the model. Make sure it has the correct shape and data type.\n",
"'model.onnx': Output file path where the ONNX model will be saved.\n",
"export_params=True: Export model parameters along with the model."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Export the loaded PyTorch model to ONNX format\n",
"# Input example\n",
"input_example = torch.randn(1, 3, 224, 224) # Adjust the input shape accordingly\n",
"\n",
"# Export the model to ONNX\n",
"torch.onnx.export(model, input_example, 'yolov8n.onnx', export_params=True)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Verify the ONNX Model:\n",
"After exporting, you can verify the ONNX model using ONNX tools or libraries. For example:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import onnx\n",
"\n",
"# Load the ONNX model\n",
"onnx_model = onnx.load('yolov8n.onnx')\n",
"\n",
"# Verify the ONNX model\n",
"onnx.checker.check_model(onnx_model)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Convert YOLO model to ONNX"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: ultralytics in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (8.1.9)\n",
"Requirement already satisfied: matplotlib>=3.3.0 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from ultralytics) (3.8.1)\n",
"Requirement already satisfied: numpy>=1.22.2 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from ultralytics) (1.24.3)\n",
"Requirement already satisfied: opencv-python>=4.6.0 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from ultralytics) (4.7.0.72)\n",
"Requirement already satisfied: pillow>=7.1.2 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from ultralytics) (10.1.0)\n",
"Requirement already satisfied: pyyaml>=5.3.1 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from ultralytics) (6.0.1)\n",
"Requirement already satisfied: requests>=2.23.0 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from ultralytics) (2.31.0)\n",
"Requirement already satisfied: scipy>=1.4.1 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from ultralytics) (1.11.3)\n",
"Requirement already satisfied: torch>=1.8.0 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from ultralytics) (2.2.0)\n",
"Requirement already satisfied: torchvision>=0.9.0 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from ultralytics) (0.17.0)\n",
"Requirement already satisfied: tqdm>=4.64.0 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from ultralytics) (4.66.1)\n",
"Requirement already satisfied: psutil in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from ultralytics) (5.9.6)\n",
"Requirement already satisfied: py-cpuinfo in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from ultralytics) (9.0.0)\n",
"Requirement already satisfied: thop>=0.1.1 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from ultralytics) (0.1.1.post2209072238)\n",
"Requirement already satisfied: pandas>=1.1.4 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from ultralytics) (2.1.3)\n",
"Requirement already satisfied: seaborn>=0.11.0 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from ultralytics) (0.13.2)\n",
"Requirement already satisfied: contourpy>=1.0.1 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from matplotlib>=3.3.0->ultralytics) (1.1.1)\n",
"Requirement already satisfied: cycler>=0.10 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from matplotlib>=3.3.0->ultralytics) (0.10.0)\n",
"Requirement already satisfied: fonttools>=4.22.0 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from matplotlib>=3.3.0->ultralytics) (4.43.1)\n",
"Requirement already satisfied: kiwisolver>=1.3.1 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from matplotlib>=3.3.0->ultralytics) (1.4.5)\n",
"Requirement already satisfied: packaging>=20.0 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from matplotlib>=3.3.0->ultralytics) (23.1)\n",
"Requirement already satisfied: pyparsing>=2.3.1 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from matplotlib>=3.3.0->ultralytics) (3.1.1)\n",
"Requirement already satisfied: python-dateutil>=2.7 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from matplotlib>=3.3.0->ultralytics) (2.8.2)\n",
"Requirement already satisfied: pytz>=2020.1 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from pandas>=1.1.4->ultralytics) (2023.3.post1)\n",
"Requirement already satisfied: tzdata>=2022.1 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from pandas>=1.1.4->ultralytics) (2023.3)\n",
"Requirement already satisfied: charset-normalizer<4,>=2 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from requests>=2.23.0->ultralytics) (3.2.0)\n",
"Requirement already satisfied: idna<4,>=2.5 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from requests>=2.23.0->ultralytics) (2.10)\n",
"Requirement already satisfied: urllib3<3,>=1.21.1 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from requests>=2.23.0->ultralytics) (1.26.16)\n",
"Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from requests>=2.23.0->ultralytics) (2023.7.22)\n",
"Requirement already satisfied: filelock in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from torch>=1.8.0->ultralytics) (3.13.1)\n",
"Requirement already satisfied: typing-extensions>=4.8.0 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from torch>=1.8.0->ultralytics) (4.9.0)\n",
"Requirement already satisfied: sympy in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from torch>=1.8.0->ultralytics) (1.12)\n",
"Requirement already satisfied: networkx in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from torch>=1.8.0->ultralytics) (3.2.1)\n",
"Requirement already satisfied: jinja2 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from torch>=1.8.0->ultralytics) (3.1.2)\n",
"Requirement already satisfied: fsspec in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from torch>=1.8.0->ultralytics) (2023.10.0)\n",
"Requirement already satisfied: colorama in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from tqdm>=4.64.0->ultralytics) (0.4.4)\n",
"Requirement already satisfied: six in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from cycler>=0.10->matplotlib>=3.3.0->ultralytics) (1.16.0)\n",
"Requirement already satisfied: MarkupSafe>=2.0 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from jinja2->torch>=1.8.0->ultralytics) (2.1.3)\n",
"Requirement already satisfied: mpmath>=0.19 in c:\\users\\enes-\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\\localcache\\local-packages\\python311\\site-packages (from sympy->torch>=1.8.0->ultralytics) (1.3.0)\n"
]
}
],
"source": [
"!pip install ultralytics\n",
"from ultralytics import YOLO\n",
"\n",
"\n",
"\n",
"model = YOLO('yolov8n.pt') \n",
"model.export(format='onnx') \n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}