深度学习时,常常要处理超大文件。因此,常常引起电脑故障。当电脑的内存16G,虚拟内存16G,读入34G的数组,发生错误:Unable to allocate 33.6 GiB for an array with shape (60000, 224, 224, 3) and data type float32。解决办法:
在win10设置-查找-高级设置-性能选项-虚拟内存-选自定义大小-按C盘剩余空间选择尽可能大的分页文件上限。本机300GC盘剩余容量170G,先将虚拟内存从16G扩大到36G没有成功,再扩大到66G。
重启系统后,经较长时间运算终于成功读入大型数组了。读毕,占用虚拟内存36G。
总结,机器学习+深度学习要求:c盘容量至少要有200G,内存16G,显存4G以上。不然,容纳多系统(如Windows+Linux)、多环境(如Conda+Tensorflow)、多软件及其不同版本(如Python+R)后,再有足够虚拟内存进行运算。