代码拉取完成,页面将自动刷新
同步操作将从 PaddlePaddle/PaddleVideo 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
简体中文 | English
您的机器安装的是CUDA9或CUDA10,请运行以下命令安装
python3.7 -m pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple
您的机器是CPU,请运行以下命令安装
python3.7 -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
更多的版本需求,请参照飞桨官网安装文档中的说明进行操作。
pip3.7 install ppvideo==2.3.0
python3.7 setup.py bdist_wheel
python3.7 -m pip install dist/ppvideo-2.3.0-py3-none-any.whl
安装完成后,运行如下脚本命令:
ppvideo --model_name='ppTSM_v2' --use_gpu=False --video_file='data/example.avi'
上述代码使用PP-TSM_v2
模型,基于CPU
,对data/example.avi
示例文件进行预测。
示例视频长度约10s,抽帧策略采用分段抽帧,即先将视频按时间轴等分成16段,每段抽取一帧,所有帧组合之后,输入网络进行预测。
运行结果如下:
Current video file: data/example.avi
top-1 classes: [5]
top-1 scores: [1.]
top-1 label names: ['archery']
可以看到,使用在Kinetics-400上训练好的PP-TSM_v2
模型对data/example.avi
进行行为识别,输出的top1类别id为5
,置信度为1.0
,预测类别名称为archery
。
安装完成后,运行如下示例代码:
from ppvideo import PaddleVideo
clas = PaddleVideo(model_name='ppTSM_v2', use_gpu=False)
video_file='data/example.avi'
clas.predict(video_file)
上述代码使用PP-TSM_v2
模型,基于CPU
,对data/example.avi
示例文件进行预测,运行结果如下:
Current video file: data/example.avi
top-1 classes: [5]
top-1 scores: [1.]
top-1 label names: ['archery']
可以看到,使用在Kinetics-400上训练好的PP-TSM_v2
模型对data/example.avi
进行预测,输出的top1类别id为5
,置信度为1.0
,预测类别名称为archery
。
参数名称 | 参数类型 | 参数含义 |
---|---|---|
model_name | str | 可选,模型名称,'ppTSM '或'ppTSM_v2' 。 如果不指定,需要通过model_file 和params_file ,提供自己的推理模型文件路径进行推理。 |
video_file | str | 必选,视频文件路径,支持格式:单个视频文件路径,包含多个视频的文件夹。 |
use_gpu | bool | 是否使用GPU,默认为True。 |
num_seg | int | TSM分段采样策略中segment的数量,同时也是视频中抽帧的数量,8对应ppTSM 模型,16对应ppTSM_v2 模型,默认为16。 |
short_size | int | 帧的短边尺寸大小,默认为256。 |
target_size | int | 帧的目标尺寸大小,默认为224。 |
model_file | str | 可选,推理模型的模型文件(.pdmodel )的路径。 |
params_file | str | 可选,推理模型的参数文件(.pdiparams )的路径。 |
batch_size | int | Batch size, 默认为1。 |
use_fp16 | bool | 是否使用float16,默认为False。 |
use_tensorrt | bool | 是否使用Tensorrt,默认为False。 |
gpu_mem | int | GPU使用显存大小,默认为8000。 |
enable_mkldnn | bool | 是否使用MKLDNN,默认为False。 |
top_k | int | 指定返回的top_k,默认为1。 |
label_name_path | str | 类别id和类别名称对应关系文件。默认使用Kinetics-400数据集使用的标签文件data/k400/Kinetics-400_label_list.txt ,可参考以上格式替换成自己的标签文件。 |
示例命令1:
ppvideo --model_name='ppTSM_v2' --num_seg=16 --video_file="data/mp4" --batch_size=2 --top_k=5
PP-TSM_v2
模型,对data/mp4
文件夹下的所有视频文件进行推理,batch_size
为2,输出top5
结果。ppTSM
对应的num_seg
为8,ppTSM_v2
对应的num_seg
为16。1400MB
。输出示例:
Current video file: data/mp4/example3.avi
top-5 classes: [ 5 345 311 159 327]
top-5 scores: [1.0000000e+00 1.0152016e-11 8.2871061e-14 6.7713670e-14 5.0752070e-14]
top-5 label names: ['archery', 'sword_fighting', 'skipping_rope', 'hula_hooping', 'spray_painting']
Current video file: data/mp4/example2.avi
top-5 classes: [ 5 345 311 159 327]
top-5 scores: [1.0000000e+00 1.0152016e-11 8.2871061e-14 6.7713670e-14 5.0752070e-14]
top-5 label names: ['archery', 'sword_fighting', 'skipping_rope', 'hula_hooping', 'spray_painting']
Current video file: data/mp4/example.avi
top-5 classes: [ 5 345 311 159 327]
top-5 scores: [1.0000000e+00 1.0152016e-11 8.2871061e-14 6.7713670e-14 5.0752070e-14]
top-5 label names: ['archery', 'sword_fighting', 'skipping_rope', 'hula_hooping', 'spray_painting']
Current video file: data/mp4/example1.avi
top-5 classes: [ 5 345 311 159 327]
top-5 scores: [1.0000000e+00 1.0152016e-11 8.2871061e-14 6.7713670e-14 5.0752070e-14]
top-5 label names: ['archery', 'sword_fighting', 'skipping_rope', 'hula_hooping', 'spray_painting']
示例命令2:
ppvideo --model_name='ppTSM' --num_seg=8 --video_file="data/mp4" --batch_size=2 --top_k=5
ppTSM
模型进行推理。python3.7 -m pip install opencv-python==4.2.0.32 -i https://pypi.doubanio.com/simple
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。