keras 运行cnn时报内存错误

如题,我早先自学的是tf,昨天入了一下keras的坑,没用服务器,用我这个丐版的联想本装了一个基于theano的keras,一开始跑了一个全连接的神经网络,没啥问题。然后又做了一个很小的cnn,(代码如下),能够用 model.summary()输出网络的结构,但是运行起来就会弹出信息框报错:
代码:

import keras
import numpy as np
from keras.models import load_model

input1=keras.layers.Input(shape=(25,))
x=keras.layers.Reshape([5,5,1])(input1)
x1=keras.layers.Conv2D(filters=2,kernel_size=(2,2),strides=(1,1),padding='valid',activation='elu')(x)
x2=keras.layers.MaxPooling2D(pool_size=(2,2),strides=(1,1),padding='valid')(x1)
x3=keras.layers.Conv2D(filters=4,kernel_size=(2,2),strides=(1,1),padding='valid',activation='elu')(x2)
x4=keras.layers.AveragePooling2D(pool_size=(2,2),strides=(1,1),padding='valid')(x3)
x5=keras.layers.Reshape([4*4*2,])(x1)
xx=keras.layers.Dense(1,activation='elu')(x5)


model=keras.models.Model(inputs=input1,outputs=xx)
model.summary()
model.compile(loss='mse', optimizer='sgd')



def data():
    data=np.random.randint(0,2,[1,25])
    return(data)
def num(data):
    data=np.reshape(data,[25])
    sum_=0
    for i in data:
        sum_=sum_+i
    if sum_>10:
        result=[[1]]
    else:
        result=[[0]]
    return(result)

while True:
    for i in range(100):
        x=data()
        y=num(x)
        cost = model.train_on_batch([x], [y])
        print(i)
    x=data()
    y=num(x)
    cost = model.evaluate(x, y)
    print('loss=',cost)
    x=data()
    y=num(x)

    print('x=',x)
    print('y=',y)
    Y_pred = model.predict(x)
    print(Y_pred)
    words=input('continue??\::')
    if words=='n':
        break

可以输出模型的结构图片说明

但是再往下运行,就会弹出信息框报错:
图片说明

请问各位高手有何高见
我的电脑是xp系统,32位,内存不到1G(老掉牙的耍着玩),装的是python 2.7.15,numpy(1.16.6),scipy(1.2.2),theano(1.0.4),keras(2.3.1)
勿喷,一般都是在服务器上写tf,这台电脑纯属娱乐。。
求教求教。。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问