0


三分钟快速安装 facebookresearch SlowFast

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 psutil

pip 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_repo

apt 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.yaml

cp /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:False
  DATASET: ava
  BATCH_SIZE:16
  EVAL_PERIOD:1
  CHECKPOINT_PERIOD:1
  AUTO_RESUME:True
  CHECKPOINT_FILE_PATH:'/home/slowfast/configs/AVA/c2/SLOWFAST_32x2_R101_50_50.pkl'#path to pretrain model
  CHECKPOINT_TYPE: pytorch
DATA:
  NUM_FRAMES:32
  SAMPLING_RATE:2
  TRAIN_JITTER_SCALES:[256,320]
  TRAIN_CROP_SIZE:224
  TEST_CROP_SIZE:256
  INPUT_CHANNEL_NUM:[3,3]
DETECTION:
  ENABLE:True
  ALIGNED:False
AVA:
  BGR:False
  DETECTION_SCORE_THRESH:0.8
  TEST_PREDICT_BOX_LISTS:["person_box_67091280_iou90/ava_detection_val_boxes_and_labels.csv"]
SLOWFAST:
  ALPHA:4
  BETA_INV:8
  FUSION_CONV_CHANNEL_RATIO:2
  FUSION_KERNEL_SZ:5
RESNET:
  ZERO_INIT_FINAL_BN:True
  WIDTH_PER_GROUP:64
  NUM_GROUPS:1
  DEPTH:101
  TRANS_FUNC: bottleneck_transform
  STRIDE_1X1:False
  NUM_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_product
  POOL:[[[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:False
  NUM_BATCHES_PRECISE:200
SOLVER:
  MOMENTUM:0.9
  WEIGHT_DECAY:1e-7
  OPTIMIZING_METHOD: sgd
MODEL:
  NUM_CLASSES:80
  ARCH: slowfast
  MODEL_NAME: SlowFast
  LOSS_FUNC: bce
  DROPOUT_RATE:0.5
  HEAD_ACT: sigmoid
TEST:
  ENABLE:False
  DATASET: ava
  BATCH_SIZE:8
DATA_LOADER:
  NUM_WORKERS:2
  PIN_MEMORY:True

NUM_GPUS:1
NUM_SHARDS:1
RNG_SEED:0
OUTPUT_DIR:.#TENSORBOARD:#  MODEL_VIS:#    TOPK: 2
DEMO:
  ENABLE:True
  LABEL_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

最后结果:

在这里插入图片描述


本文转载自: https://blog.csdn.net/WhiffeYF/article/details/124727403
版权归原作者 CV-杨帆 所有, 如有侵权,请联系我们删除。

“三分钟快速安装 facebookresearch SlowFast”的评论:

还没有评论