slowfast训练

数据集介绍
https://github.com/facebookresearch/SlowFast/blob/main/projects/pytorchvideo/README.md
PyTorchVideo数据集包括
Kinetics
Kinetics数据集下载 https://www.deepmind.com/open-source/kinetics
Charades
Something-something v2
三个数据集

1.首先安装完环境

2.然后准备数据集

https://github.com/facebookresearch/SlowFast/blob/main/slowfast/datasets/DATASET.md

然后运行

python tools/run_net.py   --cfg configs/Kinetics/C2D_8x8_R50.yaml   DATA.PATH_TO_DATA_DIR /ActivityNet/Crawler/Kinetics/data/kinetics-400_train.csv   NUM_GPUS 1   TRAIN.BATCH_SIZE 16

这里我们尝试AVA数据集进行训练
首先要准备数据集

https://github.com/facebookresearch/SlowFast/blob/main/slowfast/datasets/DATASET.md

2.1然后运行脚本下载

(数据在./data/ava/videos下)

DATA_DIR="./data/ava/videos"

if [[ ! -d "${DATA_DIR}" ]]; then
  echo "${DATA_DIR} doesn't exist. Creating it.";
  mkdir -p ${DATA_DIR}
fi

wget https://s3.amazonaws.com/ava-dataset/annotations/ava_file_names_trainval_v2.1.txt

for line in $(cat ava_file_names_trainval_v2.1.txt)
do
  wget https://s3.amazonaws.com/ava-dataset/trainval/$line -P ${DATA_DIR}
done

如果运行过程中报错

[[: not found

是因为sh命令无法识别"[[]]"表达式。改为用./ 来替代sh执行
2.2裁剪每个视频的第15分钟到30分钟

IN_DATA_DIR="./data/ava/videos"
OUT_DATA_DIR="./data/ava/videos_15min"

if [[ ! -d "${OUT_DATA_DIR}" ]]; then
  echo "${OUT_DATA_DIR} doesn't exist. Creating it.";
  mkdir -p ${OUT_DATA_DIR}
fi

for video in $(ls -A1 -U ${IN_DATA_DIR}/*)
do
  out_name="${OUT_DATA_DIR}/${video##*/}"
  if [ ! -f "${out_name}" ]; then
    ffmpeg -ss 900 -t 901 -i "${video}" "${out_name}"
  fi
done

2.3将视频提取为图片帧

IN_DATA_DIR="./data/ava/videos_15min"
OUT_DATA_DIR="./data/ava/frames"

if [[ ! -d "${OUT_DATA_DIR}" ]]; then
  echo "${OUT_DATA_DIR} doesn't exist. Creating it.";
  mkdir -p ${OUT_DATA_DIR}
fi

for video in $(ls -A1 -U ${IN_DATA_DIR}/*)
do
  video_name=${video##*/}

  if [[ $video_name = *".webm" ]]; then
    video_name=${video_name::-5}
  else
    video_name=${video_name::-4}
  fi

  out_video_dir=${OUT_DATA_DIR}/${video_name}/
  mkdir -p "${out_video_dir}"

  out_name="${out_video_dir}/${video_name}_%06d.jpg"

  ffmpeg -i "${video}" -r 30 -q:v 1 "${out_name}"
done

2.4下载annotations

DATA_DIR="./data/ava/annotations"

if [[ ! -d "${DATA_DIR}" ]]; then
  echo "${DATA_DIR} doesn't exist. Creating it.";
  mkdir -p ${DATA_DIR}
fi

wget https://research.google.com/ava/download/ava_train_v2.1.csv -P ${DATA_DIR}
wget https://research.google.com/ava/download/ava_val_v2.1.csv -P ${DATA_DIR}
wget https://research.google.com/ava/download/ava_action_list_v2.1_for_activitynet_2018.pbtxt -P ${DATA_DIR}
wget https://research.google.com/ava/download/ava_train_excluded_timestamps_v2.1.csv -P ${DATA_DIR}
wget https://research.google.com/ava/download/ava_val_excluded_timestamps_v2.1.csv -P ${DATA_DIR}

2.5新建frame_lits目录下载train.csv和val.csv

wget https://dl.fbaipublicfiles.com/video-long-term-feature-banks/data/ava/frame_lists/train.csv
wget https://dl.fbaipublicfiles.com/video-long-term-feature-banks/data/ava/frame_lists/val.csv

准备完数据之后运行
预训练模型记得下载
在这里插入图片描述

python tool/run_net.py --cfg configs/AVA/SLOWFAST_32x2_R50_SHORT5.yaml

如果报错

RuntimeError: CUDA error: invalid device ordinal
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.

将yaml修改为

NUM_GPUS: 1 #8

参考文献
https://mp.weixin.qq.com/s?__biz=MzI4MDYzNzg4Mw==&mid=2247553678&idx=5&sn=d556f7c9be6b48c3f3ab199b0c855c5b&chksm=ebb72a5adcc0a34c0ed14e9366055ce455ef9560f4b4ec9f1460d414be1c44ab1231534199bb&scene=27

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用SlowFast训练自己的数据集,您需要按照以下步骤进行操作: 1. 数据集准备:收集和整理您自己的视频数据集。确保数据集具有适当的标注,例如每个视频的标签或者动作类别。 2. 数据预处理:将视频数据转换为SlowFast模型所需的格式。您可以使用视频处理库(如OpenCV)来处理和剪辑视频,并将其转换为图像帧序列。确保每个视频的图像帧按照正确的顺序命名和保存。 3. 数据划分:将数据集划分为训练集、验证集和测试集。通常,训练集用于模型训练,验证集用于调整模型超参数,测试集用于评估模型性能。 4. 模型配置:根据您的需求,配置SlowFast模型的参数。这包括输入图像帧的大小、模型的深度、学习率等。 5. 训练过程:使用您的数据集和模型配置,开始训练SlowFast模型。您可以使用深度学习框架(如PyTorch)来实现训练过程。通过迭代训练,模型将逐渐学习到视频数据的特征和动作类别。 6. 超参数调整:在训练过程中,根据验证集的性能调整模型的超参数。例如,您可以尝试不同的学习率、批次大小等,以优化模型的性能。 7. 模型评估:在训练完成后,使用测试集来评估模型的性能。计算模型的准确率、召回率、F1分数等指标,以评估模型在未见过的数据上的表现。 请注意,SlowFast模型训练通常需要大量的计算资源和时间。同时,确保您的数据集具有足够的样本和标注质量,以获得良好的训练结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值