python keras中的validation_split [重复]

mcdcgff0  于 2022-11-30  发布在  Python
关注(0)|答案(1)|浏览(222)

此问题在此处已有答案

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%,而这不是我想要的。

ggazkfy8

ggazkfy81#

实际上,您已经完成了所需的操作。batch_size为None,默认值为32。22480/32 = ceil(702.5)= 703

相关问题