番茄叶片病害图像分类代码
时间: 2024-04-14 16:23:31 浏览: 251
番茄叶片病害图像分类是常见的计算机视觉问题,可以使用深度学习方法进行解决。以下是一个简单的番茄叶片病害图像分类代码的示例:
```python
import tensorflow as tf
from tensorflow.keras.preprocessing.image import ImageDataGenerator
# 创建数据生成器
datagen = ImageDataGenerator(rescale=1./255, validation_split=0.2)
# 加载训练集和验证集数据
train_generator = datagen.flow_from_directory(
'path_to_train_data',
target_size=(224, 224),
batch_size=32,
class_mode='categorical',
subset='training'
)
validation_generator = datagen.flow_from_directory(
'path_to_train_data',
target_size=(224, 224),
batch_size=32,
class_mode='categorical',
subset='validation'
)
# 构建模型
model = tf.keras.models.Sequential([
tf.keras.applications.MobileNetV2(input_shape=(224, 224, 3), include_top=False),
tf.keras.layers.GlobalAveragePooling2D(),
tf.keras.layers.Dense(10, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
# 训练模型
model.fit(train_generator, validation_data=validation_generator, epochs=10)
# 保存模型
model.save('tomato_disease_model.h5')
```
这段代码使用了TensorFlow和Keras库来构建一个基于MobileNetV2的卷积神经网络模型,用于分类番茄叶片病害图像。代码中使用了ImageDataGenerator来进行数据增强和预处理,通过flow_from_directory方法加载训练集和验证集数据。模型使用了Adam优化器和交叉熵损失函数进行编译,并通过fit方法进行训练。最后,模型会被保存为tomato_disease_model.h5文件。
阅读全文