Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于内存方面 #1

Open
Power886 opened this issue Jul 8, 2021 · 11 comments
Open

关于内存方面 #1

Power886 opened this issue Jul 8, 2021 · 11 comments

Comments

@Power886
Copy link

Power886 commented Jul 8, 2021

你在generate_inputs时一次性加入所有的labels会不会导致内存爆啊,就如CMeEE数据集而言,13000 9 256 256 8=66GB

@gaohongkui
Copy link
Owner

gaohongkui commented Jul 8, 2021

这个问题我没有做过测试(我没有大型数据集文件)。另外,我觉得出现问题的地方应该不是在generate_inputs时,而是在从文件读取至datas时,如果这部分不oom,后续的基本也不会有问题。Pytorch的Dataset加载数据是按需加载。
当然如果出现爆内存的情况,我觉得可以修改data_generator函数的逻辑,比如改为直接用Pytorch的Dataset和Dataloader读取转化数据,将转化逻辑卸载Dataset的collate_fn参数中。

@xhw205
Copy link

xhw205 commented Jul 20, 2021

我测了下 我120G内存,会爆掉

@yysirs
Copy link

yysirs commented Mar 26, 2022

我测了下 我120G内存,会爆掉

请问你现在解决了这个问题嘛?我加载大的数据集也会爆掉

@yysirs
Copy link

yysirs commented Mar 26, 2022

这个问题我没有做过测试(我没有大型数据集文件)。另外,我觉得出现问题的地方应该不是在generate_inputs时,而是在从文件读取至datas时,如果这部分不oom,后续的基本也不会有问题。Pytorch的Dataset加载数据是按需加载。 当然如果出现爆内存的情况,我觉得可以修改data_generator函数的逻辑,比如改为直接用Pytorch的Dataset和Dataloader读取转化数据,将转化逻辑卸载Dataset的collate_fn参数中。

训练数据:3万2千数据,加载到datas中没有问题,问题在generate_inputs的时候内存不足。

@gaohongkui
Copy link
Owner

你可以试试将generate_inputs放在collate_fn中,即在generate_batch函数里调用generate_inputs。这样可以按batchsize处理数据,不用预先全部处理。

@yysirs
Copy link

yysirs commented Mar 26, 2022

你可以试试将generate_inputs放在collate_fn中,即在generate_batch函数里调用generate_inputs。这样可以按batchsize处理数据,不用预先全部处理。
ok 已经解决了

@gaohongkui
Copy link
Owner

解决方案可以在这里分享一下吗,给后续有需要的同学,或者可以提交个PR。

@yysirs
Copy link

yysirs commented Mar 26, 2022

image
image
image

@yysirs
Copy link

yysirs commented Mar 26, 2022

修改一下就没有问题了

@zhanghanweii
Copy link

您好,请问和CRF对比的话,单核CPU的推理速度快多少呢,我在英文测试集中的推理速度反而比CRF慢

@gaohongkui
Copy link
Owner

我理解globalpointer的优势应该不在推理速度,而是crf解决序列标注不能处理的实体嵌套问题。如果你想更快的推理速度,可以试试bert+span模型只预测头尾位置。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants