YOWO系列:小记复现YOWOv1的艰辛历程

这两天算是把YOWOv1的原理搞得差不多了,并且在知乎和csdn上看了好多博主发布的复现教程,但是结果都是好的,过程往往是艰辛的,为了避免接下来的同志重蹈覆辙,我把这篇经验贴写出来让大家避坑。

零、环境说明

我复现YOWO使用的环境如下:Anaconda,Windows11

一、前期工作

1、创建Anaconda虚拟环境,我的虚拟环境命名为yowo,python版本为3.6

conda create -n yowo python=3.6

2、进入yowo虚拟环境,安装cuda,torch和cuDNN

进入虚拟环境yowo

conda activate yowo

 在虚拟环境中安装cuda,torch和cuDNN

pip3 install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

我是使用的Anaconda,所以直接在虚拟环境中安装cuda,torch等,可能有的读者在之前就已经计算机本地安装了cuda以及cudnn,但是在计算机本地的cuda无法被虚拟环境调用,就无法使用GPU加速计算,会出现报错:AssertionError: Torch not compiled with CUDA enabled。所以还是在虚拟环境中重新配置。

安装完毕之后进入Anaconda Prompt命令窗口,进入虚拟环境yowo,输入以下指令查看Pytorch是否和cuda支持。

进入虚拟环境

conda activate yowo

进入python

python

导入Pytorch

import torch

 查看Pytorch是否和cuda匹配

torch.cuda.is_avaliable()

出现True即为安装成功,并且能使用GPU加速计算

3、安装Git

由于复现的代码是在Ubuntu上编写的,所以含有sh文件,windows无法运行这些文件,所以需要安装Git来执行。

Git官网下载,一路next就行。

Git - Downloading Packageicon-default.png?t=N7T8https://git-scm.com/download/win为了验证Git是否安装成功,在桌面右键鼠标,当出现如下图所示的标志时,即为安装成功。

 打开Pycharm,点击File->Settings->Tools->Terminal—Shell path,将cmd.exe修改为Git安装目录下/bin文件夹里的sh.exe

至此,我们的前期工作全部结束,接下来就是复现YOWO。

二、复现工作

我们采用的复现代码是一位知乎老哥提供的,代码下载链接放在下方。

YOWO-一款简单且实时的时空动作检测方案(2) - 知乎

1、数据集准备

YOWO可以在UCF101-24,JHMDB-21以及AVA数据集上进行训练,由于JHMDB-21数据集很小,容易过拟合,大部分复现过程均采用UCF101-24数据集,数据集链接放在下方。

https://pan.baidu.com/s/11GZvbV0oAzBhNDVKXsVGKg

提取码:hmu6

下载完毕后解压至任意磁盘。

至于AVA数据集,制作过程十分繁琐,有兴趣的读者可以在B站上搜索AVA数据集制作教程,不在本文过多赘述。

2、训练YOWO

打开Pycharm的终端,输入指令

python train.py --cuda -d ucf24 -v yowo --num_workers 4 --eval_epoch 1 --eval

此时提示需要下载权重YOLOv2.pth和resnext-101-kinetics.pth文件,网络不好的读者会提示连接服务器超时,这时你需要自己下载权重,下载链接在README.md文件里或者在会在终端显示,根据终端提示的存放路径进行存放,如果没注意看存放路径的读者,可以根据下方提示进行存放:

存放路径:C:\Users\你的用户名称\.cache\torch\hub\checkpoints

存放完毕后再次运行指令即可开始训练

2.1可能出现的报错提示以及解决方法

2.1.1连接服务器超时

需要自己根据下载链接进行下载,并且存放到对应的文件夹下。

2.1.2BrokenPipeError: [Errno 32] Broken pipe

这是Windows多线程导致的出错问题,可以将运行代码中num_works=4改成2或者0,根据自己电脑性能判断。

3、测试YOWO

在Pycharm终端输入指令

大家注意指令里的path/to/weight是指的训练完权重存放的相对目录

python test.py --cuda -d ucf24 -v yowo --weight path/to/weight

4.计算mAP

4.1计算Frame mAP

在终端运行如下指令

python eval.py \
--cuda \
-d ucf24 \
-v yowo \
-bs 8 \
-size 224 \
--weight path/to/weight \
--cal_frame_mAP \

4.2计算Video mAP

在终端运行如下指令

python eval.py \
--cuda \
-d ucf24 \
-v yowo \
-bs 8 \
-size 224 \
--weight path/to/weight \
--cal_video_mAP \

三、参考链接

【精选】conda搭建虚拟环境+配置CUDA+安装pytorch_conda cuda-CSDN博客

windows:Conda、CUDA、GPU 版本的torch安装_conda 安装torch环境-CSDN博客

Anaconda虚拟环境中安装torch + cuda + cuDNN_python_ligous-华为云开发者联盟
YOWO-一款简单且实时的时空动作检测方案(2) - 知乎
 

【精选】解决AssertionError Torch not compiled with CUDA enabled问题_assertionerror: torch not compiled with cuda enabl_这也太南了趴的博客-CSDN博客

BrokenPipeError: [Errno 32] Broken pipe-CSDN博客

Windows系统下pycharm运行.sh文件,执行shell命令_shell在pycharm-CSDN博客

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值