This commit is contained in:
parent
b8c9819296
commit
89b4c9ad35
|
|
@ -1,5 +1,5 @@
|
|||
names:
|
||||
0: palmprint
|
||||
path: ./dataset
|
||||
path: ./yolo_seg_1612
|
||||
train: train.txt
|
||||
val: val.txt
|
||||
|
|
|
|||
|
|
@ -9,82 +9,46 @@
|
|||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple\n",
|
||||
"Collecting ultralytics\n",
|
||||
" Downloading https://pypi.tuna.tsinghua.edu.cn/packages/6f/3a/83d0d5544b34cecb0ab447cbda7bd43203489c0966015bbf603f1cc422d9/ultralytics-8.2.102-py3-none-any.whl (874 kB)\n",
|
||||
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m874.8/874.8 kB\u001b[0m \u001b[31m862.9 kB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n",
|
||||
"\u001b[?25hCollecting numpy<2.0.0,>=1.23.0 (from ultralytics)\n",
|
||||
" Using cached https://pypi.tuna.tsinghua.edu.cn/packages/4b/d7/ecf66c1cd12dc28b4040b15ab4d17b773b87fa9d29ca16125de01adb36cd/numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)\n",
|
||||
"Requirement already satisfied: matplotlib>=3.3.0 in ./.venv/lib/python3.10/site-packages (from ultralytics) (3.9.2)\n",
|
||||
"Requirement already satisfied: opencv-python>=4.6.0 in ./.venv/lib/python3.10/site-packages (from ultralytics) (4.10.0.84)\n",
|
||||
"Requirement already satisfied: pillow>=7.1.2 in ./.venv/lib/python3.10/site-packages (from ultralytics) (10.4.0)\n",
|
||||
"Collecting pyyaml>=5.3.1 (from ultralytics)\n",
|
||||
" Using cached https://pypi.tuna.tsinghua.edu.cn/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (751 kB)\n",
|
||||
"Collecting requests>=2.23.0 (from ultralytics)\n",
|
||||
" Using cached https://pypi.tuna.tsinghua.edu.cn/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl (64 kB)\n",
|
||||
"Collecting scipy>=1.4.1 (from ultralytics)\n",
|
||||
" Using cached https://pypi.tuna.tsinghua.edu.cn/packages/47/78/b0c2c23880dd1e99e938ad49ccfb011ae353758a2dc5ed7ee59baff684c3/scipy-1.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (41.2 MB)\n",
|
||||
"Requirement already satisfied: torch>=1.8.0 in ./.venv/lib/python3.10/site-packages (from ultralytics) (2.4.1)\n",
|
||||
"Requirement already satisfied: torchvision>=0.9.0 in ./.venv/lib/python3.10/site-packages (from ultralytics) (0.19.1)\n",
|
||||
"Collecting tqdm>=4.64.0 (from ultralytics)\n",
|
||||
" Using cached https://pypi.tuna.tsinghua.edu.cn/packages/48/5d/acf5905c36149bbaec41ccf7f2b68814647347b72075ac0b1fe3022fdc73/tqdm-4.66.5-py3-none-any.whl (78 kB)\n",
|
||||
"Requirement already satisfied: psutil in ./.venv/lib/python3.10/site-packages (from ultralytics) (6.0.0)\n",
|
||||
"Collecting py-cpuinfo (from ultralytics)\n",
|
||||
" Using cached https://pypi.tuna.tsinghua.edu.cn/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl (22 kB)\n",
|
||||
"Collecting pandas>=1.1.4 (from ultralytics)\n",
|
||||
" Downloading https://pypi.tuna.tsinghua.edu.cn/packages/44/50/7db2cd5e6373ae796f0ddad3675268c8d59fb6076e66f0c339d61cea886b/pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.1 MB)\n",
|
||||
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13.1/13.1 MB\u001b[0m \u001b[31m1.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0mm\n",
|
||||
"\u001b[?25hCollecting seaborn>=0.11.0 (from ultralytics)\n",
|
||||
" Using cached https://pypi.tuna.tsinghua.edu.cn/packages/83/11/00d3c3dfc25ad54e731d91449895a79e4bf2384dc3ac01809010ba88f6d5/seaborn-0.13.2-py3-none-any.whl (294 kB)\n",
|
||||
"Collecting ultralytics-thop>=2.0.0 (from ultralytics)\n",
|
||||
" Downloading https://pypi.tuna.tsinghua.edu.cn/packages/22/4b/126ba8e757f83fb735d44344491a0ebd814ba90eff0639c56ea90e3b71f0/ultralytics_thop-2.0.8-py3-none-any.whl (26 kB)\n",
|
||||
"Requirement already satisfied: contourpy>=1.0.1 in ./.venv/lib/python3.10/site-packages (from matplotlib>=3.3.0->ultralytics) (1.3.0)\n",
|
||||
"Requirement already satisfied: cycler>=0.10 in ./.venv/lib/python3.10/site-packages (from matplotlib>=3.3.0->ultralytics) (0.12.1)\n",
|
||||
"Requirement already satisfied: fonttools>=4.22.0 in ./.venv/lib/python3.10/site-packages (from matplotlib>=3.3.0->ultralytics) (4.54.1)\n",
|
||||
"Requirement already satisfied: kiwisolver>=1.3.1 in ./.venv/lib/python3.10/site-packages (from matplotlib>=3.3.0->ultralytics) (1.4.7)\n",
|
||||
"Requirement already satisfied: packaging>=20.0 in ./.venv/lib/python3.10/site-packages (from matplotlib>=3.3.0->ultralytics) (24.1)\n",
|
||||
"Requirement already satisfied: pyparsing>=2.3.1 in ./.venv/lib/python3.10/site-packages (from matplotlib>=3.3.0->ultralytics) (3.1.4)\n",
|
||||
"Requirement already satisfied: python-dateutil>=2.7 in ./.venv/lib/python3.10/site-packages (from matplotlib>=3.3.0->ultralytics) (2.9.0.post0)\n",
|
||||
"Collecting pytz>=2020.1 (from pandas>=1.1.4->ultralytics)\n",
|
||||
" Downloading https://pypi.tuna.tsinghua.edu.cn/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl (508 kB)\n",
|
||||
"Collecting tzdata>=2022.7 (from pandas>=1.1.4->ultralytics)\n",
|
||||
" Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl (346 kB)\n",
|
||||
"Collecting charset-normalizer<4,>=2 (from requests>=2.23.0->ultralytics)\n",
|
||||
" Using cached https://pypi.tuna.tsinghua.edu.cn/packages/da/f1/3702ba2a7470666a62fd81c58a4c40be00670e5006a67f4d626e57f013ae/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (142 kB)\n",
|
||||
"Collecting idna<4,>=2.5 (from requests>=2.23.0->ultralytics)\n",
|
||||
" Downloading https://pypi.tuna.tsinghua.edu.cn/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl (70 kB)\n",
|
||||
"Collecting urllib3<3,>=1.21.1 (from requests>=2.23.0->ultralytics)\n",
|
||||
" Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl (126 kB)\n",
|
||||
"Collecting certifi>=2017.4.17 (from requests>=2.23.0->ultralytics)\n",
|
||||
" Using cached https://pypi.tuna.tsinghua.edu.cn/packages/12/90/3c9ff0512038035f59d279fddeb79f5f1eccd8859f06d6163c58798b9487/certifi-2024.8.30-py3-none-any.whl (167 kB)\n",
|
||||
"Requirement already satisfied: filelock in ./.venv/lib/python3.10/site-packages (from torch>=1.8.0->ultralytics) (3.16.1)\n",
|
||||
"Requirement already satisfied: typing-extensions>=4.8.0 in ./.venv/lib/python3.10/site-packages (from torch>=1.8.0->ultralytics) (4.12.2)\n",
|
||||
"Requirement already satisfied: sympy in ./.venv/lib/python3.10/site-packages (from torch>=1.8.0->ultralytics) (1.13.3)\n",
|
||||
"Requirement already satisfied: networkx in ./.venv/lib/python3.10/site-packages (from torch>=1.8.0->ultralytics) (3.3)\n",
|
||||
"Requirement already satisfied: jinja2 in ./.venv/lib/python3.10/site-packages (from torch>=1.8.0->ultralytics) (3.1.4)\n",
|
||||
"Requirement already satisfied: fsspec in ./.venv/lib/python3.10/site-packages (from torch>=1.8.0->ultralytics) (2024.9.0)\n",
|
||||
"Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in ./.venv/lib/python3.10/site-packages (from torch>=1.8.0->ultralytics) (12.1.105)\n",
|
||||
"Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in ./.venv/lib/python3.10/site-packages (from torch>=1.8.0->ultralytics) (12.1.105)\n",
|
||||
"Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in ./.venv/lib/python3.10/site-packages (from torch>=1.8.0->ultralytics) (12.1.105)\n",
|
||||
"Requirement already satisfied: nvidia-cudnn-cu12==9.1.0.70 in ./.venv/lib/python3.10/site-packages (from torch>=1.8.0->ultralytics) (9.1.0.70)\n",
|
||||
"Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in ./.venv/lib/python3.10/site-packages (from torch>=1.8.0->ultralytics) (12.1.3.1)\n",
|
||||
"Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in ./.venv/lib/python3.10/site-packages (from torch>=1.8.0->ultralytics) (11.0.2.54)\n",
|
||||
"Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in ./.venv/lib/python3.10/site-packages (from torch>=1.8.0->ultralytics) (10.3.2.106)\n",
|
||||
"Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in ./.venv/lib/python3.10/site-packages (from torch>=1.8.0->ultralytics) (11.4.5.107)\n",
|
||||
"Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in ./.venv/lib/python3.10/site-packages (from torch>=1.8.0->ultralytics) (12.1.0.106)\n",
|
||||
"Requirement already satisfied: nvidia-nccl-cu12==2.20.5 in ./.venv/lib/python3.10/site-packages (from torch>=1.8.0->ultralytics) (2.20.5)\n",
|
||||
"Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in ./.venv/lib/python3.10/site-packages (from torch>=1.8.0->ultralytics) (12.1.105)\n",
|
||||
"Requirement already satisfied: triton==3.0.0 in ./.venv/lib/python3.10/site-packages (from torch>=1.8.0->ultralytics) (3.0.0)\n",
|
||||
"Requirement already satisfied: nvidia-nvjitlink-cu12 in ./.venv/lib/python3.10/site-packages (from nvidia-cusolver-cu12==11.4.5.107->torch>=1.8.0->ultralytics) (12.6.68)\n",
|
||||
"Requirement already satisfied: six>=1.5 in ./.venv/lib/python3.10/site-packages (from python-dateutil>=2.7->matplotlib>=3.3.0->ultralytics) (1.16.0)\n",
|
||||
"Requirement already satisfied: MarkupSafe>=2.0 in ./.venv/lib/python3.10/site-packages (from jinja2->torch>=1.8.0->ultralytics) (2.1.5)\n",
|
||||
"Requirement already satisfied: mpmath<1.4,>=1.1.0 in ./.venv/lib/python3.10/site-packages (from sympy->torch>=1.8.0->ultralytics) (1.3.0)\n",
|
||||
"Installing collected packages: pytz, py-cpuinfo, urllib3, tzdata, tqdm, pyyaml, numpy, idna, charset-normalizer, certifi, scipy, requests, pandas, ultralytics-thop, seaborn, ultralytics\n",
|
||||
" Attempting uninstall: numpy\n",
|
||||
" Found existing installation: numpy 2.1.1\n",
|
||||
" Uninstalling numpy-2.1.1:\n",
|
||||
" Successfully uninstalled numpy-2.1.1\n",
|
||||
"Successfully installed certifi-2024.8.30 charset-normalizer-3.3.2 idna-3.10 numpy-1.26.4 pandas-2.2.3 py-cpuinfo-9.0.0 pytz-2024.2 pyyaml-6.0.2 requests-2.32.3 scipy-1.14.1 seaborn-0.13.2 tqdm-4.66.5 tzdata-2024.2 ultralytics-8.2.102 ultralytics-thop-2.0.8 urllib3-2.2.3\n",
|
||||
"Looking in indexes: https://mirrors.aliyun.com/pypi/simple\n",
|
||||
"Requirement already satisfied: ultralytics in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (8.2.102)\n",
|
||||
"Requirement already satisfied: numpy<2.0.0,>=1.23.0 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from ultralytics) (1.26.4)\n",
|
||||
"Requirement already satisfied: matplotlib>=3.3.0 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from ultralytics) (3.9.2)\n",
|
||||
"Requirement already satisfied: opencv-python>=4.6.0 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from ultralytics) (4.10.0.84)\n",
|
||||
"Requirement already satisfied: pillow>=7.1.2 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from ultralytics) (10.4.0)\n",
|
||||
"Requirement already satisfied: pyyaml>=5.3.1 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from ultralytics) (6.0.2)\n",
|
||||
"Requirement already satisfied: requests>=2.23.0 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from ultralytics) (2.32.3)\n",
|
||||
"Requirement already satisfied: scipy>=1.4.1 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from ultralytics) (1.14.1)\n",
|
||||
"Requirement already satisfied: torch>=1.8.0 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from ultralytics) (2.4.1)\n",
|
||||
"Requirement already satisfied: torchvision>=0.9.0 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from ultralytics) (0.19.1)\n",
|
||||
"Requirement already satisfied: tqdm>=4.64.0 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from ultralytics) (4.66.5)\n",
|
||||
"Requirement already satisfied: psutil in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from ultralytics) (6.0.0)\n",
|
||||
"Requirement already satisfied: py-cpuinfo in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from ultralytics) (9.0.0)\n",
|
||||
"Requirement already satisfied: pandas>=1.1.4 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from ultralytics) (2.2.3)\n",
|
||||
"Requirement already satisfied: seaborn>=0.11.0 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from ultralytics) (0.13.2)\n",
|
||||
"Requirement already satisfied: ultralytics-thop>=2.0.0 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from ultralytics) (2.0.8)\n",
|
||||
"Requirement already satisfied: contourpy>=1.0.1 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from matplotlib>=3.3.0->ultralytics) (1.3.0)\n",
|
||||
"Requirement already satisfied: cycler>=0.10 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from matplotlib>=3.3.0->ultralytics) (0.12.1)\n",
|
||||
"Requirement already satisfied: fonttools>=4.22.0 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from matplotlib>=3.3.0->ultralytics) (4.54.1)\n",
|
||||
"Requirement already satisfied: kiwisolver>=1.3.1 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from matplotlib>=3.3.0->ultralytics) (1.4.7)\n",
|
||||
"Requirement already satisfied: packaging>=20.0 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from matplotlib>=3.3.0->ultralytics) (24.1)\n",
|
||||
"Requirement already satisfied: pyparsing>=2.3.1 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from matplotlib>=3.3.0->ultralytics) (3.1.4)\n",
|
||||
"Requirement already satisfied: python-dateutil>=2.7 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from matplotlib>=3.3.0->ultralytics) (2.9.0.post0)\n",
|
||||
"Requirement already satisfied: pytz>=2020.1 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from pandas>=1.1.4->ultralytics) (2024.2)\n",
|
||||
"Requirement already satisfied: tzdata>=2022.7 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from pandas>=1.1.4->ultralytics) (2024.2)\n",
|
||||
"Requirement already satisfied: charset-normalizer<4,>=2 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from requests>=2.23.0->ultralytics) (3.3.2)\n",
|
||||
"Requirement already satisfied: idna<4,>=2.5 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from requests>=2.23.0->ultralytics) (3.10)\n",
|
||||
"Requirement already satisfied: urllib3<3,>=1.21.1 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from requests>=2.23.0->ultralytics) (2.2.3)\n",
|
||||
"Requirement already satisfied: certifi>=2017.4.17 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from requests>=2.23.0->ultralytics) (2024.8.30)\n",
|
||||
"Requirement already satisfied: filelock in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from torch>=1.8.0->ultralytics) (3.16.1)\n",
|
||||
"Requirement already satisfied: typing-extensions>=4.8.0 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from torch>=1.8.0->ultralytics) (4.12.2)\n",
|
||||
"Requirement already satisfied: sympy in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from torch>=1.8.0->ultralytics) (1.13.3)\n",
|
||||
"Requirement already satisfied: networkx in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from torch>=1.8.0->ultralytics) (3.3)\n",
|
||||
"Requirement already satisfied: jinja2 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from torch>=1.8.0->ultralytics) (3.1.4)\n",
|
||||
"Requirement already satisfied: fsspec in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from torch>=1.8.0->ultralytics) (2024.9.0)\n",
|
||||
"Requirement already satisfied: colorama in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from tqdm>=4.64.0->ultralytics) (0.4.6)\n",
|
||||
"Requirement already satisfied: six>=1.5 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from python-dateutil>=2.7->matplotlib>=3.3.0->ultralytics) (1.16.0)\n",
|
||||
"Requirement already satisfied: MarkupSafe>=2.0 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from jinja2->torch>=1.8.0->ultralytics) (2.1.5)\n",
|
||||
"Requirement already satisfied: mpmath<1.4,>=1.1.0 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from sympy->torch>=1.8.0->ultralytics) (1.3.0)\n",
|
||||
"Note: you may need to restart the kernel to use updated packages.\n"
|
||||
]
|
||||
}
|
||||
|
|
@ -97,17 +61,7 @@
|
|||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Creating new Ultralytics Settings v0.0.6 file ✅ \n",
|
||||
"View Ultralytics Settings with 'yolo settings' or at '/home/moweilin/.config/Ultralytics/settings.json'\n",
|
||||
"Update Settings with 'yolo settings key=value', i.e. 'yolo settings runs_dir=path/to/dir'. For help see https://docs.ultralytics.com/quickstart/#ultralytics-settings.\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"from ultralytics import YOLO\n"
|
||||
]
|
||||
|
|
@ -123,22 +77,7 @@
|
|||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Downloading https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8n-seg.pt to 'yolov8n-seg.pt'...\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"100%|██████████| 6.74M/6.74M [00:15<00:00, 463kB/s]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"\n",
|
||||
"# Load a model\n",
|
||||
|
|
@ -154,35 +93,167 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"execution_count": 6,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Ultralytics YOLOv8.2.102 🚀 Python-3.10.12 torch-2.4.1+cu121 CUDA:0 (Tesla T4, 14931MiB)\n",
|
||||
"\u001b[34m\u001b[1mengine/trainer: \u001b[0mtask=segment, mode=train, model=yolov8n-seg.pt, data=data.yaml, epochs=1, time=None, patience=100, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=train6, exist_ok=False, pretrained=True, optimizer=auto, verbose=True, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=False, freeze=None, multi_scale=False, overlap_mask=True, mask_ratio=4, dropout=0.0, val=True, split=val, save_json=False, save_hybrid=False, conf=None, iou=0.7, max_det=300, half=False, dnn=False, plots=True, source=None, vid_stride=1, stream_buffer=False, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, embed=None, show=False, save_frames=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, show_boxes=True, line_width=None, format=torchscript, keras=False, optimize=False, int8=False, dynamic=False, simplify=True, opset=None, workspace=4, nms=False, lr0=0.01, lrf=0.01, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=7.5, cls=0.5, dfl=1.5, pose=12.0, kobj=1.0, label_smoothing=0.0, nbs=64, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.1, scale=0.5, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, bgr=0.0, mosaic=1.0, mixup=0.0, copy_paste=0.0, auto_augment=randaugment, erasing=0.4, crop_fraction=1.0, cfg=None, tracker=botsort.yaml, save_dir=/home/moweilin/projects/palmprint-recognition/runs/segment/train6\n"
|
||||
"Ultralytics YOLOv8.2.102 Python-3.10.11 torch-2.4.1+cpu CPU (AMD Ryzen 7 5700G with Radeon Graphics)\n",
|
||||
"\u001b[34m\u001b[1mengine\\trainer: \u001b[0mtask=segment, mode=train, model=yolov8n-seg.pt, data=data.yaml, epochs=1, time=None, patience=100, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=train8, exist_ok=False, pretrained=True, optimizer=auto, verbose=True, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=False, freeze=None, multi_scale=False, overlap_mask=True, mask_ratio=4, dropout=0.0, val=True, split=val, save_json=False, save_hybrid=False, conf=None, iou=0.7, max_det=300, half=False, dnn=False, plots=True, source=None, vid_stride=1, stream_buffer=False, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, embed=None, show=False, save_frames=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, show_boxes=True, line_width=None, format=torchscript, keras=False, optimize=False, int8=False, dynamic=False, simplify=True, opset=None, workspace=4, nms=False, lr0=0.01, lrf=0.01, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=7.5, cls=0.5, dfl=1.5, pose=12.0, kobj=1.0, label_smoothing=0.0, nbs=64, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.1, scale=0.5, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, bgr=0.0, mosaic=1.0, mixup=0.0, copy_paste=0.0, auto_augment=randaugment, erasing=0.4, crop_fraction=1.0, cfg=None, tracker=botsort.yaml, save_dir=d:\\Projects\\test\\palmprint-recognition\\runs\\segment\\train8\n",
|
||||
"\n",
|
||||
" from n params module arguments \n",
|
||||
" 0 -1 1 464 ultralytics.nn.modules.conv.Conv [3, 16, 3, 2] \n",
|
||||
" 1 -1 1 4672 ultralytics.nn.modules.conv.Conv [16, 32, 3, 2] \n",
|
||||
" 2 -1 1 7360 ultralytics.nn.modules.block.C2f [32, 32, 1, True] \n",
|
||||
" 3 -1 1 18560 ultralytics.nn.modules.conv.Conv [32, 64, 3, 2] \n",
|
||||
" 4 -1 2 49664 ultralytics.nn.modules.block.C2f [64, 64, 2, True] \n",
|
||||
" 5 -1 1 73984 ultralytics.nn.modules.conv.Conv [64, 128, 3, 2] \n",
|
||||
" 6 -1 2 197632 ultralytics.nn.modules.block.C2f [128, 128, 2, True] \n",
|
||||
" 7 -1 1 295424 ultralytics.nn.modules.conv.Conv [128, 256, 3, 2] \n",
|
||||
" 8 -1 1 460288 ultralytics.nn.modules.block.C2f [256, 256, 1, True] \n",
|
||||
" 9 -1 1 164608 ultralytics.nn.modules.block.SPPF [256, 256, 5] \n",
|
||||
" 10 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
|
||||
" 11 [-1, 6] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 12 -1 1 148224 ultralytics.nn.modules.block.C2f [384, 128, 1] \n",
|
||||
" 13 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n",
|
||||
" 14 [-1, 4] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 15 -1 1 37248 ultralytics.nn.modules.block.C2f [192, 64, 1] \n",
|
||||
" 16 -1 1 36992 ultralytics.nn.modules.conv.Conv [64, 64, 3, 2] \n",
|
||||
" 17 [-1, 12] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 18 -1 1 123648 ultralytics.nn.modules.block.C2f [192, 128, 1] \n",
|
||||
" 19 -1 1 147712 ultralytics.nn.modules.conv.Conv [128, 128, 3, 2] \n",
|
||||
" 20 [-1, 9] 1 0 ultralytics.nn.modules.conv.Concat [1] \n",
|
||||
" 21 -1 1 493056 ultralytics.nn.modules.block.C2f [384, 256, 1] \n",
|
||||
" 22 [15, 18, 21] 1 1004275 ultralytics.nn.modules.head.Segment [1, 32, 64, [64, 128, 256]] \n",
|
||||
"YOLOv8n-seg summary: 261 layers, 3,263,811 parameters, 3,263,795 gradients, 12.1 GFLOPs\n",
|
||||
"\n",
|
||||
"Transferred 417/417 items from pretrained weights\n",
|
||||
"Freezing layer 'model.22.dfl.conv.weight'\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"ename": "RuntimeError",
|
||||
"evalue": "Dataset 'data.yaml' error ❌ \nDataset 'data.yaml' images not found ⚠️, missing path '/home/moweilin/projects/datasets/dataset/val.txt'\nNote dataset download directory is '/home/moweilin/projects/datasets'. You can update this in '/home/moweilin/.config/Ultralytics/settings.json'",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||
"\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)",
|
||||
"File \u001b[0;32m~/projects/palmprint-recognition/.venv/lib/python3.10/site-packages/ultralytics/engine/trainer.py:557\u001b[0m, in \u001b[0;36mBaseTrainer.get_dataset\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 551\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39margs\u001b[38;5;241m.\u001b[39mdata\u001b[38;5;241m.\u001b[39msplit(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m\"\u001b[39m)[\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m] \u001b[38;5;129;01min\u001b[39;00m {\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124myaml\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124myml\u001b[39m\u001b[38;5;124m\"\u001b[39m} \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39margs\u001b[38;5;241m.\u001b[39mtask \u001b[38;5;129;01min\u001b[39;00m {\n\u001b[1;32m 552\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdetect\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 553\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124msegment\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 554\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mpose\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 555\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mobb\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 556\u001b[0m }:\n\u001b[0;32m--> 557\u001b[0m data \u001b[38;5;241m=\u001b[39m \u001b[43mcheck_det_dataset\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43margs\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdata\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 558\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124myaml_file\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01min\u001b[39;00m data:\n",
|
||||
"File \u001b[0;32m~/projects/palmprint-recognition/.venv/lib/python3.10/site-packages/ultralytics/data/utils.py:328\u001b[0m, in \u001b[0;36mcheck_det_dataset\u001b[0;34m(dataset, autodownload)\u001b[0m\n\u001b[1;32m 327\u001b[0m m \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124mNote dataset download directory is \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mDATASETS_DIR\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m. You can update this in \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mSETTINGS_FILE\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m--> 328\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mFileNotFoundError\u001b[39;00m(m)\n\u001b[1;32m 329\u001b[0m t \u001b[38;5;241m=\u001b[39m time\u001b[38;5;241m.\u001b[39mtime()\n",
|
||||
"\u001b[0;31mFileNotFoundError\u001b[0m: \nDataset 'data.yaml' images not found ⚠️, missing path '/home/moweilin/projects/datasets/dataset/val.txt'\nNote dataset download directory is '/home/moweilin/projects/datasets'. You can update this in '/home/moweilin/.config/Ultralytics/settings.json'",
|
||||
"\nThe above exception was the direct cause of the following exception:\n",
|
||||
"\u001b[0;31mRuntimeError\u001b[0m Traceback (most recent call last)",
|
||||
"Cell \u001b[0;32mIn[9], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# Train the model\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m results \u001b[38;5;241m=\u001b[39m \u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtrain\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdata.yaml\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mepochs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mimgsz\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m640\u001b[39;49m\u001b[43m)\u001b[49m\n",
|
||||
"File \u001b[0;32m~/projects/palmprint-recognition/.venv/lib/python3.10/site-packages/ultralytics/engine/model.py:797\u001b[0m, in \u001b[0;36mModel.train\u001b[0;34m(self, trainer, **kwargs)\u001b[0m\n\u001b[1;32m 794\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m args\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mresume\u001b[39m\u001b[38;5;124m\"\u001b[39m):\n\u001b[1;32m 795\u001b[0m args[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mresume\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mckpt_path\n\u001b[0;32m--> 797\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtrainer \u001b[38;5;241m=\u001b[39m \u001b[43m(\u001b[49m\u001b[43mtrainer\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01mor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_smart_load\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtrainer\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\u001b[43moverrides\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m_callbacks\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcallbacks\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 798\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m args\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mresume\u001b[39m\u001b[38;5;124m\"\u001b[39m): \u001b[38;5;66;03m# manually set model only if not resuming\u001b[39;00m\n\u001b[1;32m 799\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtrainer\u001b[38;5;241m.\u001b[39mmodel \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtrainer\u001b[38;5;241m.\u001b[39mget_model(weights\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodel \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mckpt \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m, cfg\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodel\u001b[38;5;241m.\u001b[39myaml)\n",
|
||||
"File \u001b[0;32m~/projects/palmprint-recognition/.venv/lib/python3.10/site-packages/ultralytics/models/yolo/segment/train.py:30\u001b[0m, in \u001b[0;36mSegmentationTrainer.__init__\u001b[0;34m(self, cfg, overrides, _callbacks)\u001b[0m\n\u001b[1;32m 28\u001b[0m overrides \u001b[38;5;241m=\u001b[39m {}\n\u001b[1;32m 29\u001b[0m overrides[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtask\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124msegment\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m---> 30\u001b[0m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__init__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mcfg\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43moverrides\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m_callbacks\u001b[49m\u001b[43m)\u001b[49m\n",
|
||||
"File \u001b[0;32m~/projects/palmprint-recognition/.venv/lib/python3.10/site-packages/ultralytics/engine/trainer.py:133\u001b[0m, in \u001b[0;36mBaseTrainer.__init__\u001b[0;34m(self, cfg, overrides, _callbacks)\u001b[0m\n\u001b[1;32m 131\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodel \u001b[38;5;241m=\u001b[39m check_model_file_from_stem(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39margs\u001b[38;5;241m.\u001b[39mmodel) \u001b[38;5;66;03m# add suffix, i.e. yolov8n -> yolov8n.pt\u001b[39;00m\n\u001b[1;32m 132\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m torch_distributed_zero_first(LOCAL_RANK): \u001b[38;5;66;03m# avoid auto-downloading dataset multiple times\u001b[39;00m\n\u001b[0;32m--> 133\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtrainset, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtestset \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_dataset\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 134\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mema \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 136\u001b[0m \u001b[38;5;66;03m# Optimization utils init\u001b[39;00m\n",
|
||||
"File \u001b[0;32m~/projects/palmprint-recognition/.venv/lib/python3.10/site-packages/ultralytics/engine/trainer.py:561\u001b[0m, in \u001b[0;36mBaseTrainer.get_dataset\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 559\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39margs\u001b[38;5;241m.\u001b[39mdata \u001b[38;5;241m=\u001b[39m data[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124myaml_file\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;66;03m# for validating 'yolo train data=url.zip' usage\u001b[39;00m\n\u001b[1;32m 560\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[0;32m--> 561\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mRuntimeError\u001b[39;00m(emojis(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mDataset \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mclean_url(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39margs\u001b[38;5;241m.\u001b[39mdata)\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m error ❌ \u001b[39m\u001b[38;5;132;01m{\u001b[39;00me\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01me\u001b[39;00m\n\u001b[1;32m 562\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdata \u001b[38;5;241m=\u001b[39m data\n\u001b[1;32m 563\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m data[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtrain\u001b[39m\u001b[38;5;124m\"\u001b[39m], data\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mval\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;129;01mor\u001b[39;00m data\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtest\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
|
||||
"\u001b[0;31mRuntimeError\u001b[0m: Dataset 'data.yaml' error ❌ \nDataset 'data.yaml' images not found ⚠️, missing path '/home/moweilin/projects/datasets/dataset/val.txt'\nNote dataset download directory is '/home/moweilin/projects/datasets'. You can update this in '/home/moweilin/.config/Ultralytics/settings.json'"
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0mScanning images\\train\\Birjand University Mobile Palmprint Database (BMPD)\\001... 0 images, 1289 backgrounds, 0 corrupt: 100%|██████████| 1289/1289 [00:01<00:00, 880.89it/s]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0mWARNING No labels found in images\\train\\Birjand University Mobile Palmprint Database (BMPD)\\001.cache. See https://docs.ultralytics.com/datasets for dataset formatting guidance.\n",
|
||||
"\u001b[34m\u001b[1mtrain: \u001b[0mNew cache created: images\\train\\Birjand University Mobile Palmprint Database (BMPD)\\001.cache\n",
|
||||
"WARNING No labels found in images\\train\\Birjand University Mobile Palmprint Database (BMPD)\\001.cache, training may not work correctly. See https://docs.ultralytics.com/datasets for dataset formatting guidance.\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0mScanning images\\val\\Birjand University Mobile Palmprint Database (BMPD)\\001... 0 images, 323 backgrounds, 0 corrupt: 100%|██████████| 323/323 [00:00<00:00, 873.37it/s]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\u001b[34m\u001b[1mval: \u001b[0mWARNING No labels found in images\\val\\Birjand University Mobile Palmprint Database (BMPD)\\001.cache. See https://docs.ultralytics.com/datasets for dataset formatting guidance.\n",
|
||||
"\u001b[34m\u001b[1mval: \u001b[0mNew cache created: images\\val\\Birjand University Mobile Palmprint Database (BMPD)\\001.cache\n",
|
||||
"WARNING No labels found in images\\val\\Birjand University Mobile Palmprint Database (BMPD)\\001.cache, training may not work correctly. See https://docs.ultralytics.com/datasets for dataset formatting guidance.\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Plotting labels to d:\\Projects\\test\\palmprint-recognition\\runs\\segment\\train8\\labels.jpg... \n",
|
||||
"zero-size array to reduction operation maximum which has no identity\n",
|
||||
"\u001b[34m\u001b[1moptimizer:\u001b[0m 'optimizer=auto' found, ignoring 'lr0=0.01' and 'momentum=0.937' and determining best 'optimizer', 'lr0' and 'momentum' automatically... \n",
|
||||
"\u001b[34m\u001b[1moptimizer:\u001b[0m AdamW(lr=0.002, momentum=0.9) with parameter groups 66 weight(decay=0.0), 77 weight(decay=0.0005), 76 bias(decay=0.0)\n",
|
||||
"Image sizes 640 train, 640 val\n",
|
||||
"Using 0 dataloader workers\n",
|
||||
"Logging results to \u001b[1md:\\Projects\\test\\palmprint-recognition\\runs\\segment\\train8\u001b[0m\n",
|
||||
"Starting training for 1 epochs...\n",
|
||||
"\n",
|
||||
" Epoch GPU_mem box_loss seg_loss cls_loss dfl_loss Instances Size\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" 1/1 0G 0 0 89.74 0 0 640: 100%|██████████| 81/81 [12:26<00:00, 9.21s/it]\n",
|
||||
" Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100%|██████████| 11/11 [01:27<00:00, 8.00s/it]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" all 323 0 0 0 0 0 0 0 0 0\n",
|
||||
"WARNING no labels found in segment set, can not compute metrics without labels\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n",
|
||||
"1 epochs completed in 0.232 hours.\n",
|
||||
"Optimizer stripped from d:\\Projects\\test\\palmprint-recognition\\runs\\segment\\train8\\weights\\last.pt, 6.8MB\n",
|
||||
"Optimizer stripped from d:\\Projects\\test\\palmprint-recognition\\runs\\segment\\train8\\weights\\best.pt, 6.8MB\n",
|
||||
"\n",
|
||||
"Validating d:\\Projects\\test\\palmprint-recognition\\runs\\segment\\train8\\weights\\best.pt...\n",
|
||||
"Ultralytics YOLOv8.2.102 Python-3.10.11 torch-2.4.1+cpu CPU (AMD Ryzen 7 5700G with Radeon Graphics)\n",
|
||||
"YOLOv8n-seg summary (fused): 195 layers, 3,258,259 parameters, 0 gradients, 12.0 GFLOPs\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100%|██████████| 11/11 [01:19<00:00, 7.27s/it]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" all 323 0 0 0 0 0 0 0 0 0\n",
|
||||
"WARNING no labels found in segment set, can not compute metrics without labels\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Speed: 3.2ms preprocess, 127.8ms inference, 0.0ms loss, 4.8ms postprocess per image\n",
|
||||
"Results saved to \u001b[1md:\\Projects\\test\\palmprint-recognition\\runs\\segment\\train8\u001b[0m\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
@ -207,9 +278,73 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"execution_count": 7,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Ultralytics YOLOv8.2.102 Python-3.10.11 torch-2.4.1+cpu CPU (AMD Ryzen 7 5700G with Radeon Graphics)\n",
|
||||
"YOLOv8n-seg summary (fused): 195 layers, 3,258,259 parameters, 0 gradients, 12.0 GFLOPs\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\u001b[34m\u001b[1mval: \u001b[0mScanning images\\val\\Birjand University Mobile Palmprint Database (BMPD)\\001.cache... 0 images, 323 backgrounds, 0 corrupt: 100%|██████████| 323/323 [00:00<?, ?it/s]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"WARNING No labels found in images\\val\\Birjand University Mobile Palmprint Database (BMPD)\\001.cache, training may not work correctly. See https://docs.ultralytics.com/datasets for dataset formatting guidance.\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n",
|
||||
" Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100%|██████████| 21/21 [01:16<00:00, 3.66s/it]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" all 323 0 0 0 0 0 0 0 0 0\n",
|
||||
"WARNING no labels found in segment set, can not compute metrics without labels\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Speed: 3.0ms preprocess, 116.4ms inference, 0.0ms loss, 4.8ms postprocess per image\n",
|
||||
"Results saved to \u001b[1md:\\Projects\\test\\palmprint-recognition\\runs\\segment\\train82\u001b[0m\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"array([], dtype=float64)"
|
||||
]
|
||||
},
|
||||
"execution_count": 7,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Load a model\n",
|
||||
"# model = YOLO(\"yolov8n-seg.pt\") # load an official model\n",
|
||||
|
|
@ -236,16 +371,26 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"execution_count": 9,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"\n",
|
||||
"image 1/1 d:\\Projects\\test\\palmprint-recognition\\2.jpg: 640x480 (no detections), 64.5ms\n",
|
||||
"Speed: 5.0ms preprocess, 64.5ms inference, 0.0ms postprocess per image at shape (1, 3, 640, 480)\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Load a model\n",
|
||||
"# model = YOLO(\"yolov8n-seg.pt\") # load an official model\n",
|
||||
"# model = YOLO(\"path/to/best.pt\") # load a custom model\n",
|
||||
"\n",
|
||||
"# Predict with the model\n",
|
||||
"results = model(\"https://ultralytics.com/images/bus.jpg\") "
|
||||
"results = model(\"2.jpg\") "
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -281,7 +426,7 @@
|
|||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.12"
|
||||
"version": "3.10.11"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,376 @@
|
|||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 54,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import os\n",
|
||||
"import re"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 55,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"origin_data_dir = os.path.normpath(\"./dataset/origin/yolo_seg_1612\")\n",
|
||||
"target_data_dir = os.path.normpath(os.path.join(\"../datasets/\",\"yolo_seg_1612\"))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 56,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Looking in indexes: https://mirrors.aliyun.com/pypi/simple\n",
|
||||
"Requirement already satisfied: pandas in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (2.2.3)\n",
|
||||
"Requirement already satisfied: scikit-learn in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (1.5.2)\n",
|
||||
"Requirement already satisfied: numpy>=1.22.4 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from pandas) (1.26.4)\n",
|
||||
"Requirement already satisfied: python-dateutil>=2.8.2 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from pandas) (2.9.0.post0)\n",
|
||||
"Requirement already satisfied: pytz>=2020.1 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from pandas) (2024.2)\n",
|
||||
"Requirement already satisfied: tzdata>=2022.7 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from pandas) (2024.2)\n",
|
||||
"Requirement already satisfied: scipy>=1.6.0 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from scikit-learn) (1.14.1)\n",
|
||||
"Requirement already satisfied: joblib>=1.2.0 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from scikit-learn) (1.4.2)\n",
|
||||
"Requirement already satisfied: threadpoolctl>=3.1.0 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from scikit-learn) (3.5.0)\n",
|
||||
"Requirement already satisfied: six>=1.5 in d:\\projects\\test\\palmprint-recognition\\.venv\\lib\\site-packages (from python-dateutil>=2.8.2->pandas) (1.16.0)\n",
|
||||
"Note: you may need to restart the kernel to use updated packages.\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"%pip install pandas scikit-learn"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 57,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import pandas as pd\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 58,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/html": [
|
||||
"<div>\n",
|
||||
"<style scoped>\n",
|
||||
" .dataframe tbody tr th:only-of-type {\n",
|
||||
" vertical-align: middle;\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" .dataframe tbody tr th {\n",
|
||||
" vertical-align: top;\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" .dataframe thead th {\n",
|
||||
" text-align: right;\n",
|
||||
" }\n",
|
||||
"</style>\n",
|
||||
"<table border=\"1\" class=\"dataframe\">\n",
|
||||
" <thead>\n",
|
||||
" <tr style=\"text-align: right;\">\n",
|
||||
" <th></th>\n",
|
||||
" <th>0</th>\n",
|
||||
" </tr>\n",
|
||||
" </thead>\n",
|
||||
" <tbody>\n",
|
||||
" <tr>\n",
|
||||
" <th>0</th>\n",
|
||||
" <td>data/images/train/Birjand University Mobile Pa...</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>1</th>\n",
|
||||
" <td>data/images/train/Birjand University Mobile Pa...</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>2</th>\n",
|
||||
" <td>data/images/train/Birjand University Mobile Pa...</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>3</th>\n",
|
||||
" <td>data/images/train/Birjand University Mobile Pa...</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>4</th>\n",
|
||||
" <td>data/images/train/Birjand University Mobile Pa...</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>...</th>\n",
|
||||
" <td>...</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>1607</th>\n",
|
||||
" <td>data/images/train/Birjand University Mobile Pa...</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>1608</th>\n",
|
||||
" <td>data/images/train/Birjand University Mobile Pa...</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>1609</th>\n",
|
||||
" <td>data/images/train/Birjand University Mobile Pa...</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>1610</th>\n",
|
||||
" <td>data/images/train/Birjand University Mobile Pa...</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>1611</th>\n",
|
||||
" <td>data/images/train/Birjand University Mobile Pa...</td>\n",
|
||||
" </tr>\n",
|
||||
" </tbody>\n",
|
||||
"</table>\n",
|
||||
"<p>1612 rows × 1 columns</p>\n",
|
||||
"</div>"
|
||||
],
|
||||
"text/plain": [
|
||||
" 0\n",
|
||||
"0 data/images/train/Birjand University Mobile Pa...\n",
|
||||
"1 data/images/train/Birjand University Mobile Pa...\n",
|
||||
"2 data/images/train/Birjand University Mobile Pa...\n",
|
||||
"3 data/images/train/Birjand University Mobile Pa...\n",
|
||||
"4 data/images/train/Birjand University Mobile Pa...\n",
|
||||
"... ...\n",
|
||||
"1607 data/images/train/Birjand University Mobile Pa...\n",
|
||||
"1608 data/images/train/Birjand University Mobile Pa...\n",
|
||||
"1609 data/images/train/Birjand University Mobile Pa...\n",
|
||||
"1610 data/images/train/Birjand University Mobile Pa...\n",
|
||||
"1611 data/images/train/Birjand University Mobile Pa...\n",
|
||||
"\n",
|
||||
"[1612 rows x 1 columns]"
|
||||
]
|
||||
},
|
||||
"execution_count": 58,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"df = pd.read_csv(os.path.join(origin_data_dir, \"train.txt\"),header=None)\n",
|
||||
"df"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 59,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"0 images/train/Birjand University Mobile Palmpri...\n",
|
||||
"1 images/train/Birjand University Mobile Palmpri...\n",
|
||||
"2 images/train/Birjand University Mobile Palmpri...\n",
|
||||
"3 images/train/Birjand University Mobile Palmpri...\n",
|
||||
"4 images/train/Birjand University Mobile Palmpri...\n",
|
||||
" ... \n",
|
||||
"1607 images/train/Birjand University Mobile Palmpri...\n",
|
||||
"1608 images/train/Birjand University Mobile Palmpri...\n",
|
||||
"1609 images/train/Birjand University Mobile Palmpri...\n",
|
||||
"1610 images/train/Birjand University Mobile Palmpri...\n",
|
||||
"1611 images/train/Birjand University Mobile Palmpri...\n",
|
||||
"Name: 0, Length: 1612, dtype: object"
|
||||
]
|
||||
},
|
||||
"execution_count": 59,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"df[0] = df[0].apply(lambda x: x.lstrip(\"/data\"))\n",
|
||||
"df[0]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 60,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"from sklearn.model_selection import train_test_split"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 61,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" 0\n",
|
||||
"1138 images/train/Birjand University Mobile Palmpri...\n",
|
||||
"316 images/train/Birjand University Mobile Palmpri...\n",
|
||||
"303 images/train/Birjand University Mobile Palmpri...\n",
|
||||
"545 images/train/Birjand University Mobile Palmpri...\n",
|
||||
"744 images/train/Birjand University Mobile Palmpri...\n",
|
||||
"... ...\n",
|
||||
"406 images/train/Birjand University Mobile Palmpri...\n",
|
||||
"1414 images/train/Birjand University Mobile Palmpri...\n",
|
||||
"143 images/train/Birjand University Mobile Palmpri...\n",
|
||||
"1265 images/train/Birjand University Mobile Palmpri...\n",
|
||||
"623 images/train/Birjand University Mobile Palmpri...\n",
|
||||
"\n",
|
||||
"[1289 rows x 1 columns]\n",
|
||||
" 0 \\\n",
|
||||
"1574 images/train/Birjand University Mobile Palmpri... \n",
|
||||
"1097 images/train/Birjand University Mobile Palmpri... \n",
|
||||
"141 images/train/Birjand University Mobile Palmpri... \n",
|
||||
"958 images/train/Birjand University Mobile Palmpri... \n",
|
||||
"609 images/train/Birjand University Mobile Palmpri... \n",
|
||||
"... ... \n",
|
||||
"750 images/train/Birjand University Mobile Palmpri... \n",
|
||||
"1547 images/train/Birjand University Mobile Palmpri... \n",
|
||||
"817 images/train/Birjand University Mobile Palmpri... \n",
|
||||
"1514 images/train/Birjand University Mobile Palmpri... \n",
|
||||
"1164 images/train/Birjand University Mobile Palmpri... \n",
|
||||
"\n",
|
||||
" 1 \n",
|
||||
"1574 images/val/Birjand University Mobile Palmprint... \n",
|
||||
"1097 images/val/Birjand University Mobile Palmprint... \n",
|
||||
"141 images/val/Birjand University Mobile Palmprint... \n",
|
||||
"958 images/val/Birjand University Mobile Palmprint... \n",
|
||||
"609 images/val/Birjand University Mobile Palmprint... \n",
|
||||
"... ... \n",
|
||||
"750 images/val/Birjand University Mobile Palmprint... \n",
|
||||
"1547 images/val/Birjand University Mobile Palmprint... \n",
|
||||
"817 images/val/Birjand University Mobile Palmprint... \n",
|
||||
"1514 images/val/Birjand University Mobile Palmprint... \n",
|
||||
"1164 images/val/Birjand University Mobile Palmprint... \n",
|
||||
"\n",
|
||||
"[323 rows x 2 columns]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"train,test = train_test_split(df,test_size=0.2,random_state=17)\n",
|
||||
"test[1]=test[0].apply(lambda x: \"images/val/\" + x.lstrip(\"images/train\"))\n",
|
||||
"print(train)\n",
|
||||
"print(test)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 62,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"if not os.path.exists(target_data_dir):\n",
|
||||
" os.makedirs(target_data_dir)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 63,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"train.to_csv(os.path.join(target_data_dir,\"train.txt\"),index=False,header=None)\n",
|
||||
"test[1].to_csv(os.path.join(target_data_dir,\"val.txt\"),index=False,header=None)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 64,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import shutil"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 65,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def copy_images(df:pd.DataFrame,target:str,labels:bool):\n",
|
||||
" kind = \"labels\" if labels else \"images\"\n",
|
||||
" targetRoot = os.path.join(target_data_dir,kind,target)\n",
|
||||
" if os.path.exists(targetRoot):\n",
|
||||
" shutil.rmtree(targetRoot)\n",
|
||||
" for _,it in df.iterrows():\n",
|
||||
" f:str = it[0]\n",
|
||||
" f = re.sub(r'\\.[^.]+$', '.txt', f) if labels else f\n",
|
||||
" f = kind + f.lstrip(\"images\")\n",
|
||||
" # print(f)\n",
|
||||
" source_f = os.path.normpath(os.path.join(origin_data_dir,f))\n",
|
||||
" target_f = os.path.normpath(os.path.join(targetRoot,f.lstrip(kind + \"/train\")))\n",
|
||||
" os.makedirs(os.path.dirname(target_f), exist_ok=True)\n",
|
||||
" shutil.copyfile(source_f,target_f)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 66,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"copy_images(df=train,target=\"train\",labels=False)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 67,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"copy_images(df=test,target=\"val\",labels=False)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 68,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"copy_images(df=train,target=\"train\",labels=True)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 69,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"copy_images(df=test,target=\"val\",labels=True)"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": ".venv",
|
||||
"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.10.11"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 2
|
||||
}
|
||||
Loading…
Reference in New Issue