当我们准备好训练集和配置文件后就可以着手训练的事情了。首先安装好slowfast环境,然后打开源码,slowfast/configs/AVA/SLOWFAST_32x2_R50_SHORT.yaml作如下配置

TRAIN:ENABLE: TrueDATASET: avaBATCH_SIZE: 4EVAL_PERIOD: 5CHECKPOINT_PERIOD: 1AUTO_RESUME: True# CHECKPOINT_FILE_PATH: /home/fut/Downloads/slowfast/pre-model/SLOWFAST_32x2_R101_50_50.pklCHECKPOINT_TYPE: caffe2
DATA:NUM_FRAMES: 32SAMPLING_RATE: 2TRAIN_JITTER_SCALES: [256, 320]TRAIN_CROP_SIZE: 224TEST_CROP_SIZE: 224INPUT_CHANNEL_NUM: [3, 3]PATH_TO_DATA_DIR: './myava'
DETECTION:ENABLE: TrueALIGNED: True
AVA:FRAME_DIR: 'myava/frame'FRAME_LIST_DIR: 'myava/frame_lists'ANNOTATION_DIR: 'myava/annotations'DETECTION_SCORE_THRESH: 0.8TRAIN_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"]
SLOWFAST:ALPHA: 4BETA_INV: 8FUSION_CONV_CHANNEL_RATIO: 2FUSION_KERNEL_SZ: 7
RESNET:ZERO_INIT_FINAL_BN: TrueWIDTH_PER_GROUP: 64NUM_GROUPS: 1DEPTH: 50TRANS_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: [[[], []], [[], []], [[], []], [[], []]]GROUP: [[1, 1], [1, 1], [1, 1], [1, 1]]INSTANTIATION: dot_productPOOL: [[[1, 2, 2], [1, 2, 2]], [[1, 2, 2], [1, 2, 2]], [[1, 2, 2], [1, 2, 2]], [[1, 2, 2], [1, 2, 2]]]
BN:USE_PRECISE_STATS: FalseNUM_BATCHES_PRECISE: 200
SOLVER:BASE_LR: 0.1LR_POLICY: steps_with_relative_lrsSTEPS: [0, 10, 15, 20]LRS: [1, 0.1, 0.01, 0.001]MAX_EPOCH: 300MOMENTUM: 0.9WEIGHT_DECAY: 1e-7WARMUP_EPOCHS: 5.0WARMUP_START_LR: 0.000125OPTIMIZING_METHOD: sgd
MODEL:NUM_CLASSES: 2ARCH: slowfastMODEL_NAME: SlowFastLOSS_FUNC: bceDROPOUT_RATE: 0.5HEAD_ACT: sigmoid
TEST:ENABLE: TrueDATASET: avaBATCH_SIZE: 8
DATA_LOADER:NUM_WORKERS: 2PIN_MEMORY: True
NUM_GPUS: 4
NUM_SHARDS: 1
RNG_SEED: 0
OUTPUT_DIR: .

1 TRAIN:CHECKPOINT_FILE_PATH 就是我们下载的与训练模型的位置
2 DATA:PATH_TO_DATA_DIR 就是我们第二部分制作的数据集文件
3 AVA: 下面的路径也是对应第二部分数据集文件对应的地方
4 MODEL:NUM_CLASSES: 1 这里是最需要主义的,这里classes必需为2,因为我们有fight和person 2个分类。

开始训练:

python tools/run_net.py --cfg configs/AVA/SLOWFAST_32x2_R50_SHORT5.yaml
训练出来的模型文件在chekpoints文件里面,我截图看看

惊喜不?是pyth格式文件,后面我们开始测试模型效果

首先 新建slowfast/demo/AVA/SLOWFAST_32x2_R50_SHORT.yaml文件,写下面代码

TRAIN:ENABLE: FalseDATASET: avaBATCH_SIZE: 1EVAL_PERIOD: 1CHECKPOINT_PERIOD: 1AUTO_RESUME: TrueCHECKPOINT_FILE_PATH: 'checkpoints/checkpoint_epoch_00140.pyth'  #path to pretrain modelCHECKPOINT_TYPE: pytorch
DATA:NUM_FRAMES: 16SAMPLING_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: 2ARCH: slowfastMODEL_NAME: SlowFastLOSS_FUNC: bceDROPOUT_RATE: 0.5HEAD_ACT: sigmoid
TEST:ENABLE: FalseDATASET: avaBATCH_SIZE: 1
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: "myava/annotations/myava.json"INPUT_VIDEO: "myava/videos/fight1.mp4"OUTPUT_FILE: "myava/fight1_out.mp4"DETECTRON2_CFG: "COCO-Detection/faster_rcnn_R_50_FPN_3x.yaml"DETECTRON2_WEIGHTS: detectron2://COCO-Detection/faster_rcnn_R_50_FPN_3x/137849458/model_final_280758.pkl

由于我的显存6GB老是out of memory于是设置NUM_FRAMES为16,如果你显存够可以设置32,这个是默认值。

测试开始:

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

稍等一会结果就出来了。最终效果还可以。

[深度学习][原创]使用labelImg+yolov5完成所有slowfast时空动作检测项目-训练测试篇相关推荐

  1. [深度学习][原创]使用labelImg+yolov5完成所有slowfast时空动作检测项目-开山篇

    slowfast项目地址:GitHub - facebookresearch/SlowFast: PySlowFast: video understanding codebase from FAIR ...

  2. 深度学习论文: TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head 及其PyTorch实现

    深度学习论文: TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head for Object Detection on Dro ...

  3. 深度学习、AI构图、智能裁图、显著性检测、美感质量评价

    深度学习.AI构图.智能裁图.显著性检测.美感质量评价 基于美感数据集和改进的Alexnet-SPP的AI构图智能裁图 基于美感数据集和改进的Alexnet-SPP的显著性检测 部分代码下载地址:下载 ...

  4. 综述|深度学习在SLAM定位与建图中的应用(近250篇参考文献)_3D视觉工坊的博客-CSDN博客

    综述|深度学习在SLAM定位与建图中的应用(近250篇参考文献)_3D视觉工坊的博客-CSDN博客

  5. 滴普技术荟:基于深度学习的云边一体化OLED屏缺陷自动光学检测技术

    作者:阎胜利 中科院博士 助理研究员,从事光电成像系统总体及算法研究,现为滴普科技 2048事业部 技术品牌专家 一.要解决的主要问题 OLED (Organic Light-Emitting Dio ...

  6. 【深度学习】使用labelImg标注图像

    深度学习之数据标注--windows下使用labelImg标注图像 内容参考自博客:https://blog.csdn.net/python_pycharm/article/details/85338 ...

  7. 目标检测YOLO实战应用案例100讲-基于深度学习的航拍图像YOLOv5目标检测研究及应用(论文篇)

    目录 基于深度学习的航拍图像目标检测研究 航拍图像目标检测 评价指标与数据集

  8. 综述|深度学习在SLAM定位与建图中的应用(近250篇参考文献)

    作者丨Jasper@知乎 编辑丨Realcat  计算机视觉SLAM " 近年来深度学习被广泛应用于定位与建图中.相比于传统的手动建模方法,深度学习提供了一种数据驱动的解决方案,并逐步发展成 ...

  9. 如何将深度学习模型部署到实际工程中?(分类+检测+分割)

    应用背景介绍 早在遥远的1989年,一家叫做ALVIVN的公司首次将神经网络用在汽车上,进行车道线检测和地面分割.时至今日,深度学习已经应用在自动驾驶系统的多个分支领域.首先是感知领域,常用的传感器有 ...

最新文章

  1. 经验分享:如何在自己的创业中,用上GPT-3等AI大模型
  2. Emulator 29.0.3 Canary 发布,Android 模拟器
  3. python元类的概念_Python中的元类编程 | 学步园
  4. 服务器运行jar包日志怎么清理,docker 启动jar包,并将日志文件进行挂载
  5. HDU 最大报销额 (0 1 背包)
  6. scala学习手记5 - 元组与多重赋值
  7. python检测特定颜色的形状_python opencv 检测特定颜色
  8. Runtime.getRuntime().exec()----记录日志案例
  9. ci php做记录删除,PHP CI APC 使用记录
  10. java--迭代(三)foreach解析与字节码
  11. C++11 Intro - Thread Id
  12. Nested组件,解决Flutter布局嵌套过深的利器
  13. java开发面试 自我介绍 与 项目介绍是重点
  14. 互动课件制作 html,如何实现多图版互动式图片课件的制作
  15. Detecting Novel Associations in Large Data Sets(检测 大型数据集中的信息关联性,数据相关性)
  16. Android系统之制作开机LOGO
  17. php 显示时间动态效果,使用h5 canvas实现时钟的动态效果
  18. sci论文图排版技巧分享
  19. java解析JT808协议
  20. 2-10偶数乘2奇数乘3

热门文章

  1. 软件测试工程师面试的时候可能被提到的问题
  2. Ubuntu9.04 mplayer中文字幕乱码解决
  3. 用Kali破解WiFi密码——以攻为守,发现自己网络的破绽,提升安全性
  4. DSP6455开发: dsp.lib库使用总结
  5. 前端体系结构知识概括
  6. 记一次成功的软件著作权的申请
  7. [HNOI2012]永无乡
  8. 研究人员发现火星存在大量水冰积层,且距离地表只有几米
  9. GEE|时间序列分析(四)
  10. IS审计师执行风险评估的主要原因