Python垃圾分类代码
时间: 2023-11-05 22:09:50 浏览: 105
以下是一个简单的 Python 垃圾分类代码示例,使用了深度学习框架 TensorFlow 和 Keras:
```python
import numpy as np
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
# 定义模型
model = keras.Sequential([
layers.Conv2D(32, (3, 3), activation='relu', input_shape=(224, 224, 3)),
layers.MaxPooling2D((2, 2)),
layers.Conv2D(64, (3, 3), activation='relu'),
layers.MaxPooling2D((2, 2)),
layers.Conv2D(128, (3, 3), activation='relu'),
layers.MaxPooling2D((2, 2)),
layers.Conv2D(128, (3, 3), activation='relu'),
layers.MaxPooling2D((2, 2)),
layers.Flatten(),
layers.Dense(256, activation='relu'),
layers.Dense(1, activation='sigmoid')
])
# 编译模型
model.compile(loss='binary_crossentropy',
optimizer='rmsprop',
metrics=['accuracy'])
# 加载数据集
train_datagen = keras.preprocessing.image.ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(
'train',
target_size=(224, 224),
batch_size=32,
class_mode='binary')
# 训练模型
model.fit(train_generator, epochs=50)
# 使用模型进行预测
test_datagen = keras.preprocessing.image.ImageDataGenerator(rescale=1./255)
test_generator = test_datagen.flow_from_directory(
'test',
target_size=(224, 224),
batch_size=32,
class_mode='binary')
model.evaluate(test_generator)
# 保存模型
model.save('garbage_classification_model.h5')
```
在这个示例中,我们使用了一个卷积神经网络模型,将图像大小调整为 224x224,并将其分为两类(垃圾和非垃圾)。我们使用 ImageDataGenerator 类来加载和处理数据集,并使用 fit() 方法来训练模型。最后,我们使用 evaluate() 方法评估模型的性能,并使用 save() 方法将模型保存到磁盘上。
阅读全文