# 一些模型的測試
[TOC]
## 動作
### 1. 單純1D CNN (C64-C64-M3-C128-C128-M2-D5)
效果: 不錯
action_name = ["down","up","walk","run","raise"]
:::spoiler the output of nonseperate data(offset)


:::
:::spoiler the output of seperate data
|Name |offset|
|-----|--------|
|bear||
|haha||
|rabbit ||
|senior ||
:::
#### 結果:
**有無加offest差別:**
穩定度,加了比較穩定,像是我跑了seperate_senior那個測資,我跑了6次,有3出來test_acc都是一樣的(0.9180327653884888),最高有到0.983;但是若沒加offest,跑8次出來結果有過0.55, 0.54, 0.90, 0.91, 0.86, 0.81, 0.90, 0.86
而且從
|offset|no offest|
|------|---------|
|||
就看的出來 (上述兩張圖不是我故意抓兩張對比較誇張的圖來的,是真的每次跑出來都差不多這樣的,我大概用seperate_senoir那筆測資各跑5-10次左右得出來的結論)
**accel和velocity:**
加了accel,7次下來平均0.9250585436820984
:::spoiler 圖

:::
加了velocity,7次下來平均0.9578454409326826
:::spoiler 圖

:::
### 2. 單純lstm (L50-L50-D5) (棄用)
效果:
### 3. 1D CNN + LSTM (暫時封印)
作法0: 直接 CNN + LSTM 一起train
疑惑: CNN + LSTM 真的有意義嗎?
如果用CNN是想要擷取出一個時間點的25個node之間的關聯性的話,是不是用dense的效果其實會比較好。
如果kernel_size = 1的話,那為麼不直接用dense就好。
如果kernel_size > 1的話,其實就已經有取時序性的性質了那是否會跟LSTM重疊,當CNN kernel_size是5,相當於說是取5個frame之間的關聯
---------------------------------
### 4. 拆成3個部分
細節: 將25個關節手動分成3部分,上半身、下半身、整體,此3部分分別用不同的1DCNN 先去抓到一些細節,再接者可用1,2,3之方法處理
4_1效果:
4_2效果:
4_3效果: 巧恩有做
### 5. 將X, Y分開來訓練 (棄用)
細節: 將X, Y 兩channel 分開來使用CNN 這樣就不是50,而是25+25
接者再融合1,2,3,4的方法訓練
## 額外的想法
### 多加一些feature
如: 速度、加速度、關節之間角度(膝蓋彎曲角度、 手軸彎曲角度)
## 身分判別
### 訓練資料:
0425 gym dataset: member(bear, rabbit, haha), action(walk,run)
所以,又分
1. non_seperate: walk 和 run 混在一起訓練,混在一起測試。
origin_data.shape(9809,50,50), frame=50, shift=50
| none | displacement | a | v | dis+v |
| -------- | -------- | -------- | -------- | -------- |
| 0.669897246 | 0.876249409 | 0.824661372 | 0.88278842 | 0.88797291 |
| dis+a | v+a | dis+a+v | none+v | none+a |
| ------- | ------- | ------- | ------- | ------- |
| 0.837459131 | 0.82503503 | 0.855768333 | 0.81849603 | 0.844056516 |
* preprocess-accel結果: epoch=30, 8次平均下來0.84
* preprocess-accel+offset(data.shape=(9809,50,100))結果: epoch=30, 8次平均下來0.86
* preprocess-offset結果: epoch=30, 8次平均下來0.97

* 測試拿掉某點
1,8 :0.967
17,18: 0.896
2,3,4: 0.958
5,6,7: 0.890
2,3,4,5,6,7: 0.865
1,8,2,3,4,5,6,7: 0.802
9,10,11,22: 0906
12,13,14,19: 0.916
12,13,14,19,9,10,11,22: 0.675
23,24,20,21: 0.872
1,8,12,13,14,19: 0.844
1,8,9,10,11,22: 0.833
2. seperate: walk, run 分開來訓練,也分開來測試。
#### run
* preprocess-accel結果: epoch=30, 8次平均下來0.9587
#### walk
* preprocess-accle結果: epoch=30, 8次平均下來0.8093
# new model
