无法分配具有数组形状的内存来创建强化学习模型

Unable to allocate memory with array shape to create reinforcement learning model

我正在尝试为 mario 环境创建 DQN 模型。但是当我尝试创建模型时,它给了我这个错误:

MemoryError: Unable to allocate 229. GiB for an array with shape (1000000, 1, 4, 240, 256) and data type uint8

这是创建模型的代码:

model = DQN('CnnPolicy', env, verbose=1, tensorboard_log=LOG_DIR, learning_rate=0.000001)

我正在为这个项目使用 Jupyter notebook。

看起来您根本没有足够的 RAM 来为这种大小的数组分配 229 GiB——这是非常大的——很少有计算机可以做到。

您是否尝试过将您的想法分成 64、128、256 等批次?这是减少内存负载的一种非常常见的方法,您可以尝试使用不同的值来查看可以处理的计算量。 Tensorflow 有很多 built-in 方法可以在这里帮助你。一个值得一看的地方是 batch method here.