在識別手勢類時,我總是得到相同的類,盡管我嘗試更改引數,甚至在沒有規范化的情況下傳遞資料:
df_train = pd.read_csv('train_dataset.csv')
df_train = df_train.drop(columns=['Unnamed: 0'], axis=1)
df_train = df_train.fillna(0)
x_train = df_train.drop(['y'], axis=1)
y_train = df_train['y']
x_train = x_train / 310
model = keras.models.Sequential([Dense(32, input_shape=(42,), activation='relu'),
Dense(64, activation='relu'),
Dense(6, activation='softmax')])
model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])
model.fit(x_train, y_train_cat, batch_size=16, epochs=9, validation_split=0.2)
model.save("gestures_model.h5")
這是一個主要代碼:
REV_CLASS_MAP = {
0: "up",
1: "down",
2: "right",
3: "left",
4: "forward",
5: "back"
}
def mapper(val):
return REV_CLASS_MAP[val]
if len(data[data.index(new_row)]) > 0:
df = pd.DataFrame(data, columns=columns)
df = df.fillna(0)
df = df / 310
pred = model.predict(df)
move_code = np.argmax(pred[0])
user_move_name = mapper(move_code)
print(user_move_name)
以下是輸入資料的示例:
56,172,72,169,88,155,100,144,111,139,78,120,81,94,82,77,82,62,66,120,62,104,62,124,64,136,54,122,50,110,52,130,55,139,43,126,40,114,42,129,45,137,0
我做錯了什么以及如何解決?我注意到在我的資料中有只有一個數字的行。這可能是我的問題的原因嗎??????????????????????????????????????????????????? ??????????????????????????????? PS我是神經網路和keras的新手。
uj5u.com熱心網友回復:
所有行都需要相同的資料大小,當然某些值在 csv 中可以為空。
feature1, feature2, feature3,y
aaa,bbb,3.0,2.0
bbb, ,4.1, 3.1
您需要通過使用例如分類值的最常見值或數值的中值來估算空值。預測值不能為空
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/426825.html
