Pytorch-YOLOv3源码解读(数据集加载和预处理)

本文档介绍了PyTorch实现的YOLOv3模型中数据集加载和预处理的详细过程,包括从COCO2014数据集读取图像和标签,以及图像的预处理步骤,如水平翻转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系列文章目录

  1. 数据集加载和预处理
  2. 网络结构
  3. loss计算


前言

源代码连接https://github.com/eriklindernoren/PyTorch-YOLOv3
当前代码用到的数据集为coco2014,这里提供官网地址https://cocodataset.org/


数据读取类datasets.py

根据传入的index索引值,去读取数据中的图像和标签,图像进行简单的预处理过程

import glob
import random
import os
import sys
import numpy as np
from PIL import Image
import torch
import torch.nn.functional as F

from utils.augmentations import horisontal_flip
from torch.utils.data import Dataset
import torchvision.transforms as transforms

# 图像填充为等宽等高
def pad_to_square(img, pad_value):
    c, h, w = img.shape
    dim_diff = np.abs(h - w)
    # (upper / left) padding and (lower / right) padding    # 高宽之差为2的整数倍时
    pad1, pad2 = dim_diff // 2, dim_diff - dim_diff // 2    # 两边填充等长宽度,不同时右边比左边多一个
    # Determine padding
    pad = (0, 0, pad1, pad2) if h <= w else (pad1, pad2, 0, 0)  # 选择填充高或宽
    # Add padding
    img = F.pad(img, pad, "constant&#
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值