Python 为什么我会得到;在抛出';std::bad#u alloc'';当我的训练数据很大时?
我的硬件是Intel Pentium,8 GB RAM,250 GB硬盘,没有GPU。我可以用400个图像来训练数据,但当我将图像数量增加到1000个时,就会抛出错误Python 为什么我会得到;在抛出';std::bad#u alloc'';当我的训练数据很大时?,python,tensorflow,gpu,Python,Tensorflow,Gpu,我的硬件是Intel Pentium,8 GB RAM,250 GB硬盘,没有GPU。我可以用400个图像来训练数据,但当我将图像数量增加到1000个时,就会抛出错误 <pre>2019-10-31 21:55:05.844961: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compile
<pre>2019-10-31 21:55:05.844961: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Aborted (core dumped)
</pre>
2019-10-31 21:55:05.844961:I tensorflow/core/platform/cpu\u feature\u guard.cc:137]您的cpu支持未编译此tensorflow二进制文件以使用的指令:SSE4.1 SSE4.2
在抛出&apos;的实例后调用terminate;标准::坏的所有&apos;
什么():std::坏的
中止(堆芯转储)
如何解决此问题?此错误意味着内存不足
特殊注意事项:
在某些情况下,它可能是由内存碎片造成的,因为您实际上有足够的内存来服务您的任务,但由于它不是连续的,所以无法使用
或
一个进程被分配了一个较大的内存部分,其中一些未被占用,不能被另一个进程使用。
在训练之间运行
tf.reset\u default\u graph()
,可能有助于释放内存,以防碎片成为真正的问题。keras.clear\u session()
方法是tf.reset\u default\u graph()
的替代方法,它可以在出现碎片时帮助释放内存。该错误意味着内存不足特殊注意事项:
在某些情况下,它可能是由内存碎片造成的,因为您实际上有足够的内存来服务您的任务,但由于它不是连续的,所以无法使用
或
一个进程被分配了一个较大的内存部分,其中一些未被占用,不能被另一个进程使用。
在训练之间运行
tf.reset\u default\u graph()
,可能有助于释放内存,以防碎片成为真正的问题。keras.clear\u session()
方法是tf.reset\u default\u graph()
的替代方法,它可以帮助在出现碎片时释放内存