win10 pycharm 出现MemoryError 和 Unable to allocate array with shape

1、numpy 在定义数组的时候,采用更低的精度。

array_ = np.zeros((10000,10000),dtype='float32') # 默认float64

一般计算上通过numpy得到的16位浮点数,是FP16。

float64占用的内存是float32的两倍,是float16的4倍;比如对于CIFAR10数据集,如果采用float64来表示,需要60000*32*32*3*8/1024**3=1.4G,光把数据集调入内存就需要1.4G;如果采用float32,只需要0.7G,如果采用float16,只需要0.35G左右;占用内存的多少,会对系统运行效率有严重影响;(因此数据集文件都是采用uint8来存在数据,保持文件最小)

2、修改pycharm的运行内存 

  1. Help->Find Action->(type "VM Options")->(Click)"Edit Custom VM Options"
  2. 打开pycharm64.exe.vmoptions进行编辑
  3. 修改-Xmx750m 为 -Xmx4096m     分配4G内存,视情况而定。
  4. 保存并重启pycharm

 3、修改windows虚拟内存

https://zhuanlan.zhihu.com/p/37332255

你可能感兴趣的:(python基础)