ValueError:检查输入时出错:预期lstm_1_input具有3个维,但数组的形状为(6782,36)

时间:2019-03-22 06:04:53

标签: tensorflow machine-learning keras lstm pose-estimation

我试图建立人体姿势动作识别模型, I referred this model

我喜欢在该模型上使用LSTM。所以我对train.py做了一些更改

我的train.py代码:

import pandas as pd
from enum import Enum
import numpy as np
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split
from keras.utils import np_utils
from keras.models import Sequential
from keras.layers import Dense, Dropout
from keras.layers.normalization import BatchNormalization
from keras.optimizers import Adam
from keras.models import load_model
from keras.layers import LSTM

class Actions(Enum):

    sit = 0
    stand = 1
    walk = 2
    sleep= 3

raw_data = pd.read_csv('7537real1.csv', header=0)
dataset = raw_data.values

X = dataset[0:7537, 0:36].astype(float)  
Y = dataset[0:7537, 36]

encoder_Y = [0]* 4479 + [1]* 1425 + [2] * 1164 + [3] * 468
dummy_Y = np_utils.to_categorical(encoder_Y)
X_train, X_test, Y_train, Y_test = train_test_split(X, dummy_Y, test_size=0.1, random_state=9)

model = Sequential()
model.add(LSTM(4, input_shape=(36,1)))
model.add(Dense(units=4, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer=Adam(0.0001), metrics=['accuracy'])
model.fit(X_train, Y_train, batch_size=32, epochs=500, verbose=1, validation_data=(X_test, Y_test))
model.save('7537real1.h5')

我的数据集具有36个功能和类属性(标签:0、1、2、3) 数据集中总共有7537条记录。 当我尝试建立LSTM顺序分类模型时,出现值错误。

我还附加了数据集示例作为屏幕截图(csv文件)。 enter image description here

如何重塑为此模型设置的数据(数组)以及如何构建LSTM顺序模型?

0 个答案:

没有答案