Merry99 commited on
Commit
93e58df
ยท
1 Parent(s): 13f75fb

change dataset config

Browse files
README.md CHANGED
@@ -9,3 +9,23 @@ app_file: start.py
9
  pinned: false
10
  license: apache-2.0
11
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  pinned: false
10
  license: apache-2.0
11
  ---
12
+
13
+ # MuscleCare Dataset API
14
+
15
+ ์ด Space๋Š” ์ˆ˜์ง‘๋œ ์šด๋™ ํ”ผ๋กœ๋„ ๋ฐ์ดํ„ฐ๋ฅผ Hugging Face Dataset ์ €์žฅ์†Œ์— ์—…๋กœ๋“œํ•˜๋Š” FastAPI ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
16
+
17
+ ## ์—”๋“œํฌ์ธํŠธ
18
+ - `GET /health` : ์„œ๋ฒ„ ์ƒํƒœ ํ™•์ธ
19
+ - `POST /upload_dataset` : `fatigue_dataset` ์Šคํ‚ค๋งˆ์— ๋งž์ถ˜ ๋ฐฐ์น˜ ๋ฐ์ดํ„ฐ๋ฅผ Hugging Face Hub๋กœ ์ €์žฅ
20
+
21
+ ## ์‹คํ–‰ ๋ฐฉ๋ฒ•
22
+ ```bash
23
+ ./start_server.sh
24
+ ```
25
+
26
+ ## ํ…Œ์ŠคํŠธ
27
+ ```bash
28
+ ./test_api.sh
29
+ ```
30
+
31
+ ํ…Œ์ŠคํŠธ ์Šคํฌ๋ฆฝํŠธ๋Š” ์ƒ˜ํ”Œ ๋ฐฐ์น˜ ๋ฐ์ดํ„ฐ๋ฅผ `/upload_dataset` ์—”๋“œํฌ์ธํŠธ๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ์ „ `HF_DATA_REPO_ID`์™€ `HF_DATA_TOKEN` ํ™˜๊ฒฝ๋ณ€์ˆ˜๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
app.py CHANGED
@@ -18,7 +18,8 @@ app = FastAPI(title="MuscleCare FastAPI Server")
18
 
19
  # ----- ๋ชจ๋ธ -----
20
  class DatasetItem(BaseModel):
21
- user_id: int
 
22
  session_id: Optional[str] = None
23
  window_id: int
24
  window_start_ms: int
@@ -112,6 +113,7 @@ async def upload_dataset(payload: DatasetBatchPayload):
112
 
113
  # ์ƒˆ ์Šคํ‚ค๋งˆ ์ •์˜
114
  target_cols = [
 
115
  "user_id",
116
  "session_id",
117
  "window_id",
@@ -199,7 +201,7 @@ async def upload_dataset(payload: DatasetBatchPayload):
199
  rec = item.model_dump()
200
  if not rec.get("timestamp_utc"):
201
  rec["timestamp_utc"] = datetime.now().isoformat()
202
- user_groups.setdefault(str(item.user_id), []).append(rec)
203
 
204
  results = {}
205
 
 
18
 
19
  # ----- ๋ชจ๋ธ -----
20
  class DatasetItem(BaseModel):
21
+ id: Optional[int] = None
22
+ user_id: str
23
  session_id: Optional[str] = None
24
  window_id: int
25
  window_start_ms: int
 
113
 
114
  # ์ƒˆ ์Šคํ‚ค๋งˆ ์ •์˜
115
  target_cols = [
116
+ "id",
117
  "user_id",
118
  "session_id",
119
  "window_id",
 
201
  rec = item.model_dump()
202
  if not rec.get("timestamp_utc"):
203
  rec["timestamp_utc"] = datetime.now().isoformat()
204
+ user_groups.setdefault(item.user_id, []).append(rec)
205
 
206
  results = {}
207
 
backup/2025-10-23/new_user.json DELETED
@@ -1 +0,0 @@
1
- [{"user_id": "new_user", "rms": 0.95, "freq": 60.1, "fatigue": 0.88, "timestamp": "2025-10-23T15:02:00.000000"}]
 
 
backup/2025-10-23/test_user_1.json DELETED
@@ -1 +0,0 @@
1
- [{"user_id": "test_user_1", "rms": 0.85, "freq": 52.3, "fatigue": 0.72, "timestamp": "2025-10-23T14:55:00.000000"}]
 
 
backup/2025-10-23/test_user_2.json DELETED
@@ -1 +0,0 @@
1
- [{"user_id": "test_user_2", "rms": 0.91, "freq": 58.7, "fatigue": 0.81, "timestamp": "2025-10-23T14:55:30.000000"}]
 
 
test_api.sh CHANGED
@@ -1,4 +1,4 @@
1
- ใ…”ใ…›#!/bin/bash
2
 
3
  # MuscleCare API ํ…Œ์ŠคํŠธ ์Šคํฌ๋ฆฝํŠธ
4
 
@@ -8,7 +8,7 @@
8
  BASE_URL="${1:-http://localhost:7860}"
9
 
10
  echo "======================================"
11
- echo "๐Ÿงช MuscleCare API ํ…Œ์ŠคํŠธ"
12
  echo "======================================"
13
  echo "์„œ๋ฒ„: $BASE_URL"
14
  echo ""
@@ -21,64 +21,47 @@ curl -X GET "$BASE_URL/health" \
21
  echo ""
22
  echo ""
23
 
24
- # 2. ์‚ฌ์šฉ์ž ์ƒํƒœ ์—…๋กœ๋“œ
25
- echo "2๏ธโƒฃ ์‚ฌ์šฉ์ž ์ƒํƒœ ์—…๋กœ๋“œ"
26
  echo "--------------------------------------"
27
- curl -X POST "$BASE_URL/upload_state" \
28
  -H "Content-Type: application/json" \
29
  -H "accept: application/json" \
30
  -d '{
31
- "user_id": "local_user",
32
- "rms_base": 0.11,
33
- "freq_base": 50.1,
34
- "user_emb": [0.135, 0.012, 49.3, 0.8, 0.84, 0.02, 0.11, 0.0021, 0.35, 0.71, 0.92, 0.88],
35
- "model_version": "v1.0.0"
36
- }' | jq .
37
- echo ""
38
- echo ""
39
-
40
- # 3. ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ์—…๋กœ๋“œ (์ƒˆ๋กœ์šด ๊ฐœ๋ณ„ API)
41
- echo "3๏ธโƒฃ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ์—…๋กœ๋“œ"
42
- echo "--------------------------------------"
43
- curl -X POST "$BASE_URL/upload_logs" \
44
- -H "Content-Type: application/json" \
45
- -H "accept: application/json" \
46
- -d '{
47
- "user_id": "test_user_001",
48
- "session_id": "session_123",
49
- "measure_date": "2025-10-24",
50
- "rms": 0.42,
51
- "freq": 45.3,
52
- "fatigue": 0.25,
53
- "rms_base": 0.40,
54
- "freq_base": 44.8,
55
- "user_emb": [0.2, 0.05, 45.1, 0.7, 0.8, 0.03, 0.12, 0.0015, 0.4, 0.75, 0.9, 0.85],
56
- "mode": "training",
57
- "window_count": 5,
58
- "measurement_count": 1
59
- }' | jq .
60
- echo ""
61
- echo ""
62
-
63
- # 4. ์ถ”๊ฐ€ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ์—…๋กœ๋“œ
64
- echo "4๏ธโƒฃ ์ถ”๊ฐ€ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ์—…๋กœ๋“œ"
65
- echo "--------------------------------------"
66
- curl -X POST "$BASE_URL/upload_logs" \
67
- -H "Content-Type: application/json" \
68
- -H "accept: application/json" \
69
- -d '{
70
- "user_id": "test_user_001",
71
- "session_id": "session_124",
72
- "measure_date": "2025-10-24",
73
- "rms": 0.38,
74
- "freq": 46.1,
75
- "fatigue": 0.32,
76
- "rms_base": 0.40,
77
- "freq_base": 44.8,
78
- "user_emb": [0.22, 0.06, 45.5, 0.72, 0.82, 0.035, 0.13, 0.0018, 0.42, 0.77, 0.92, 0.87],
79
- "mode": "testing",
80
- "window_count": 7,
81
- "measurement_count": 1
82
  }' | jq .
83
  echo ""
84
  echo ""
 
1
+ #!/bin/bash
2
 
3
  # MuscleCare API ํ…Œ์ŠคํŠธ ์Šคํฌ๋ฆฝํŠธ
4
 
 
8
  BASE_URL="${1:-http://localhost:7860}"
9
 
10
  echo "======================================"
11
+ echo "๐Ÿงช MuscleCare Dataset API ํ…Œ์ŠคํŠธ"
12
  echo "======================================"
13
  echo "์„œ๋ฒ„: $BASE_URL"
14
  echo ""
 
21
  echo ""
22
  echo ""
23
 
24
+ # 2. ๋ฐฐ์น˜ ๋ฐ์ดํ„ฐ ์—…๋กœ๋“œ
25
+ echo "2๏ธโƒฃ ๋ฐฐ์น˜ ๋ฐ์ดํ„ฐ ์—…๋กœ๋“œ"
26
  echo "--------------------------------------"
27
+ curl -X POST "$BASE_URL/upload_dataset" \
28
  -H "Content-Type: application/json" \
29
  -H "accept: application/json" \
30
  -d '{
31
+ "batch_data": [
32
+ {
33
+ "user_id": "user_001",
34
+ "session_id": "session_001",
35
+ "window_id": 1001,
36
+ "window_start_ms": 0,
37
+ "window_end_ms": 2000,
38
+ "timestamp_utc": "2025-10-24T10:00:00Z",
39
+ "acc_x_mean": 0.01,
40
+ "acc_y_mean": -0.02,
41
+ "acc_z_mean": 0.98,
42
+ "gyro_x_mean": 0.001,
43
+ "gyro_y_mean": -0.003,
44
+ "gyro_z_mean": 0.002,
45
+ "rms_acc": 0.45,
46
+ "rms_gyro": 0.12,
47
+ "mean_freq_acc": 45.2,
48
+ "mean_freq_gyro": 12.5,
49
+ "entropy_acc": 0.62,
50
+ "entropy_gyro": 0.31,
51
+ "jerk_mean": 0.08,
52
+ "jerk_std": 0.01,
53
+ "stability_index": 0.9,
54
+ "rms_base": 0.4,
55
+ "freq_base": 40.0,
56
+ "user_emb": [0.1, 0.05, 0.02, 0.07, 0.11, 0.03, 0.04, 0.02, 0.09, 0.01, 0.08, 0.05],
57
+ "fatigue_prev": 0.3,
58
+ "fatigue": 0.32,
59
+ "fatigue_level": 1,
60
+ "quality_flag": 1,
61
+ "window_size_ms": 2000,
62
+ "overlap_rate": 0.5
63
+ }
64
+ ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  }' | jq .
66
  echo ""
67
  echo ""