尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

MTTR常见问题排查:环境报错、显存不足与结果复现的10个解决方案

MTTR常见问题排查:环境报错、显存不足与结果复现的10个解决方案 MTTR常见问题排查环境报错、显存不足与结果复现的10个解决方案【免费下载链接】MTTR项目地址: https://gitcode.com/gh_mirrors/mt/MTTRMTTRMultimodal Transformers for Referring Video Object Segmentation是CVPR 2022收录的端到端视频目标分割模型它用多模态Transformer把自然语言描述与视频帧对齐实现说哪切哪的指代视频分割。很多新手在安装环境、训练评估或复现论文结果时常被环境报错、显存不足等问题卡住。本文整理了MTTR最常见的10个问题及解决方案帮你从克隆代码到跑通实验一次到位。 本文面向新手和普通用户尽量少贴大段代码以出问题→为什么→怎么修为主线按环境报错 → 显存不足 → 结果复现三大类展开。一、环境报错类装不上、跑不动、版本冲突解决方案1Python与CUDA版本不匹配导致编译失败典型报错CUDA_HOME not found或No matching distribution found for torch。MTTR官方在Ubuntu 18.04 Conda环境下验证推荐Python 3.9.7。安装PyTorch时务必根据自己显卡的CUDA版本选择对应的安装命令例如conda create -n mttr python3.9.7 pip -y conda activate mttr conda install pytorch1.10.0 torchvision0.11.1 -c pytorch -c conda-forge如果是在中国大陆网络环境建议用国内镜像源加速。安装后用python -c import torch; print(torch.__version__, torch.cuda.is_available())验证CUDA是否可用。解决方案2transformers版本不匹配导致文本编码器报错典型报错AttributeError: RobertaModel object has no attribute ...或 Hugging Face 模型下载失败。MTTR依赖transformers4.11.3版本过新或过旧都可能与代码中的models/multimodal_transformer.py不兼容。请固定版本安装pip install transformers4.11.3若卡在模型权重下载可先手动把roberta-base权重放到Hugging Face缓存目录或配置HF_ENDPOINT镜像加速。解决方案3pycocotools、h5py等依赖缺失典型报错ModuleNotFoundError: No module named pycocotools或h5py。评估mAP指标需要COCO API读取A2D-Sentences的h5标注需要h5py。一次性补齐pip install h5py wandb opencv-python protobuf av einops ruamel.yaml timm joblib conda install -c conda-forge pandas matplotlib cython scipy cupy其中cupy用于加速mask编解码av用于视频读取datasets/a2d_sentences/a2d_sentences_dataset.py中通过torchvision.io.read_video读取视频。解决方案4wandb初始化报错卡住典型报错wandb: Network error或训练启动时一直停在wandb登录。MTTR默认在训练时初始化wandb日志。如果不需要在线记录直接改配置把configs/下对应yaml里的wandb_mode设为disabled即可离线运行不影响训练和评估结果。二、显存不足类OOM怎么办解决方案5降低batch size是最快的救急方案典型报错RuntimeError: CUDA out of memory. Tried to allocate ...。MTTR的显存占用主要由 batch size-bs和 window size-ws决定。官方在RTX 3090 24GB上以-bs 3评估A2D-Sentences显存不够时先逐步调小python main.py -rm eval -c configs/a2d_sentences.yaml -ws 10 -bs 1 -ckpt CHECKPOINT_PATH -ng 1评估batch size还可以单独用-ebs指定不必与训练一致。解决方案6缩小window size大幅降低显存关键原理MTTR把window_size帧作为一个窗口同时送入多模态Transformer窗口越大显存开销越大。官方同时提供-ws 10mAP 46.1和-ws 8mAP 44.7两档结果显存紧张时用8帧窗口即可精度损失很小。解决方案7开启AMP混合精度 单卡调试模式两个实用技巧各数据集yaml中enable_amp默认是true自动混合精度确认没有被改成false排查问题时用-cpu参数在CPU上跑通流程main.py支持-cpu虽然慢但能排除显存因素显存仍然不足时检查train_short_size/train_max_size输入尺寸参数A2D默认320×576适当缩小可进一步省显存。参数作用显存紧张建议-bs每张卡的batch size降到1~2-ws窗口帧数12→8→4enable_amp混合精度开关保持true-ng使用的GPU数量用-ng 1先跑通三、结果复现类为什么跑不出论文的mAP解决方案8checkpoint加载失败或权重不匹配典型报错size mismatch for ...或Missing key(s) in state_dict。评估命令用-ckpt指定权重路径代码在main.py中会先解包model_state_dict再load_state_dict(strictTrue)加载。常见坑有两个权重与config不一致例如用-ws 12的权重去跑-ws 8或backbone类型不一致报尺寸不匹配请核对权重对应的数据集和窗口大小路径写错checkpoint请放在项目内并用相对路径例如./checkpoints/a2d_ws10.pth.tar。解决方案9数据集路径错误导致找不到文件MTTR按固定目录结构读取数据A2D-Sentences要求Release/videoset.csv、CLIPS320/、text_annotations/等按官方目录摆放Refer-YouTube-VOS要求train/JPEGImages/、meta_expressions/等。目录放错会报FileNotFoundError或断言错误如assert len(a2d_data_info) 3782。 重点检查configs/中对应yaml的dataset_name与dataset_coco_gt_format_path评估A2D时会自动在datasets/a2d_sentences/下生成COCO格式GT文件a2d_sentences_test_annotations_in_coco_format.json首次运行请耐心等待。解决方案10结果不一致先固定seed和采样元数据为什么每次跑的结果略有差异MTTR代码中seed42已固定见各yaml但JHMDB-Sentences评估时会均匀采样每段视频的3帧不同机器采样结果不同会导致mAP波动。官方为此提供了采样元数据文件datasets/jhmdb_sentences/jhmdb_sentences_samples_metadata.json评估时自动加载以保证可复现若想自己重新采样可修改configs/jhmdb_sentences.yaml里的seed和generate_new_samples_metadata参数。Refer-YouTube-VOS也有datasets/refer_youtube_vos/train_samples_metadata_win_size_12.json等元数据文件。 另外提醒Refer-YouTube-VOS的验证集标注不公开官方评估方式是生成预测mask压缩包runs/[RUN_DATE_TIME]/validation_outputs/submission_epoch_0.zip再上传到比赛服务器打分论文JF为55.32本地看不到mAP属正常现象。四、一张排查速查表现象根因最快解法CUDA编译失败驱动/CUDA与PyTorch不匹配按官方1.10.0命令重装transformers报错版本过新固定4.11.3缺模块依赖没装全按README一条条装wandb卡住网络/未登录wandb_mode: disabledCUDA OOM显存超限降-bs再降-ws权重尺寸不匹配权重与config不符核对数据集与窗口大小文件找不到数据集目录结构错对照README目录树结果有偏差采样/seed不一致固定seed并复用元数据写在最后MTTR的报错大多集中在环境版本、显存预算、数据路径这三件事上。遇到问题先对照本文的速查表定位再按对应方案处理环境类用官方版本号对齐显存类先降-bs再降-ws复现类固定seed并检查权重与数据集一致性。如果上面的方案还不能解决可以重新clone一份干净的仓库git clone https://gitcode.com/gh_mirrors/mt/MTTR按README.md的目录树逐步核对数据摆放90%的玄学报错其实都源于目录或版本细节。祝你的MTTR实验一次跑通早日复现论文46.1的mAP【免费下载链接】MTTR项目地址: https://gitcode.com/gh_mirrors/mt/MTTR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表