Deepfake-FFDI-图像赛题 baseline(1)数据检查部分 @Datawhale AI 夏令营

这里记录一下我对于给出的baseline的一些注释,帮助我更好的理解。

!wc -l /kaggle/input/deepfake/phase1/trainset_label.txt
!wc -l /kaggle/input/deepfake/phase1/valset_label.txt
!ls /kaggle/input/deepfake/phase1/trainset/ | wc -l 
!ls /kaggle/input/deepfake/phase1/valset/ | wc -l

通过 ! 前缀在 Jupyter Notebook 环境中执行的 shell 命令。wc 是 Unix 系统中的一个命令,表示 "word count"(字数统计)。-l 选项表示统计行数。这条命令会返回文件的trainset_label.txt 中的行数。

第二行是则是返回valset_label.txt 中的行数。ls 是 Unix 系统中的一个命令,用于列出目录内容。wc -l 用于统计 ls 命令输出的行数。

第三行这条命令会返回 trainset 目录中的文件和子目录数量。

第四行则是返回valset 目录中的文件和子目录数量。

第一条和第二条命令分别统计 trainset_label.txtvalset_label.txt 文件中的行数。

第三条和第四条命令分别统计 trainsetvalset 目录中的文件和子目录数量。

524430 /kaggle/input/deepfake/phase1/trainset_label.txt
147364 /kaggle/input/deepfake/phase1/valset_label.txt
524429
147363

输出如上。这样我们就知道了训练集和验证集的样本数量。

!pip install timm
from PIL import Image
Image.open('/kaggle/input/deepfake/phase1/trainset/63fee8a89581307c0b4fd05a48e0ff79.jpg')

安装timm,查看训练集中的某一个图像具体什么样子。

timm 是一个用于 PyTorch 的高效图像模型库,其全名为 "PyTorch Image Models"。由 Ross Wightman 开发并开源,旨在为研究和工业应用提供高质量的图像分类、分割、目标检测等模型和工具。用于加载

import torch
torch.manual_seed(0)
torch.backends.cudnn.deterministic = False
torch.backends.cudnn.benchmark = True

import torchvision.models as models
import torchvision.transforms as transforms
import torchvision.datasets as datasets
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
from torch.autograd import Variable
from torch.utils.data.dataset import Dataset
import timm
import time

import pandas as pd
import numpy as np
import cv2
from PIL import Image
from tqdm import tqdm_notebook

train_label = pd.read_csv('/kaggle/input/deepfake/phase1/trainset_label.txt')
val_label = pd.read_csv('/kaggle/input/deepfake/phase1/valset_label.txt')

train_label['path'] = '/kaggle/input/deepfake/phase1/trainset/' + train_label['img_name']
val_label['path'] = '/kaggle/input/deepfake/phase1/valset/' + val_label['img_name']

这里涉及的是深度学习模型的训练和验证准备工作。

1.设置随机种子和 CUDA 配置

  • torch.manual_seed(0):设置随机种子,以确保实验的可重复性。
  • torch.backends.cudnn.deterministic = Falsetorch.backends.cudnn.benchmark = True:这些设置用于控制 cuDNN 后端的行为,以在训练过程中提升性能。

2.导入必要的库

  • torchvision:提供了常用的模型、数据集和图像变换工具。
  • timm:一个用于高效图像模型的库。
  • 其他常用的库,如 pandasnumpycv2(OpenCV)、PIL(Python Imaging Library)和 tqdm(用于进度条显示)

3.加载数据标签

  • train_labelval_label:分别读取训练集和验证集的标签文件。这些文件是 CSV 格式,包含了图像文件名和对应的标签。
  • train_label['path']val_label['path']:通过将图像文件名与图像所在目录路径拼接,生成图像的完整路径。
train_label['target'].value_counts()
val_label['target'].value_counts()
train_label.head(10)

这部分代码用来对于

训练集和验证集的标签数据进行一些简单的统计和查看操作。具体来说,它完成了以下几个任务:

  1. 通过 value_counts() 方法,统计训练集和验证集中的每个标签出现的次数。这对于了解数据集的平衡情况非常重要,尤其是对于分类任务。
  2. 使用 head(10) 方法,查看训练集标签数据框的前 10 行。这可以帮助你快速了解数据框的结构和内容。

代码引用自datawhale 的baseline

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值