Ayanaminn / N46Whisper

Whisper based Japanese subtitle generator
MIT License
1.56k stars 128 forks source link

尝试翻译英文视频时内存爆了…… #18

Open yy35959199 opened 1 year ago

yy35959199 commented 1 year ago

按照教程一步步走,语言写的English,内容没放视频而是抽取了整个音轨导入,执行生成时内存爆了…… 加载模型 Loading model...

OutOfMemoryError Traceback (most recent call last) in 46 torch.cuda.empty_cache() 47 print('加载模型 Loading model...') ---> 48 model = whisper.load_model(model_size) 49 50 #Transcribe

8 frames /usr/local/lib/python3.9/dist-packages/torch/nn/modules/module.py in convert(t) 985 return t.to(device, dtype if t.is_floating_point() or t.is_complex() else None, 986 non_blocking, memory_format=convert_to_format) --> 987 return t.to(device, dtype if t.is_floating_point() or t.is_complex() else None, non_blocking) 988 989 return self._apply(convert)

OutOfMemoryError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 14.75 GiB total capacity; 13.66 GiB already allocated; 6.81 MiB free; 14.18 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

LoveCany commented 1 year ago

可能是之前已经跑过一次descrption然后尝试再跑发现显存之前没有被清空?我现在的solution是重启后端从头重新跑一次

如果是全新从头跑的还会爆显存建议尝试修改代码去百度AI Studio蹭免费的V100 32G跑【

yy35959199 commented 1 year ago

可能是之前已经跑过一次descrption然后尝试再跑发现显存之前没有被清空?我现在的solution是重启后端从头重新跑一次

如果是全新从头跑的还会爆显存建议尝试修改代码去百度AI Studio蹭免费的V100 32G跑【

最新测试: 30分钟和1小时的纯音频可以直接执行,之前2小时的音频爆了,不知道是原本没清空还是2小时太大了…… large-v2的英文分句比较友好,但是仍然可能会出现反复重复一段碎碎念OTZ

Ayanaminn commented 1 year ago

2小时可能是太长了,导致处理到后面免费分配的显存不够。另外音频过长就很容易出现单句重复的问题。

处理上一个任务之后释放显存我还没找到什么好办法,现在用的是torch.cuda.empty_cache(),但是似乎没什么效果

Ayanaminn commented 1 year ago

另外调节模型参数可以避免出现单句重复的问题,如果有大量相似的视频可以试着调一个合适自己的参数

LoveCany commented 1 year ago

2小时可能是太长了,导致处理到后面免费分配的显存不够。另外音频过长就很容易出现单句重复的问题。

处理上一个任务之后释放显存我还没找到什么好办法,现在用的是torch.cuda.empty_cache(),但是似乎没什么效果

之前尝试发现了能释放显存的办法,但是目前发现内存还释放不掉...