找回密码
 立即注册
发表于 2021-4-9 22:14:31
8149
本帖最后由 Summer 于 2021-4-9 23:31 编辑

我们在使用自行录音的语音数据集从头进行训练时遇到了一下报错信息:
Traceback (most recent call last):
  File "nemo_hackathon_final_3.28.py", line 87, in <module>
    trainer.fit(first_asr_model)
  File "/opt/conda/lib/python3.6/site-packages/pytorch_lightning/trainer/trainer.py", line 445, in fit
    results = self.accelerator_backend.train()
  File "/opt/conda/lib/python3.6/site-packages/pytorch_lightning/accelerators/ddp_spawn_accelerator.py", line 74, in train
    mp.spawn(self.ddp_train, nprocs=self.nprocs, args=(self.mp_queue, model,))
  File "/opt/conda/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 200, in spawn
    return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
  File "/opt/conda/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 149, in start_processes
    process.start()
  File "/opt/conda/lib/python3.6/multiprocessing/process.py", line 105, in start
    self._popen = self._Popen(self)
  File "/opt/conda/lib/python3.6/multiprocessing/context.py", line 284, in _Popen
    return Popen(process_obj)
  File "/opt/conda/lib/python3.6/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/opt/conda/lib/python3.6/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/opt/conda/lib/python3.6/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/opt/conda/lib/python3.6/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
AttributeError: Can't pickle local object 'FilterbankFeatures.__init__.<locals>.<lambda>'

查询Google发现github上有人提出过issue,根据提示更改为单GPU运行但依然报错:github.com/NVIDIA/NeMo/issues/1194
但之后尝试直接使用迁移学习模型训练,则没有遇到报错。请问该如何解决?(使用的运行文件在附件中)
PS: 使用的设备和环境是DGX Station, Ubuntu 18.04, Nemo Docker



nemo_hackathon_final_3.28.zip

1.94 KB, 下载次数: 8

使用道具 举报 回复
发表于 2021-4-9 22:52:55
请先检查你的数据集语音格式是否为单声道 44100Hz .wav格式?
使用道具 举报 回复 支持 反对
发表于 2021-4-9 23:14:13
yipengli 发表于 2021-4-9 22:52
请先检查你的数据集语音格式是否为单声道 44100Hz .wav格式?

处理过的了,已再次确认,且直接使用迁移学习模型是可以正确输出模型的
使用道具 举报 回复 支持 反对
发表于 2021-4-9 23:28:25
Summer 发表于 2021-4-9 23:14
处理过的了,已再次确认,且直接使用迁移学习模型是可以正确输出模型的 ...

你的意思是你的数据集没问题 ,迁移学习模型跑通了 ,只是从头训练部分报错吗?
使用道具 举报 回复 支持 反对
发表于 2021-4-9 23:32:39
yipengli 发表于 2021-4-9 23:28
你的意思是你的数据集没问题 ,迁移学习模型跑通了 ,只是从头训练部分报错吗?  ...

是的,使用的代码就是训练营提供的ipynb转的py,已经上传附件了
使用道具 举报 回复 支持 反对
发表于 2021-4-9 23:44:33
Summer 发表于 2021-4-9 23:32
是的,使用的代码就是训练营提供的ipynb转的py,已经上传附件了

你有几个GPU啊? gpus=[2,3]这个位置设置是不是可以调整调整参数试试? 我用你的代码调整成我的GPU数量1即"gpus=1" 是可以正常运行的
使用道具 举报 回复 支持 反对
发表于 2021-4-10 00:01:13
yipengli 发表于 2021-4-9 23:44
你有几个GPU啊? gpus=[2,3]这个位置设置是不是可以调整调整参数试试? 我用你的代码调整成我的GPU数量1即" ...

DGX有4个,前两个在跑别的模型,所以我指定了剩下两个[2, 3]
使用道具 举报 回复 支持 反对
发表于 2021-4-10 00:35:09
yipengli 发表于 2021-4-9 23:44
你有几个GPU啊? gpus=[2,3]这个位置设置是不是可以调整调整参数试试? 我用你的代码调整成我的GPU数量1即" ...

老师你好,我已经自己解决了,需要在trainer里多加一个参数 accelerator='ddp' 就可以了,参考Pytorch Lightning文档:pytorch-lightning.readthedocs.io/en/latest/common/trainer.html
使用道具 举报 回复 支持 反对
发表于 2021-4-10 16:20:39
Summer 发表于 2021-4-10 00:35
老师你好,我已经自己解决了,需要在trainer里多加一个参数 accelerator='ddp' 就可以了,参考Pytorch Li ...

真棒!
使用道具 举报 回复 支持 反对
发表于 2021-4-29 11:03:33
训练营提供的ipynb转的py,和视频讲解的不太一致吧?源文件从哪里获取的?谢谢!
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册