毕设实验设计部分:作为对照的单LSTM模型实现模型以及CNN+LSTM模型实现
注意:一般LSTM单模型不会用来实现图片分类,只做教学用途。
LSTM
主要需要注意的是,LSTM单元输入的是(num_timesteps, num_features)
在X = X.reshape(X.shape[0],X.shape[1]*X.shape[2],-1)
将图片尺寸转换为可以输入的尺寸
完整代码
import tensorflow as tf
import pathlib
from tensorflow import keras
from tensorflow.keras import layers
from tensorflow.keras.models import Sequential
import os
import numpy as np
from sklearn.model_selection import train_test_split
from tensorflow.keras.utils import to_categorical
import cv2
'''
使用图片数据作为输入数据集,使用lstm作为网络模型
'''
# 图片文件夹
DATA_PATH = os.path.join() # 自行进行填充
# 定义类别名称
actions = np.array([])# 自行进行填充
no_sequences = 30
#
sequence_length = 30
images_path = []
images,labels = [],[]
for action in actions:
for sequence in range(no_sequences):
for frame_num in range(sequence_length):
img_path = os.path.join(DATA_PATH,action