此问题在此处已有答案:
Keras not training on entire dataset(3个答案)
13天前关闭。
我在python中有一个项目,目标是建立一个模型来预测猫或狗的图像。我的训练集有24977张图像,我想使用keras中的validation_split来使用其中的10%。然而,当我运行以下代码时:
model.fit(x_2, y, epochs = 5, validation_split = 0.1)
这个过程只采取了703出24977,这是我不想有(它应该是2500图像约).
You can see there are 703 images being processed here
我用来填充模型的x_2和y的形状如下所示:for yfor x_2打印机
有谁能给我解释一下这个错误,并告诉我一个解决方案来修复它吗?非常感谢
以下是我的代码:
!pip install tensorflow
!pip install keras
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
import pickle
import numpy as np
import time
import tensorflow as tf
from tensorflow.keras.callbacks import TensorBoard
from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
x = pickle.load(open('x.pkl','rb'))
y = pickle.load(open('y.pkl','rb'))
x_1 = x/255
x_2 = x_1.astype('float')
model = Sequential()
model.add(Conv2D(64, (3,3), activation = 'relu'))
model.add(MaxPooling2D((2,2)))
model.add(Conv2D(64, (3,3), activation = 'relu'))
model.add(MaxPooling2D((2,2)))
model.add(Flatten())
model.add(Dense(128, input_shape = x.shape[1:], activation = 'relu'))
model.add(Dense(2, activation = 'softmax'))
model.compile(optimizer = 'adam', loss = 'sparse_categorical_crossentropy', metrics = ['accuracy'])
model.fit(x_2, y, epochs = 5, validation_split = 0.1)
我试图使用10%的训练集数据,但只得到2%,而这不是我想要的。
1条答案
按热度按时间ggazkfy81#
实际上,您已经完成了所需的操作。batch_size为None,默认值为32。22480/32 = ceil(702.5)= 703