文章目录
环境配置
基础镜像:pytorch/pytorch:1.6.0-cuda10.1-cudnn7-devel
依次:
apt-get update && apt-get install -y vim \
libsm6 \
libxrender1 \
libxext-dev \
libgl1-mesa-glx \
libglib2.0-0 \
git
pip install openmim
pip install git+https://github.com/open-mmlab/mim.git
mim install mmaction2
部分用法简单记录
看docs,看docs,看docs,就够了!
BTW,一些记录:
1. TSM中关于clip_num和clip_length的设置等价性:
TSM训练时设置 1x8x8和 8x8x1是等价的
2. 设置train log打印频率:
在config文件中添加:
log_config = dict(
interval=20,
hooks=[
dict(type='TextLoggerHook'),
dict(type='TensorboardLoggerHook'),
])
interval即为打印频率。这个默认设置在
configs/base/default_runtime.py
一些报错 & 原因 & 解决方法:
1. 找不到MMCV中某个模块:
UserWarning: Fail to import ``MultiScaleDeformableAttention`` from ``mmcv.ops.multi_scale_deform_attn``, You should install ``mmcv-full`` if you need this module.
很大可能是因为mmcv的版本不对,而mmcv高度依赖pytorch和cuda的版本,需要对应好:
pip install mmcv-full==1.3.9 -f https://download.openmmlab.com/mmcv/dist/cu{Cuda_verison}/torch{Pytorch_Version}/index.html
其中,Cuda_version和Pytorch_version 需要根据自己的具体环境来定
例如:
pip install mmcv-full==1.3.9 -f https://download.openmmlab.com/mmcv/dist/cu10.1/torch1.6.0/index.html
2. 自定义数据找不到:
KeyError: 'MyDataset is not in the dataset registry'
在已经根据tutorials要求修改过代码后,还是报错,大概率是因为没有进行以下这一步:
python setup.py install
3. TimeSformer训练时无法load模型:
Only one file(not dir) is allowed in the zipfile
pytorch <= 1.6的版本和mmaction2中相关的zip文件loader不兼容,升级pytorch版本>=1.7.0即可
同时需要更新mmcv-full版本(一定要记得不要用缓存中的安装包,加上–no-cache-dir 参数):
pip install mmcv-full==1.3.9 -f https://download.openmmlab.com/mmcv/dist/cu10.1/torch1.7.0/index.html --no-cache-dir
4. 视频解码部分报错:
RuntimeError: NCCL error in: /pytorch/torch/lib/c10d/ProcessGroupNCCL.cpp:784, unhandled system error, NCCL version 2.7.8
pytorch版本降到1.6即可
比较奇怪的是,用TimeSformer模型inference时,需要pytorch>=1.7才能正常加载模型,此时使用pytorch1.7不会报错,但在用tsm模型inference时,pytorch==1.7就会报上述错误,而降到1.6时,就不会报错了。
未完待续……
版权声明:本文为dwqy11原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。