机器学习碰到MemoryError: Unable to allocate1.5 . MiB for an array with shape解决办法

详细代码如下

# 训练集
train_gen = train_val_generator(
    data_dir='../train',
    target_size=(64, 64),
    batch_size=32,
    class_model='categorical',
    subset='training'
)
# 验证集
val_gen = train_val_generator(
    data_dir='../test',
    target_size=(64, 64),
    batch_size=32,
    class_model='categorical',
    subset='validation'
)

train_batch, train_label_batch = train_gen.next()

plot_images(train_batch, train_label_batch)

val_batch, val_label_batch = val_gen.next()

plot_images(val_batch, val_label_batch)

model = ConvModel()

model.compile(loss='categorical_crossentropy', optimizer=tf.keras.optimizers.SGD(learning_rate=0.01),
              metrics=['accuracy'])

history = model.fit(x=train_gen, steps_per_epoch=351, epochs=100, validation_data=val_gen, validation_steps=88,
                    shuffle=True)

在训练到第50轮的时候报错
MemoryError: Unable to allocate 1.50 MiB for an array with shape (32, 64, 64, 3) and data type float32
一直到现在都没有解决,有没有大神有好的解决办法,求助

最后通过监控GPU,内存,磁盘容量,发现是由于C盘空间不够导致的!!!!
应该是某个库或者插件在运算过程中会产生临时数据,怎么找这个库就不太清楚了,我是清理了C盘,然后做了扩容

  • 13
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值