【发布时间】:2021-07-03 09:22:39
【问题描述】:
我的数据集是 mnist sign_language_train 图像数据集,大约有 27000 个条目。 我将它划分为一个大约有 21000 个条目的训练集和一个大约有 6000 个条目的验证集。但是,当我将数据拟合到模型中时,它每个 epoch 只训练 687 个条目。
X_train, X_validate, y_train, y_validate = train_test_split(X_train, y_train, test_size = 0.2,random_state = 123)
X_train = X_train.reshape(X_train.shape[0], *(28, 28, 1))
X_test = X_test.reshape(X_test.shape[0], *(28, 28, 1))
X_validate = X_validate.reshape(X_validate.shape[0], *(28, 28, 1))
print(X_train.shape) -->(21964, 28, 28, 1)
print(y_train.shape) -->(21964,)
print(X_validate.shape) -->(5491, 28, 28, 1)
print(y_validate.shape) -->(5491,)
model = Sequential()
model.add(Conv2D(filters=32, kernel_size=(3, 3), activation='relu', input_shape=(28,28,1)))
model.add(MaxPool2D(pool_size=(2, 2), strides=2))
model.add(Conv2D(filters=64, kernel_size=(3, 3), activation='relu', input_shape = (28,28,1)))
model.add(MaxPool2D(pool_size=(2, 2), strides=2))
model.add(Conv2D(filters=128, kernel_size=(3, 3), activation='relu', input_shape = (28,28,1)))
model.add(MaxPool2D(pool_size=(2, 2), strides=2))
model.add(Flatten())
model.add(Dense(64,activation ="relu"))
model.add(Dense(128,activation ="relu"))
#model.add(Dropout(0.2))
model.add(Dense(128,activation ="relu"))
#model.add(Dropout(0.3))
model.add(Dense(25,activation ="softmax"))
然后我拟合上面提到的训练和验证集,如下所示,对于每个 epoch,它只训练 687 个条目。
model.compile(optimizer=SGD(learning_rate=0.001), loss='sparse_categorical_crossentropy', metrics=['accuracy'])
history2=model.fit(X_train, y_train, epochs = 50, validation_data = (X_validate, y_validate))
【问题讨论】:
标签: python tensorflow keras deep-learning conv-neural-network