当前位置:   article > 正文

Ubuntu20.04LTS从零开始配置运行SlowFast_ubuntu如何安装slowfast

ubuntu如何安装slowfast

Ubuntu20.04LTS从零开始配置SlowFast环境

注意:除个别包外尽量使用anaconda安装,方便以后备份和恢复环境

1. 安装Anaconda并换源(按需)

conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2. 安装CUDA11.0

3. 安装cudnn8

4. 新建虚拟环境

conda create -n slowfast python=3.8
  • 1

5. 安装git

conda install git
  • 1

6. 安装pytorch

conda install pytorch torchvision torchaudio cudatoolkit=11.0
  • 1

如果中途断了或者失败,重新运行指令。成功的标志是出现这几行
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
安装好后进入python,import torch看看是否报错,报错可以卸载用pip重装

7. 安装OpenCV

用conda安装opencv会有各种小毛病比如说无法调用,或者python版本不支持。
所以用pip安装好一点。

pip3 install opencv-python
  • 1

自动安装最新版本的opencv
安装完成后进入python检查是否可以调用

$python3
>>>import cv2
>>>print(cv2.__version__)
4.4.0
  • 1
  • 2
  • 3
  • 4

8. 安装simplejson

conda install simplejson
  • 1

9. 安装fvcore

按照作者团队说的安装完这个会自动安装ffmepg,PyYaml等包,但是我这边并没有安装,还需要按下面写的手动安装一下。

pip install 'git+https://github.com/facebookresearch/fvcore'
  • 1

10. 安装PyAV

conda install av -c conda-forge
  • 1

11. 安装PyYaml

conda install pyyaml
  • 1

12. 安装tqdm

conda install tqdm
  • 1

13. 安装tensorboard和moviepy(选装)

如果暂时不想调试可以先不装

pip install tensorboard
conda install -c conda-forge moviepy
  • 1
  • 2

14. 安装psutil(注)

如果之前的包装的没问题这个应该已经是装好的了,以防万一还是运行一下这个指令吧。

pip install psutil
  • 1

15. 安装detectron2

  1. 安装ninja,缺少可能会在安装detectron2时报错
conda install ninja
  • 1
  1. 安装detectron2
方法1
python -m pip install 'git+https://github.com/facebookresearch/detectron2.git'
  • 1
方法2

git clone https://github.com/facebookresearch/detectron2.git
下载到本地后进入~
输入指令
python -m pip install -e detectron2

方法3

进入detectron2找到你配置对应的预安装指令,直接运行即可

报错处理

1.报错 Command '['ninja', '-v']' returned non-zero exit status 1.
. 解决办法:修改torch包里的cpp_extention.py的1479行

#command = ['ninja', '-v'] (line1479)
command = ['ninja', '--version']
  • 1
  • 2
  1. 报错error: command ':/usr/local/cuda-11.0/bin/nvcc' failed with exit status 1
    解决方法:修改cuda路径为以下形式
gedit ~/.bashrc
  • 1
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda=11.0
# 将上面的语句修改成:
export CUDA_HOME=/usr/local/cuda=11.0
  • 1
  • 2
  • 3
source ~/.bashrc
  • 1
  1. 一些依赖项报错
    conda uninstall卸载报错的依赖项改用pip安装。

16. 测试detectron2

测试video

python demo.py --config-file ../configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml --input--video input/video/video_0002.mp4  --opts MODEL.WEIGHTS ../models/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/model_final_f10217.pkl
  • 1

报了个警告124:UserWarning: This overload of nonzero is deprecated:
解决办法
修改your-path/detectron2/detectron2/modeling/roi_heads/fast_rcnn.py文件的124行。

filter_inds = filter_mask.nonzero()
#将124行修改为
filter_inds=torch.nonzero(filter_mask, as_tuple=False)
  • 1
  • 2
  • 3

我习惯性的把输出格式改成MPEG-4
修改demo.py的
138行.mkv---->.mp4和
147行改为fourcc=cv2.VideoWriter_fourcc('X', 'V', 'I', 'D'),

再运行一遍:
输入视频:

600x400 fps=10
输出视频:

在这里插入图片描述

17. 安装SlowFast

git clone https://github.com/facebookresearch/slowfast
  • 1

将Slowfast加入python环境

gedit ~/.bashrc
#在结尾加入
export PYTHONPATH=$PYTHONPATH:/home/你的路径/slowfast/slowfast
#保存关闭
source ~/.bashrc
  • 1
  • 2
  • 3
  • 4
  • 5

进入slowfast根目录(注意大小写,原来的是SlowFast,我改成slowfast了)后安装。

cd slowfast
python setup.py build develop
  • 1
  • 2

成功的标志:
出现Finished processing dependencies for slowfast==1.0

18. 运行Demo

ava.json下载
简单修改一下配置文件

TRAIN:
  ENABLE: False
  DATASET: ava
  BATCH_SIZE: 64
  EVAL_PERIOD: 5
  CHECKPOINT_PERIOD: 1
  AUTO_RESUME: True
  CHECKPOINT_FILE_PATH: /home/abali/slowfast/pre_model/AVA/SLOWFAST_32x2_R101_50_50_v2.1.pkl 
  #path to the pretrain checkpoint file.
  CHECKPOINT_TYPE: caffe2
DATA:
  NUM_FRAMES: 4
  SAMPLING_RATE: 16
  TRAIN_JITTER_SCALES: [256, 320]
  TRAIN_CROP_SIZE: 224
  TEST_CROP_SIZE: 256
  INPUT_CHANNEL_NUM: [3]
DETECTION:
  ENABLE: True
  ALIGNED: False
AVA:
  DETECTION_SCORE_THRESH: 0.9
  TRAIN_PREDICT_BOX_LISTS: [
    "ava_train_v2.2.csv",
    "person_box_67091280_iou90/ava_detection_train_boxes_and_labels_include_negative_v2.2.csv",
  ]
  TEST_PREDICT_BOX_LISTS: ["person_box_67091280_iou90/ava_detection_val_boxes_and_labels.csv"]
RESNET:
  ZERO_INIT_FINAL_BN: True
  WIDTH_PER_GROUP: 64
  NUM_GROUPS: 1
  DEPTH: 50
  TRANS_FUNC: bottleneck_transform
  STRIDE_1X1: False
  NUM_BLOCK_TEMP_KERNEL: [[3], [4], [6], [3]]
  SPATIAL_DILATIONS: [[1], [1], [1], [2]]
  SPATIAL_STRIDES: [[1], [2], [2], [1]]
NONLOCAL:
  LOCATION: [[[]], [[]], [[]], [[]]]
  GROUP: [[1], [1], [1], [1]]
  INSTANTIATION: softmax
BN:
  USE_PRECISE_STATS: False
  NUM_BATCHES_PRECISE: 200
SOLVER:
  BASE_LR: 0.1
  LR_POLICY: steps_with_relative_lrs
  STEPS: [0, 10, 15, 20]
  LRS: [1, 0.1, 0.01, 0.001]
  MAX_EPOCH: 20
  MOMENTUM: 0.9
  WEIGHT_DECAY: 1e-7
  WARMUP_EPOCHS: 5.0
  WARMUP_START_LR: 0.000125
  OPTIMIZING_METHOD: sgd
MODEL:
  NUM_CLASSES: 80
  ARCH: slow
  MODEL_NAME: ResNet
  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: .
DEMO:
  ENABLE: True
  LABEL_FILE_PATH:  "./demo/AVA/ava.json" # Add local label file path here.
  INPUT_VIDEO:  "./data/input/0002.mp4"
  OUTPUT_FILE:  "./data/output/0002.mp4"
  WEBCAM: -2
  DETECTRON2_CFG: "COCO-Detection/faster_rcnn_R_50_FPN_3x.yaml"
  DETECTRON2_WEIGHTS: "/home/abali/detectron2/models/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/model_final_f10217.pkl"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81

然后运行

python tools/run_net.py  --cfg configs/conv/AVA/SLOW_8x8_R50_SHORT.yaml
  • 1

输出结果:

demo_net.py: 119: Finish demo in: 31.476146697998047
  • 1

在这里插入图片描述

2020/11/15 19:50:44

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/864018
推荐阅读
相关标签
  

闽ICP备14008679号