【TextCNN】debug1 Process finished with exit code -1073741819 (0xC0000005)

一、问题描述

在训练textcnn模型的时候,程序报错 Process finished with exit code -1073741819 (0xC0000005),而此时我已经训练了一部分数据,也就是它是在训练中途报错的。

我的一些参数:
训练数据:8万条
epoches = 5 #训练过程中数据集的遍历次数
batchsize=128 #每次训练过程中同时处理的样本数量
embeddingSize = 200 #嵌入层的维度大小
numFilters = 96 #卷积层中滤波器的数量
filterSizes = [2, 3, 4, 5] #卷积层中每个滤波器的尺寸

二、问题分析与解决

1、我在网上查找关于这类报错的解决方案,有重装h5py的有在idesetting中取消qtpy兼容的,我没有尝试这些方案,因为我觉得我的程序和配置是没问题的,它已经训练了一部分数据,是可以跑起来的。
然后我看到了这个回答:
https://zhuanlan.zhihu.com/p/481840857
我基本确定应该是我内存的问题。(在此之前我还拿一个3000条数据训练了一下,完全不会报错)
2、然后我问了AI,它说我的batchsize设置的太大了,训练过程中内存不足,让我设置的小一点,我就设置成32,结果还没有之前跑得多。于是我就反向操作,将batchsize设置成256,结果跑通了。

分析一下:当 batchSize 较小时,如果模型和数据集较大,每次迭代可能仍然需要相当多的内存。如果系统内存不足,可能会导致内存分配失败或尝试访问无效的内存地址。

三、总结

1、解决方案

根据硬件条件和训练数据量合理设置batchsize,我的数据为8万条,所以我增大batchsize到256。

2、总结

设置更好的batch size值需要综合考虑多个因素,包括数据集大小、模型复杂度、硬件资源以及训练目标等。在实际应用中,可以根据具体情况进行多次实验和测试,从16开始逐渐向上调整,以找到最适合你的任务和硬件的batch size设置。

————————————————————————
更新:后面换了个数据集又跑不起来了,找老师借了台内存比较大的电脑,就没有再遇到这样的问题了。归根结底还是内存问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值