Keras 在Google Colab中更改网络后如何防止内存分配错误?

Keras 在Google Colab中更改网络后如何防止内存分配错误?,keras,neural-network,google-colaboratory,Keras,Neural Network,Google Colaboratory,我在keras中编写了一个网络,用于在3D图形中查找某个属性。这些图形表示粒子物理探测器中的事件,数据指定了命中的坐标(基本上对应于在特定坐标处沉积的一定数量的能量)以及沉积的能量。我首先从变量的“.h5”文件加载数据。然后,我有一个函数,它在数据上循环,基本上裁剪事件,以减少输入到神经网络的大小(这个过程大约需要20分钟)。之后,我在Keras中配置了我的网络,然后对其进行了培训。它训练得很好,但是如果我稍微改变一下网络,看看是否可以获得更高的精确度,它甚至不会开始训练,并给我一个内存分配错误

我在keras中编写了一个网络,用于在3D图形中查找某个属性。这些图形表示粒子物理探测器中的事件,数据指定了命中的坐标(基本上对应于在特定坐标处沉积的一定数量的能量)以及沉积的能量。我首先从变量的“.h5”文件加载数据。然后,我有一个函数,它在数据上循环,基本上裁剪事件,以减少输入到神经网络的大小(这个过程大约需要20分钟)。之后,我在Keras中配置了我的网络,然后对其进行了培训。它训练得很好,但是如果我稍微改变一下网络,看看是否可以获得更高的精确度,它甚至不会开始训练,并给我一个内存分配错误。如果我再次运行处理数据(裁剪数据)并将其加载到变量中的步骤,那么它训练得很好。以前有人遇到过这个问题并且知道如何解决吗?

您应该使用它来释放未使用的内存。有关更多详细信息,请参见


消失错误的原因是Colab每次为您提供不同类型的GPU,甚至让您与其他用户共享同一GPU。

这可能与加载的数据和分配的先前内存有关,因此您的内存不足。它可能会随着微小的变化而变化。尝试使用块加载数据,以避免将来出现问题。

如果没有相关的详细信息,回答问题是不可能的,您应该包括实际的代码和体系结构,这些代码和体系结构可以工作,也可以不工作,任何您认为不相关的细节都可能非常相关。还包括完整的错误消息和回溯。因此,出于某种原因,我不再收到错误,不知道为什么,我没有更改任何内容。。。