卷积神经网络实现人脸识别代码
时间: 2023-10-15 09:07:23 浏览: 38
下面是一个简单的卷积神经网络实现人脸识别的代码示例:
```python
import tensorflow as tf
from tensorflow.keras import layers, models
# 构建卷积神经网络模型
model = models.Sequential([
# 第一层卷积层
layers.Conv2D(32, (3, 3), activation='relu', input_shape=(100, 100, 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.Flatten(),
# 全连接层
layers.Dense(128, activation='relu'),
# 输出层,使用 softmax 激活函数实现分类
layers.Dense(2, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])
# 加载人脸数据集
train_data = tf.keras.preprocessing.image_dataset_from_directory(
'path/to/train_data',
validation_split=0.2,
subset='training',
seed=123,
image_size=(100, 100),
batch_size=32)
val_data = tf.keras.preprocessing.image_dataset_from_directory(
'path/to/train_data',
validation_split=0.2,
subset='validation',
seed=123,
image_size=(100, 100),
batch_size=32)
# 训练模型
model.fit(train_data, epochs=10, validation_data=val_data)
```
以上代码仅供参考,实际使用时需要根据具体需求进行调整。