帮我写一个动作识别的AI代码
时间: 2024-05-01 21:21:19 浏览: 100
好的,动作识别是一种计算机视觉的应用,需要使用深度学习模型来实现。以下是一个简单的动作识别的AI代码示例:
```python
import tensorflow as tf
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Dropout, Flatten, Dense
from tensorflow.keras.models import Sequential
# 定义模型
model = Sequential()
model.add(Conv2D(32, kernel_size=(3, 3), activation='relu', input_shape=(120, 120, 3)))
model.add(Conv2D(64, kernel_size=(3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(6, activation='softmax'))
# 编译模型
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
# 加载数据集
train_data = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1./255, shear_range=0.2, zoom_range=0.2, horizontal_flip=True)
test_data = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1./255)
train_dataset = train_data.flow_from_directory('train', target_size=(120, 120), batch_size=32, class_mode='categorical')
test_dataset = test_data.flow_from_directory('test', target_size=(120, 120), batch_size=32, class_mode='categorical')
# 训练模型
model.fit(train_dataset, epochs=10, validation_data=test_dataset)
# 测试模型
test_loss, test_acc = model.evaluate(test_dataset)
print('Test accuracy:', test_acc)
```
上面的代码使用了一个卷积神经网络模型来实现动作识别。模型包含了两个卷积层、一个池化层、两个Dropout层和两个全连接层。训练数据集和测试数据集都是图像数据,使用`ImageDataGenerator`生成器来加载数据。在训练完成后,使用测试数据集来评估模型的准确性。
阅读全文