0% found this document useful (0 votes)
7 views5 pages

f22 Yolov5s

Uploaded by

kuangnuzhiren
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views5 pages

f22 Yolov5s

Uploaded by

kuangnuzhiren
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

F22-yolov5s.ipynb - Colab https://colab.research.google.com/drive/1GOATgD...

!git clone https://github.com/ultralytics/yolov5.git

Cloning into 'yolov5'...


remote: Enumerating objects: 17080, done.
remote: Counting objects: 100% (30/30), done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 17080 (delta 20), reused 5 (delta 5), pack-reused 17050 (from 4)
Receiving objects: 100% (17080/17080), 15.70 MiB | 13.59 MiB/s, done.
Resolving deltas: 100% (11721/11721), done.

cp -rf yolov5/ drive/MyDrive/deeplearning/

import os
import glob
import pandas as pd
from sklearn.model_selection import train_test_split
import shutil
import os
os.environ['KAGGLE_USERNAME'] = 'alexzhao1984'
os.environ['KAGGLE_KEY'] = '61eaaca6e04e32fc96a186643fd09eb9'

data_dir = '/content/drive/MyDrive/deeplearning/kaggle/input/militaryaircraftdetection
output_dir = '/content/drive/MyDrive/deeplearning/kaggle/working'

merged_csv = os.path.join(output_dir, 'merged_annotations.csv')

all_files = glob.glob(os.path.join(data_dir, "*.csv"))

if not all_files:
raise FileNotFoundError(f"No CSV files found in directory: {data_dir}")

df_list = []
for file in all_files:
try:
df = pd.read_csv(file)
df_list.append(df)
except Exception as e:
print(f"Error reading {file}: {e}")

if df_list:
merged_df = pd.concat(df_list, ignore_index=True)
merged_df.to_csv(merged_csv, index=False)
else:
raise ValueError("No dataframes to concatenate")

data_dir = '/content/drive/MyDrive/deeplearning/kaggle/input/militaryaircraftdetection
output_dir = '/content/drive/MyDrive/deeplearning/kaggle/working'

merged_csv = os.path.join(output_dir, 'merged_annotations.csv')


1 of 5 merged_df = pd.read_csv(merged_csv) 1/2/25, 06:49
unique_classes = df['class'].unique()
F22-yolov5s.ipynb - Colab https://colab.research.google.com/drive/1GOATgD...
unique_classes = df['class'].unique()
print(unique_classes)

['F15' 'A400M' 'B2' 'C130' 'Y20' 'US2' 'JH7' 'J20' 'CL415' 'B1' 'A10' 'C2'
'C17' 'C5' 'AG600' 'Mig29' 'Mirage2000' 'F22' 'Tu160' 'H6' 'Vulcan'
'Mi24' 'AV8B' 'V22' 'JAS39' 'Su34' 'C390' 'F16' 'F117' 'MQ9' 'Ka27'
'Su24' 'Tu95' 'Rafale' 'RQ4' 'Be200' 'YF23' 'F18' 'EF2000' 'F35' 'XB70'
'Mig31' 'E2' 'P3' 'J10' 'CH47' 'UH60' 'An72' 'B21' 'Mi26' 'TB001' 'AH64'
'An225' 'Su57' 'F4' 'Ka52' 'B52' 'An22' 'WZ7' 'SR71' 'KJ600' 'Tornado'
'KF21' 'F14' 'U2' 'KC135' 'TB2' 'Su25' 'An124' 'Z19' 'JF17' 'Tu22M' 'E7'
'Mi28']
['F15', 'A400M', 'B2', 'C130', 'Y20', 'US2', 'JH7', 'J20', 'CL415', 'B1', 'A10', '

# Sınıf isimlerini ve id'lerini belirleyin


class_names = [str(x) for x in unique_classes] # Bu isimler verisetinden seçilecek a
num_classes = len(class_names)
class_id_map = {name: idx for idx, name in enumerate(class_names)}

# YOLO formatına dönüşüm


def convert_to_yolo_format(row):
dw = 1. / row['width']
dh = 1. / row['height']
x_center = (row['xmin'] + row['xmax']) / 2.0 * dw
y_center = (row['ymin'] + row['ymax']) / 2.0 * dh
width = (row['xmax'] - row['xmin']) * dw
height = (row['ymax'] - row['ymin']) * dh
return [class_id_map[row['class']], x_center, y_center, width, height]

train_df, val_df = train_test_split(merged_df, test_size=0.2, random_state=42)

# Verilerdeki sınıf etiketlerini kontrol edin ve temizleyin


def validate_and_clean_labels(df):
valid_rows = []
for _, row in df.iterrows():
if row['class'] in class_id_map:
valid_rows.append(row)
else:
print(f"Invalid class {row['class']} in {row['filename']}")
return pd.DataFrame(valid_rows)

train_df = validate_and_clean_labels(train_df)
val_df = validate_and_clean_labels(val_df)

# YOLO formatında dosyaları oluşturun


def create_yolo_files(df, split):
for _, row in df.iterrows():
yolo_data = convert_to_yolo_format(row)
txt_filename = os.path.join(output_dir, split, os.path.splitext(row['filename'
img_filename = os.path.join(data_dir, row['filename'] + '.jpg') # Resim dosya
output_img_filename = os.path.join(output_dir, split, row['filename'] +

os.makedirs(os.path.dirname(txt_filename), exist_ok=True)
2 of 5 1/2/25, 06:49
F22-yolov5s.ipynb - Colab https://colab.research.google.com/drive/1GOATgD...

with open(txt_filename, 'w') as f:


f.write(' '.join(map(str, yolo_data)) + '\n')

# Resmi kopyala
if os.path.exists(img_filename):
shutil.copy(img_filename, output_img_filename)
else:
print(f"Warning: {img_filename} not found!")

# Train ve val dosyalarını ve resimlerini oluşturun


create_yolo_files(train_df, 'train')
create_yolo_files(val_df, 'val')

# Eğitim verisetinin ve doğrulama verisetinin yollarını ayarlayın


data_yaml = """
train: /content/drive/MyDrive/deeplearning/kaggle/working/train
val: /content/drive/MyDrive/deeplearning/kaggle/working/val
nc: {num_classes}
names: {class_names}
"""

# data.yaml dosyasını oluşturun


data_yaml = data_yaml.format(num_classes=num_classes, class_names=class_names)
data_yaml_path = '/content/drive/MyDrive/deeplearning/kaggle/working/data.yaml'
with open(data_yaml_path, 'w') as f:
f.write(data_yaml)

import os
os.environ["WANDB_DISABLED"] = "true"
!python /content/drive/MyDrive/deeplearning/yolov5/train.py --data /content/drive/MyDr

 Collecting ultralytics
Downloading ultralytics-8.3.56-py3-none-any.whl.metadata (35 kB)
Requirement already satisfied: numpy>=1.23.0 in /usr/local/lib/python3.10/dist-pac
Requirement already satisfied: matplotlib>=3.3.0 in /usr/local/lib/python3.10/dist
Requirement already satisfied: opencv-python>=4.6.0 in /usr/local/lib/python3.10/d
Requirement already satisfied: pillow>=7.1.2 in /usr/local/lib/python3.10/dist-pac
Requirement already satisfied: pyyaml>=5.3.1 in /usr/local/lib/python3.10/dist-pac
Requirement already satisfied: requests>=2.23.0 in /usr/local/lib/python3.10/dist-
Requirement already satisfied: scipy>=1.4.1 in /usr/local/lib/python3.10/dist-pack
Requirement already satisfied: torch>=1.8.0 in /usr/local/lib/python3.10/dist-pack
Requirement already satisfied: torchvision>=0.9.0 in /usr/local/lib/python3.10/dis
Requirement already satisfied: tqdm>=4.64.0 in /usr/local/lib/python3.10/dist-pack
Requirement already satisfied: psutil in /usr/local/lib/python3.10/dist-packages (
Requirement already satisfied: py-cpuinfo in /usr/local/lib/python3.10/dist-packag
Requirement already satisfied: pandas>=1.1.4 in /usr/local/lib/python3.10/dist-pac
Requirement already satisfied: seaborn>=0.11.0 in /usr/local/lib/python3.10/dist-p
Collecting ultralytics-thop>=2.0.0 (from ultralytics)
Downloading ultralytics_thop-2.0.13-py3-none-any.whl.metadata (9.4 kB)
Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-pack
Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist
Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist
3 of 5 1/2/25, 06:49
Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-p
F22-yolov5s.ipynb - Colab https://colab.research.google.com/drive/1GOATgD...
Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-p
Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-
Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/d
Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-pack
Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-pa
Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-pack
Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dis
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dis
Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages
Requirement already satisfied: typing-extensions>=4.8.0 in /usr/local/lib/python3.
Requirement already satisfied: networkx in /usr/local/lib/python3.10/dist-packages
Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (
Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (
Requirement already satisfied: sympy==1.13.1 in /usr/local/lib/python3.10/dist-pac
Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dis
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages
Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-p
Downloading ultralytics-8.3.56-py3-none-any.whl (904 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 904.4/904.4 kB 12.4 MB/s eta 0:00:00
Downloading ultralytics_thop-2.0.13-py3-none-any.whl (26 kB)
Installing collected packages: ultralytics-thop, ultralytics
Successfully installed ultralytics-8.3.56 ultralytics-thop-2.0.13
Creating new Ultralytics Settings v0.0.6 file
View Ultralytics Settings with 'yolo settings' or at '/root/.config/Ultralytics/se
Update Settings with 'yolo settings key=value', i.e. 'yolo settings runs_dir=path/
wandb: WARNING wandb is deprecated and will be removed in a future release. See
2025-01-02 06:17:48.530491: E external/local_xla/xla/stream_executor/cuda/cuda_fft
2025-01-02 06:17:48.556743: E external/local_xla/xla/stream_executor/cuda/cuda_dnn
2025-01-02 06:17:48.564329: E external/local_xla/xla/stream_executor/cuda/cuda_bla
wandb: Using wandb-core as the SDK backend. Please refer to https://wandb.me/wand
wandb: (1) Create a W&B account
wandb: (2) Use an existing W&B account
wandb: (3) Don't visualize my results
wandb: Enter your choice: (30 second timeout)
wandb: W&B disabled due to login timeout.
train: weights=/content/drive/MyDrive/deeplearning/yolov5s.pt, cfg=, data=/content

4 of 5 1/2/25, 06:49
F22-yolov5s.ipynb - Colab https://colab.research.google.com/drive/1GOATgD...

5 of 5 1/2/25, 06:49

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy