python垃圾分类图片识别
时间: 2024-01-07 19:23:44 浏览: 96
python深度学习入门级详细易懂代码-垃圾分类识别含数据集.zip
对于Python垃圾分类图片识别,可以使用深度学习技术来实现。以下是一个示例代码:
```python
import tensorflow as tf
from tensorflow.keras.preprocessing.image import ImageDataGenerator
# 创建图像数据生成器
datagen = ImageDataGenerator(rescale=1./255)
# 加载训练集和验证集数据
train_data = datagen.flow_from_directory('train_data_directory', target_size=(224, 224), batch_size=32, class_mode='categorical')
valid_data = datagen.flow_from_directory('valid_data_directory', target_size=(224, 224), batch_size=32, class_mode='categorical')
# 构建模型
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(6, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
# 训练模型
model.fit(train_data, validation_data=valid_data, epochs=10)
# 使用模型进行预测
test_image = tf.keras.preprocessing.image.load_img('test_image.jpg', target_size=(224, 224))
test_image = tf.keras.preprocessing.image.img_to_array(test_image)
test_image = tf.expand_dims(test_image, axis=0)
test_image = test_image / 255.0
predictions = model.predict(test_image)
class_index = tf.argmax(predictions, axis=1)[0]
class_label = train_data.class_indices[class_index]
print("预测结果:", class_label)
```
这段代码使用了TensorFlow和Keras库来构建一个基于MobileNetV2的深度学习模型,用于垃圾分类图片识别。首先,通过ImageDataGenerator创建图像数据生成器,并加载训练集和验证集数据。然后,构建模型,包括一个预训练的MobileNetV2模型作为特征提取器,全局平均池化层和一个具有6个类别的全连接层。接下来,编译模型并训练模型。最后,使用模型进行预测,加载测试图片并进行预处理,然后通过模型预测图片的类别,并输出预测结果。
阅读全文