SlowFast复现

  • 目录
    • 参考
    • 环境准备
    • 配置slowfast环境
    • 代码修改
    • 测试
    • 有可能出现的错误

目录

参考

论文
github地址
参考博客:
【SlowFast复现】SlowFast Networks for Video Recognition复现代码 使用自己的视频进行demo检测
可以对着这个大佬的b站视频复现,但是可以先看一下我的文章,因为官方对环境的要求有了变化

环境准备

windows下复现问题较多
租用网站的GPU:极链AI云平台
学生认证可以白嫖100云币券

  • 创建实例
    选择1个GPU就够用了
  • 选择镜像
    pytorch尽量选择最高版本的,上面两个博客都是基于pytorch1.4(python3.7),现在github中的配置文件已经要求python≥3.8
  • 安装Xshell


配置slowfast环境

官方配置要求

我的配置过程
在xshell执行git clone将源代码下载至home目录下

cd /home/
git clone https://github.com/facebookresearch/SlowFast.git
# 创建虚拟环境
conda create -n slowfast python=3.8
conda activate slowfast# 安装cuda11.1的pytorch1.8和torchvision0.9.0
pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio==0.8.0 -f https://download.pytorch.org/whl/torch_stable.html
# 安装fvcore
pip install 'git+https://github.com/facebookresearch/fvcore'
# 安装simplejson
pip install simplejson
# 安装PyAv
conda install av -c conda-forge
# 安装iopath
pip install -U iopath
# 安装psutil
pip install psutil
# 安装opencv-python pip install opencv-python
#我在这没有安装opencv 因为后面执行setup.py会给我们安好,建议不要pip安装# 安装tensorboard
pip install tensorboard
# 安装cython
pip install cython
# 安装detectron2,这里与官网安装方式不同
python -m pip install detectron2==0.6 -f \https://dl.fbaipublicfiles.com/detectron2/wheels/cu111/torch1.8/index.html# 导入路径,路径如下图所示,修改成你自己的路径即可
export PYTHONPATH=/home/slowfast/slowfast:$PYTHONPATH
# 进入SlowFast目录
cd slowfast
# 编译,可以干点别的事等着,非常慢
python setup.py build develop

代码修改

  • 在/slowfast/demo/AVA目录下新建ava.json,文件内容如下
{"bend/bow (at the waist)": 0, "crawl": 1, "crouch/kneel": 2, "dance": 3, "fall down": 4, "get up": 5, "jump/leap": 6, "lie/sleep": 7, "martial art": 8, "run/jog": 9, "sit": 10, "stand": 11, "swim": 12, "walk": 13, "answer phone": 14, "brush teeth": 15, "carry/hold (an object)": 16, "catch (an object)": 17, "chop": 18, "climb (e.g., a mountain)": 19, "clink glass": 20, "close (e.g., a door, a box)": 21, "cook": 22, "cut": 23, "dig": 24, "dress/put on clothing": 25, "drink": 26, "drive (e.g., a car, a truck)": 27, "eat": 28, "enter": 29, "exit": 30, "extract": 31, "fishing": 32, "hit (an object)": 33, "kick (an object)": 34, "lift/pick up": 35, "listen (e.g., to music)": 36, "open (e.g., a window, a car door)": 37, "paint": 38, "play board game": 39, "play musical instrument": 40, "play with pets": 41, "point to (an object)": 42, "press": 43, "pull (an object)": 44, "push (an object)": 45, "put down": 46, "read": 47, "ride (e.g., a bike, a car, a horse)": 48, "row boat": 49, "sail boat": 50, "shoot": 51, "shovel": 52, "smoke": 53, "stir": 54, "take a photo": 55, "text on/look at a cellphone": 56, "throw": 57, "touch (an object)": 58, "turn (e.g., a screwdriver)": 59, "watch (e.g., TV)": 60, "work on a computer": 61, "write": 62, "fight/hit (a person)": 63, "give/serve (an object) to (a person)": 64, "grab (a person)": 65, "hand clap": 66, "hand shake": 67, "hand wave": 68, "hug (a person)": 69, "kick (a person)": 70, "kiss (a person)": 71, "lift (a person)": 72, "listen to (a person)": 73, "play with kids": 74, "push (another person)": 75, "sing to (e.g., self, a person, a group)": 76, "take (an object) from (a person)": 77, "talk to (e.g., self, a person, a group)": 78, "watch (a person)": 79}
  • 修改
    /slowfast/demo/AVA/SLOWFAST_32x2_R101_50_50.yaml,内容改为如下:
TRAIN:ENABLE: FalseDATASET: avaBATCH_SIZE: 16EVAL_PERIOD: 1CHECKPOINT_PERIOD: 1AUTO_RESUME: TrueCHECKPOINT_FILE_PATH: "/media/bao/新加卷1/sunqiang/SlowFast/configs/AVA/c2/SLOWFAST_32x2_R101_50_50.pkl"  #path to pretrain modelCHECKPOINT_TYPE: pytorch
DATA:NUM_FRAMES: 32SAMPLING_RATE: 2TRAIN_JITTER_SCALES: [256, 320]TRAIN_CROP_SIZE: 224TEST_CROP_SIZE: 256INPUT_CHANNEL_NUM: [3, 3]
DETECTION:ENABLE: TrueALIGNED: False
AVA:BGR: FalseDETECTION_SCORE_THRESH: 0.8TEST_PREDICT_BOX_LISTS: ["person_box_67091280_iou90/ava_detection_val_boxes_and_labels.csv"]
SLOWFAST:ALPHA: 4BETA_INV: 8FUSION_CONV_CHANNEL_RATIO: 2FUSION_KERNEL_SZ: 5
RESNET:ZERO_INIT_FINAL_BN: TrueWIDTH_PER_GROUP: 64NUM_GROUPS: 1DEPTH: 101TRANS_FUNC: bottleneck_transformSTRIDE_1X1: FalseNUM_BLOCK_TEMP_KERNEL: [[3, 3], [4, 4], [6, 6], [3, 3]]SPATIAL_DILATIONS: [[1, 1], [1, 1], [1, 1], [2, 2]]SPATIAL_STRIDES: [[1, 1], [2, 2], [2, 2], [1, 1]]
NONLOCAL:LOCATION: [[[], []], [[], []], [[6, 13, 20], []], [[], []]]GROUP: [[1, 1], [1, 1], [1, 1], [1, 1]]INSTANTIATION: dot_productPOOL: [[[2, 2, 2], [2, 2, 2]], [[2, 2, 2], [2, 2, 2]], [[2, 2, 2], [2, 2, 2]], [[2, 2, 2], [2, 2, 2]]]
BN:USE_PRECISE_STATS: FalseNUM_BATCHES_PRECISE: 200
SOLVER:MOMENTUM: 0.9WEIGHT_DECAY: 1e-7OPTIMIZING_METHOD: sgd
MODEL:NUM_CLASSES: 80ARCH: slowfastMODEL_NAME: SlowFastLOSS_FUNC: bceDROPOUT_RATE: 0.5HEAD_ACT: sigmoid
TEST:ENABLE: FalseDATASET: avaBATCH_SIZE: 8
DATA_LOADER:NUM_WORKERS: 2PIN_MEMORY: TrueNUM_GPUS: 1
NUM_SHARDS: 1
RNG_SEED: 0
OUTPUT_DIR: .#TENSORBOARD:
#  MODEL_VIS:
#    TOPK: 2
DEMO:ENABLE: TrueLABEL_FILE_PATH: "/media/bao/新加卷1/sunqiang/SlowFast/demo/AVA/ava.json"INPUT_VIDEO: "/home/slowfast/Vinput/1.mp4"OUTPUT_FILE: "/home/slowfast/Vinput/2.mp4"DETECTRON2_CFG: "COCO-Detection/faster_rcnn_R_50_FPN_3x.yaml"DETECTRON2_WEIGHTS: https://dl.fbaipublicfiles.com/detectron2/COCO-Detection/faster_rcnn_R_50_FPN_3x/137849458/model_final_280758.pkl
  • 下载预训练权重文件
    下载页面

    我先下载在本地,然后利用了xftp传输,包括后面用的测试视频也是直接这样传的

    下载模型SLOWFAST_32x2_R101_50_50.pkl 到/home/slowfast/configs/AVA/c2目录下,修改参数
TRAIN:ENABLE: FalseDATASET: avaBATCH_SIZE: 16EVAL_PERIOD: 1CHECKPOINT_PERIOD: 1AUTO_RESUME: TrueCHECKPOINT_FILE_PATH: '/home/slowfast/configs/AVA/c2/SLOWFAST_32x2_R101_50_50.pkl'  #path to pretrain modelCHECKPOINT_TYPE: pytorch

测试

代码运行

cd /home/slowfast/
python tools/run_net.py --cfg demo/AVA/SLOWFAST_32x2_R101_50_50.yaml

结果(随便在网上找的一段视频)

有可能出现的错误

我在slowfast的配置部分写的安装命令已经是和我的环境适配了

python -m pip install detectron2==0.6 -f \https://dl.fbaipublicfiles.com/detectron2/wheels/cu111/torch1.8/index.html

我最开始因为因为detectron2的版本问题报错:not such file or directory
和我的环境不一样的话,可以去该链接下找到合适的版本:
detectron2

SlowFast复现相关推荐

  1. 【slowfast复现 训练】训练过程 制作ava数据集 复现 SlowFast Networks for Video Recognition 训练 train

    目录 前言 一,ava相关文件准备 1.1 空间准备(500G) 1.2 整体ava文件结构 1.3 frames文件 1.4 frame_lists 文件 1.5 annotations 文件 二, ...

  2. 【SlowFast复现】SlowFast Networks for Video Recognition复现代码 使用自己的视频进行demo检测

    目录 一,准备 1.1代码 1.2 环境准备 1.3 搭建镜像 1.4 配置slowfast环境 1.5 ava.json 1.6 SLOWFAST_32x2_R101_50_50.yaml 1.7 ...

  3. 【slowfast 减少ava数据集】将ava数据集缩小到2个,对数据集做训练,然后进行检测,为训练自己的数据集做准备

    目录 前言 一,数据文件结构 1.1 myava 1.2 annotations 1.3 annotations文件处理 1.4 frame_lists 1.5 frames 二,预训练模型 四,配置 ...

  4. 三分钟快速安装 facebookresearch SlowFast

    0 前言 去年写了一篇博客:[SlowFast复现]SlowFast Networks for Video Recognition复现代码 使用自己的视频进行demo检测 facebookresear ...

  5. Windows 11 安装 SlowFast

    参考链接 Win10配置SlowFast全过程并使用slowfast进行视频行为识别检测 [slowfast复现 训练]训练过程 制作ava数据集 复现 SlowFast Networks for V ...

  6. 5G/NR 随机接入过程学习总结

    对于随机接入过程,NR与LTE之间有相同点,也有不同点,其最大的区别在于触发场景已经Msg1的处理,详情见下文. 查看全文 http://www.taodudu.cc/news/show-309273 ...

  7. 一、slowfast 代码复现

    小心情:   今天刚刚在学校打完新冠疫苗,回来后写完的这篇博客,希望可以帮助到同行的小伙伴们,能够快速复现这个模型,可以帮助到你们节省学习时间,避免踩坑.然后对于合肥的突发疫情,希望大家都能在保证安全 ...

  8. slowfast -linux复现

    slowfast 代码复现 目录 转载于孙强大佬(文内加入一些自己的搭建过程):https://blog.csdn.net/weixin_48841074/article/details/116807 ...

  9. 【PySlowFast】Facebook开源算法代码库PySlowFast,轻松复现前沿视频理解模型

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 在近些年的视频理解研究中,Facebook AI Research 贡献了许多精彩 ...

最新文章

  1. 5页面返回上个页面定位_5个步骤,画好页面流程图
  2. Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x0
  3. conda环境下如何升级python?
  4. python爬虫和数据分析电脑推荐_大数据分析必备的5款Python爬虫库
  5. Django(part7)--请求及HttpRequest对象
  6. SAP Spartacus的用户登录请求
  7. java设计按月每天签到_活动攻略|新同学新签到,欢乐福利全都要!
  8. 通过中序线索二叉树找某节点的后续前驱☆
  9. Java-Iterator迭代器
  10. 51CTO‘s Bug?
  11. idea Error:(1, 10) java: 需要class, interface或enum, 未结束的字符串文字,Error:(55, 136) java: 非法字符: \65533...
  12. 电子科大计算机操作系统ppt,电子科大计算机操作系统实验报告级.docx
  13. unity3d:激活码系统(根据PC机器码,给对应激活码完成软件注册)
  14. 《沉默的大多数》跳出手掌心
  15. SAP调用外围系统接口SXI_MONITOR有显示但是实际上没有调用接口的问题
  16. React:styled-components的使用
  17. DDoS攻击流量检测方法
  18. 3.1 HMC管理功能
  19. 口音英语识别能力评测,你的AI升级了吗?
  20. iOS热更新实现方式

热门文章

  1. 昆明第十二中学计算机笔试题目,昆明市第十二中学2015年招考笔试、面试、课堂考核安排公告...
  2. openLayers3(四)电子围栏—使用画图工具绘图
  3. 网页上简体繁体汉字切换
  4. 【Linux C语言查看SD卡大小】
  5. 正确的java语句,下面哪条Java语句可以正确输出“HelloJava!”?()
  6. 云计算笔记一 云计算系统的产生
  7. 基于Eclipse+JDK8+Mysql+Tomcat+JSP开发得企业财务管理系统
  8. ajax换头像,ajax切换明星头像!
  9. 行业大咖齐聚鹏城 八大峰会打造2021深圳国际全触与显示展“新名片”
  10. jupyter notebook简明安装、配置、使用教程