slowfast 代码复现

目录

转载于孙强大佬(文内加入一些自己的搭建过程):https://blog.csdn.net/weixin_48841074/article/details/116807805?utm_medium=distribute.pc_feed_404.none-task-blog-2defaultBlogCommendFromBaidudefault-2.nonecase&depth_1-utm_source=distribute.pc_feed_404.none-task-blog-2defaultBlogCommendFromBaidudefault-2.nonecas

1 配置环境

1.1 代码下载

源码链接:git clone https://gitee.com/qiang_sun/SlowFast.git

1.2 使用conda搭建环境

下载包使用中国科技大学镜像源,经测试非常好用

-i https://pypi.mirrors.ustc.edu.cn/simple/

内联代码片

# 创建conda环境,python3.7已测试可用
conda create -n slowfast python=3.7
# 激活刚创建的环境
conda activate slowfast
# 安装cuda10.0的pytorch1.4和torchvision0.5.0,已测试可用
pip install torch===1.4.0+cu101 torchvision===0.5.0+cu101 -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
# 安装tensorboard
pip install tensorboard
# 安装cython
pip install cython
# 安装detectron2,这里与官网安装方式不同
python -m pip install detectron2 -f \
https://dl.fbaipublicfiles.com/detectron2/wheels/cu100/torch1.4/index.html

2 服务器端操作

将源码放入到服务器

2.1在/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}

2.2 修改/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: "/media/bao/新加卷1/sunqiang/SlowFast/Vinput/2.mp4"OUTPUT_FILE: "/media/bao/新加卷1/sunqiang/SlowFast/Voutput/1.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

下面这一行代码存放的是输入视频的位置,当然Vinput这个文件夹是我自己建的,可以自行拍摄一个教室的视频,可以检测出每个人的姿势,如:sit、stand等
INPUT_VIDEO: “/media/bao/新加卷1/sunqiang/SlowFast/Vinput/2.mp4”

下面这一行代码存放的是检测后视频的位置,当然Voutput这个文件夹是我自己建的
OUTPUT_FILE: “/media/bao/新加卷1/sunqiang/SlowFast/Voutput/1.mp4”

2.3 下载预训练权重文件

https://dl.fbaipublicfiles.com/pyslowfast/model_zoo/ava/SLOWFAST_32x2_R101_50_50.pkl

下载模型SLOWFAST_32x2_R101_50_50.pkl 到/SlowFast/configs/AVA/c2目录下

2.4 运行

内联代码片

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

3 结果展示

slowfast -linux复现相关推荐

  1. 一、slowfast 代码复现

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

  2. 三、Kali Linux复现永恒之蓝漏洞

    配置需求: 1.攻击机:Kali Linux (IP:192.168.1.100) 2.目标靶机:Winodws7 3.同一局域网 前言: 只知道目标靶机处于同一局域网的情况下,对目标靶机进行渗透攻击 ...

  3. linux复现数据库,基于嵌入式Linux系统平台并可应用于监控组态软件实时数据库的设计方案详解...

    1 引言 实时数据库(real-me database, RTDB)作为组态软件设计与实现的核心内容解决了其所 应对的现代工业生产现场环境中生产数据与控制数据类型复杂多样,数据处理与事件调度时 间约束 ...

  4. 【Faster RCNN detectron2】detectron2实现Faster RCNN目标检测

    目录 1. 背景介绍 2.安装步骤 3.Faster RCNN目标检测 4. 效果 5.错误解决 6.参考博客 7,下一节代码解析 在上一篇博客记录了 SlowFast的复现过程,slowfast其中 ...

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

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

  6. log4j反序列化漏洞详解及利用

    一.知识点分析 1.什么是log4j?与log4j2关系?   log4j是apache著名的开源日志框架,log4j是log4j2的前身. 2.JNDI是什么?   JNDI是Java Naming ...

  7. 【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 文件 二, ...

  8. DirtyCow漏洞复现(脏牛、大脏牛、Linux、Android、提权)

    编译好的EXP下载地址: https://github.com/Brucetg/DirtyCow-EXP 该漏洞是 Linux 内核的内存子系统在处理写时拷贝(Copy-on-Write)时存在条件竞 ...

  9. Linux脏牛漏洞提权复现

    操作系统: Linux ( CentOS 6.5) Web服务: PHP+Apache 环境搭建 第一步,配置yum源,安装PHP 进入yum目录 cd /etc/yum.repos.d/ 创建文件夹 ...

最新文章

  1. 局域网配置NTP服务器
  2. 删除DataTable中列重复的行
  3. Android setTag()/getTag()
  4. OpenStack构架知识梳理
  5. DAY77-Django框架(八)
  6. js反混淆还原工具_SATURN反混淆框架
  7. 解决Win7系统没有声音 麦克无声等问题
  8. Python中ASCII码的数字和字符的转换
  9. iOS “项目名” has conflicting provisioning settings.
  10. 用Intel线程构建块进行安全、可伸缩性的并行编程
  11. Qt_qDebug 原理详解
  12. 可变模糊集理论matlab程序,可变模糊集理论的哲学基础
  13. case when 多条件 oracle,casewhen(casewhen同时满足多条件)
  14. rk3128 平台rk818电源管理驱动移植
  15. 播布客小布老师所有视频
  16. 使用pathogen安装vim插件nerdtreee
  17. python遍历文件夹下文件 批量重命名
  18. 12道Java高级面试题:java时间差计算
  19. 北京慈文影视制作有限公司诉被告北京百度网讯科技有限公司侵犯著作权纠纷一案判决书
  20. 目的:使用CUDA环境变量CUDA_VISIBLE_DEVICES来限定CUDA程序所能使用的GPU设备

热门文章

  1. 将PHP开发的网站分布式部署,如何进行分布式部署
  2. 【软件测试】Git查看commit的提交历史(详细)一点即通...
  3. 9.1 dfs思想 —— 【迷宫】
  4. Siemens:解决 “STEP 7 Professional 的许可无法彻底完成” 问题
  5. data grip 快捷键
  6. ShardingSphere读写分离
  7. ONVIF协议网络摄像机(IPC)客户端程序开发(5):门外汉理解ONVIF协议
  8. 【超凡蜘蛛侠2】火爆来袭
  9. 词法分析器java语言_词法分析器java版(java词法分析器)
  10. 薅羊毛第二十三次更新