【发布时间】:2021-06-09 12:06:04
【问题描述】:
我正在使用 CNN 来训练灰度图像数据集(5 类)。图像大小为(100,100),像素值在 0-1 之间 代码:
from tensorflow.keras.preprocessing.image import ImageDataGenerator
import tensorflow as tf
import cv2
train = ImageDataGenerator(rescale=(100,100,1))
validation = ImageDataGenerator(rescale=(100,100,1))
train_dataset = train.flow_from_directory('C:/Users/abdul/OneDrive/Desktop/New folder/FYP/final/images/train',color_mode='grayscale')
validate_dataset = validation.flow_from_directory('C:/Users/abdul/OneDrive/Desktop/New folder/FYP/final/images/validate',color_mode='grayscale')
model = tf.keras.models.Sequential([
#convolutional layer
tf.keras.layers.Conv2D(32,(3,3), activation ="relu", input_shape = (100,100,1)),
# Flatten units
tf.keras.layers.Flatten(),
# Add a hidden layer with dropout
tf.keras.layers.Dense(128, activation="relu"),
tf.keras.layers.Dropout(0.5),
# Add an output layer with output units for all 10 digits
tf.keras.layers.Dense(4, activation="softmax")
])
# Train neural network
model.compile(
optimizer="adam",
loss="categorical_crossentropy",
metrics=["accuracy"]
)
model.fit(train_dataset, epochs=10,validation_data = validate_dataset)
【问题讨论】:
标签: python tensorflow keras conv-neural-network