0 前言

去年写了一篇博客:【SlowFast复现】SlowFast Networks for Video Recognition复现代码 使用自己的视频进行demo检测

facebookresearch SlowFast :https://github.com/facebookresearch/SlowFast

但是没有整理出快速安装的流程,这次就是把所有的安装指令整理处理,实现快速安装 facebookresearch SlowFast,如果不受国内网速限制,1分钟左右就可以安装好。

1 准备

我采用的AI平台:https://cloud.videojj.com/auth/register?inviter=18452&activityChannel=student_invite

AI平台镜像选择:pytorch 1.8.0,python 3.8,CUDA:11.1.1

为了能够每次都能快速安装 facebookresearch SlowFast,需要提前下好两个权重,一个是slowfast的权重,一个是faster rcnn的权重。

需要先将这两个权重下载到AI平台的:/user-data/slowfastFile
model_final_280758.pkl:https://dl.fbaipublicfiles.com/detectron2/COCO-Detection/faster_rcnn_R_50_FPN_3x/137849458/model_final_280758.pkl
SLOWFAST_32x2_R101_50_50.pkl:https://dl.fbaipublicfiles.com/pyslowfast/model_zoo/ava/SLOWFAST_32x2_R101_50_50.pkl

mkdir -p /user-data/slowfastFile
cd /user-data/slowfastFile
wget https://dl.fbaipublicfiles.com/pyslowfast/model_zoo/ava/SLOWFAST_32x2_R101_50_50.pkl
wget https://dl.fbaipublicfiles.com/detectron2/COCO-Detection/faster_rcnn_R_50_FPN_3x/137849458/model_final_280758.pkl

2 开始安装

pip install 'git+https://gitee.com/YFwinston/fvcore'
pip install simplejson
conda install av -c conda-forge -y
conda install x264 ffmpeg -c conda-forge -y
pip install -U iopath or conda install -c iopath iopath
pip install psutilpip install tensorboard
pip install moviepy
pip install pytorchvideo
pip install 'git+https://gitee.com/YFwinston/fairscale'
cd /home
pip install cython; pip install git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI
git clone https://gitee.com/YFwinston/detectron2  detectron2_repo
cd  detectron2_repo
python setup.py build develop
cd ..
pip install -e detectron2_repoapt update
apt install libgl1-mesa-glx
cd /home
git clone https://gitee.com/YFwinston/slowfast.git
export PYTHONPATH=/home/slowfast:$PYTHONPATH
cd slowfast
python setup.py build develop
cd /home/slowfast/demo/AVA
touch ava.json
touch SLOWFAST_32x2_R101_50_50s.yamlcp /user-data/slowfastFile/SLOWFAST_32x2_R101_50_50.pkl /home/slowfast/configs/AVA/c2/
cp /user-data/slowfastFile/model_final_280758.pkl /home/slowfast/configs/AVA/c2/

然后在/home/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}

然后在/home/slowfast/demo/AVA下面的SLOWFAST_32x2_R101_50_50s.yaml 写入:

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
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: "/home/slowfast/demo/AVA/ava.json"INPUT_VIDEO: "/home/slowfast/demo/1.mp4"OUTPUT_FILE: "/home/slowfast/demo/out.mp4"DETECTRON2_CFG: "COCO-Detection/faster_rcnn_R_50_FPN_3x.yaml"DETECTRON2_WEIGHTS: "/home/slowfast/configs/AVA/c2/model_final_280758.pkl"

3 测试

在/home/slowfast/demo/中传入一个视频:1.mp4
执行:

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

最后结果:

三分钟快速安装 facebookresearch SlowFast相关推荐

  1. linux国产操作系统下载网站,三分钟快速安装国产操作系统Ylmf OS

    雨林木风旗下国产操作系统Ylmf OS 4.0已经发布,(具体见http://www.linuxidc.com/Linux/2011-06/36739.htm)靓丽清爽的系统界面和丰富的系统应用立刻引 ...

  2. 深入理解 Redis Template及4种序列化方式__spring boot整合redis实现RedisTemplate三分钟快速入门

    概述 使用Spring 提供的 Spring Data Redis 操作redis 必然要使用Spring提供的模板类 RedisTemplate, 今天我们好好的看看这个模板类 . RedisTem ...

  3. 云小课 | 一个三分钟快速定制OCR应用的神器,要不?

    摘要:ModelArts Pro提供了文字识别套件,基于丰富的文字识别算法和行业知识积累,帮助客户快速构建满足不同业务场景需求的文字识别服务.三分钟即可快速定制OCR服务,实现多种版式图像的文字信息结 ...

  4. 美女电脑手机壁纸自动采集php源码三分钟下载安装

    名称:美女电脑手机壁纸自动采集php源码三分钟下载安装 二.下载:源码https://wwm.lanzout.com/iY4dA07ti57c 三.用途: 可供初学者学习网页原理 可盈利,利用打赏.V ...

  5. 三分钟快速了解CSS Display的属性:Block,Inline,Inline-Block

    文章目录 三分钟快速了解CSS Display的属性:Block,Inline,Inline-Block Block Inline Inline-block Block,Inline,Inline-B ...

  6. 如何三分钟快速制作自定义ppt

    目录 利用ChatGPT+MindShow三分钟生成PPT 机器人 道合顺 莓用ai 百晓生 aichat 结合提词器以达到更好地提问效果: 更好地提问ChatGPT_常用prompt表_小黄同学LL ...

  7. LP框架| 三分钟快速构建分布式微服务系统(一)

    开场章 LP框架极速搭建(用时3分钟) 公司来了新项目,我们如何快速大家一个成熟框架快速开发呢?是copy之前的项目做些更改还是重新一点点搭建?亦或者用公司的框架? 无论怎么做我们目的就是借鉴之前的开 ...

  8. Fuel 30 分钟快速安装OpenStack

    一直以来,对于openstack 的初学者来讲,安装往往是入门的头大难题.在E版本之前,要搭建一个基本能用的openstack 环境那是相当麻烦,自己要装机,自己搞源,自己照着文档敲命令,又没有靠谱的 ...

  9. 三分钟快速搭建分布式高可用的Redis集群

    这里的Redis集群指的是Redis Cluster,它是Redis在3.0版本正式推出的专用集群方案,有效地解决了Redis分布式方面的需求.当单机内存.并发.流量等遇到瓶颈的时候,可以采用这种Re ...

最新文章

  1. “三高”程序员谈:“三高”集群架构 哈哈哈!!!
  2. 《Android App开发入门:使用Android Studio 2.X开发环境》——导读
  3. Ruby如何使用require从外部加载自定义类或模块
  4. omnigraffle怎么画曲线
  5. Linux-sed文本处理流编辑器
  6. win8下面卸载MYSQL数据库
  7. 浅谈c语言中的字符串
  8. 作为一名前端开发工程师,你必须掌握的WEB模板引擎:Handlebars
  9. matlab空间曲面拟合,matlab如何进行曲面拟合
  10. 一步步编写操作系统 65 标准调用约定stdcall 汇编实战
  11. 三星android11推送,三星将在2020年1月开始推送Android 10系统:等太久
  12. 数的分解、分解质因数
  13. docker的安装与加速器的配置
  14. Hibernate之多对多映射
  15. 【Docker】06 DockerFile
  16. JAVA的序列化不得不说的事
  17. 基于android的电子词典设计_基于安卓Android电子词典移动客户端APP设计(AndroidStudio,SQLit...
  18. android 时区表以及设置系统时区
  19. Recap|Hadoop User Group France
  20. Linux驱动学习--V4L2框架

热门文章

  1. idea报错:org.codehaus.plexus.component.repository.exception.ComponentLookupException
  2. 2019计算机二级c题库百度云,【2019年整理】年全国计算机等级考试二级c语言上机题库.docx...
  3. java怎么打印星期,在任何日期打印出星期几
  4. 360阻止了java运行,Java破绽利用-jre安装路径绕过360拦截
  5. 目标码格式解析之DSP目标码Cinit段
  6. bzoj2733 永无乡
  7. BMS 产品控制策略和整车交互策略
  8. JavaScript 之 对象及其本身
  9. Incorrent string value: '\xEF\xBB\xBF'
  10. echarts柱状图数值差异过大和最小值无法选中的问题解决