aiauto-client 0.1.10__tar.gz → 0.1.11__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/PKG-INFO +23 -23
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/README.md +22 -22
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/pyproject.toml +1 -1
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/src/aiauto_client.egg-info/PKG-INFO +23 -23
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/MANIFEST.in +0 -0
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/examples/example_torch_multiple_objective.py +0 -0
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/examples/example_torch_single_objective.py +0 -0
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/examples/simple_example.py +0 -0
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/setup.cfg +0 -0
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/src/aiauto/__init__.py +0 -0
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/src/aiauto/_config.py +0 -0
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/src/aiauto/constants.py +0 -0
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/src/aiauto/core.py +0 -0
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/src/aiauto/http_client.py +0 -0
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/src/aiauto/serializer.py +0 -0
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/src/aiauto_client.egg-info/SOURCES.txt +0 -0
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/src/aiauto_client.egg-info/dependency_links.txt +0 -0
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/src/aiauto_client.egg-info/requires.txt +0 -0
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/src/aiauto_client.egg-info/top_level.txt +0 -0
- {aiauto_client-0.1.10 → aiauto_client-0.1.11}/tests/test_local_storage.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: aiauto-client
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.11
|
4
4
|
Summary: AI Auto HPO (Hyperparameter Optimization) Client Library
|
5
5
|
Author-email: AIAuto Team <ainode@zeroone.ai>
|
6
6
|
Project-URL: Homepage, https://dashboard.common.aiauto.pangyo.ainode.ai
|
@@ -68,23 +68,23 @@ for image in aiauto.RUNTIME_IMAGES:
|
|
68
68
|
|
69
69
|
## 실행 흐름
|
70
70
|
### token 발급 # TODO
|
71
|
-
- `https://dashboard.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후
|
72
|
-
- `https://dashboard.aiauto.pangyo.ainode.ai/token` 으로 이동하여 aiauto 의 token 을 발급
|
71
|
+
- `https://dashboard.common.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후
|
72
|
+
- `https://dashboard.common.aiauto.pangyo.ainode.ai/token` 으로 이동하여 aiauto 의 token 을 발급
|
73
73
|
- 아래 코드 처럼 발급한 token 을 넣어 AIAutoController singleton 객체를 초기화, OptunaWorkspace 를 활성화 시킨다
|
74
74
|
```python
|
75
75
|
import aiauto
|
76
76
|
|
77
77
|
ac = aiauto.AIAutoController('<token>')
|
78
78
|
```
|
79
|
-
- `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
80
|
-
- 아래 코드 처럼 study 를 생성하면 `https://dashboard.aiauto.pangyo.ainode.ai/study` 에서 확인할 수 있고 optuna-dashboard 링크에서도 확인 가능
|
79
|
+
- `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
80
|
+
- 아래 코드 처럼 study 를 생성하면 `https://dashboard.common.aiauto.pangyo.ainode.ai/study` 에서 확인할 수 있고 optuna-dashboard 링크에서도 확인 가능
|
81
81
|
```python
|
82
82
|
study_wrapper = ac.create_study(
|
83
83
|
study_name='test',
|
84
84
|
direction='maximize', # or 'minimize'
|
85
85
|
)
|
86
86
|
```
|
87
|
-
- 아래 코드 처럼 생성한 study 애서 objective 함수를 작성하여 넘겨주면 optimize 를 호출하면 `https://dashboard.aiauto.pangyo.ainode.ai/trialbatch` 에서 확인할 수 있고 optuna-dashboard 링크에서도 확인 가능
|
87
|
+
- 아래 코드 처럼 생성한 study 애서 objective 함수를 작성하여 넘겨주면 optimize 를 호출하면 `https://dashboard.common.aiauto.pangyo.ainode.ai/trialbatch` 에서 확인할 수 있고 optuna-dashboard 링크에서도 확인 가능
|
88
88
|
```python
|
89
89
|
study_wrapper.optimize(
|
90
90
|
objective=func_with_parameter_trial,
|
@@ -148,10 +148,10 @@ import optuna
|
|
148
148
|
import aiauto
|
149
149
|
|
150
150
|
|
151
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
151
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
152
152
|
# AIAutoController singleton 객체를 초기화 하여, OptunaWorkspace 를 활성화 시킨다 (토큰은 한 번만 설정)
|
153
153
|
ac = aiauto.AIAutoController('<token>')
|
154
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
154
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
155
155
|
|
156
156
|
# StudyWrapper 생성
|
157
157
|
study_wrapper = ac.create_study(
|
@@ -159,7 +159,7 @@ study_wrapper = ac.create_study(
|
|
159
159
|
direction="minimize"
|
160
160
|
# sampler=optuna.samplers.TPESampler(), # optuna 에서 제공하는 sampler 그대로 사용 가능, 참고 https://optuna.readthedocs.io/en/stable/reference/samplers/index.html
|
161
161
|
)
|
162
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
162
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
163
163
|
|
164
164
|
# objective 함수 정의
|
165
165
|
def objective(trial: optuna.trial.Trial):
|
@@ -174,7 +174,7 @@ study_wrapper.optimize(
|
|
174
174
|
n_trials=100,
|
175
175
|
parallelism=4 # 동시 실행 Pod 수
|
176
176
|
)
|
177
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 optuna-dashboard 링크에서 결과 확인 가능
|
177
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 optuna-dashboard 링크에서 결과 확인 가능
|
178
178
|
```
|
179
179
|
|
180
180
|
### 2. PyTorch 모델 최적화 (Single Objective)
|
@@ -184,10 +184,10 @@ import optuna
|
|
184
184
|
import aiauto
|
185
185
|
|
186
186
|
|
187
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
187
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
188
188
|
# AIAutoController singleton 객체를 초기화 하여, OptunaWorkspace 를 활성화 시킨다 (토큰은 한 번만 설정)
|
189
189
|
ac = aiauto.AIAutoController('<token>')
|
190
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
190
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
191
191
|
|
192
192
|
# StudyWrapper 생성
|
193
193
|
study_wrapper = ac.create_study(
|
@@ -199,7 +199,7 @@ study_wrapper = ac.create_study(
|
|
199
199
|
patience=4,
|
200
200
|
),
|
201
201
|
)
|
202
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
202
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
203
203
|
|
204
204
|
# objective 함수 정의
|
205
205
|
# https://docs.pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html 참고
|
@@ -315,10 +315,10 @@ import optuna
|
|
315
315
|
import aiauto
|
316
316
|
|
317
317
|
|
318
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
318
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
319
319
|
# AIAutoController singleton 객체를 초기화 하여, OptunaWorkspace 를 활성화 시킨다 (토큰은 한 번만 설정)
|
320
320
|
ac = aiauto.AIAutoController('<token>')
|
321
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
321
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
322
322
|
|
323
323
|
# StudyWrapper 생성
|
324
324
|
study_wrapper = ac.create_study(
|
@@ -326,7 +326,7 @@ study_wrapper = ac.create_study(
|
|
326
326
|
direction=["minimize", "minimize"], # loss minimize, FLOPS minimize
|
327
327
|
# sampler=optuna.samplers.TPESampler(), # optuna 에서 제공하는 sampler 그대로 사용 가능, 참고 https://optuna.readthedocs.io/en/stable/reference/samplers/index.html
|
328
328
|
)
|
329
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
329
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
330
330
|
|
331
331
|
# objective 함수 정의
|
332
332
|
# https://docs.pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html 참고
|
@@ -442,10 +442,10 @@ study_wrapper.optimize(
|
|
442
442
|
import optuna
|
443
443
|
import aiauto
|
444
444
|
|
445
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
445
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
446
446
|
# AIAutoController singleton 객체를 초기화 하여, OptunaWorkspace 를 활성화 시킨다 (토큰은 한 번만 설정)
|
447
447
|
ac = aiauto.AIAutoController('<token>')
|
448
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
448
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
449
449
|
|
450
450
|
# Study 생성
|
451
451
|
study_wrapper = ac.create_study(
|
@@ -457,7 +457,7 @@ study_wrapper = ac.create_study(
|
|
457
457
|
# patience=4,
|
458
458
|
# )
|
459
459
|
)
|
460
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
460
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
461
461
|
|
462
462
|
# 실제 optuna.Study 객체 획득 (로컬에서 ask/tell 가능)
|
463
463
|
study = study_wrapper.get_study()
|
@@ -474,7 +474,7 @@ ret = (x - 2) ** 2 + (y - 3) ** 2
|
|
474
474
|
|
475
475
|
# 결과 보고
|
476
476
|
study.tell(trial, ret)
|
477
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 optuna-dashboard 링크에서 결과 확인 가능
|
477
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 optuna-dashboard 링크에서 결과 확인 가능
|
478
478
|
```
|
479
479
|
|
480
480
|
# lib build
|
@@ -495,11 +495,11 @@ make build push
|
|
495
495
|
2) `StudyWrapper.get_study()` → 실제 `optuna.Study` 로드 후 **ask/tell** 직접 사용
|
496
496
|
|
497
497
|
### 2) 네트워크/도메인 규칙 (필수)
|
498
|
-
- **Connect RPC (HTTPS/443)**: `https://api.aiauto.pangyo.ainode.ai`
|
498
|
+
- **Connect RPC (HTTPS/443)**: `https://api.common.aiauto.pangyo.ainode.ai`
|
499
499
|
- **Optuna Storage (gRPC, 평문 h2c/13000)**:
|
500
500
|
`{userID}.journal-grpc-storage-proxy.aiauto.pangyo.ainode.ai:13000`
|
501
501
|
→ **항상 평문(h2c)**. 443/TLS 시도 **금지**.
|
502
|
-
- 대시보드(웹): `https://dashboard.aiauto.pangyo.ainode.ai`
|
502
|
+
- 대시보드(웹): `https://dashboard.common.aiauto.pangyo.ainode.ai`
|
503
503
|
|
504
504
|
### 3) 호출 순서 (결정 트리)
|
505
505
|
1) 컨트롤러 생성: `AIAutoController(token)` → 토큰 검증 & 워크스페이스/엔드포인트 획득
|
@@ -554,7 +554,7 @@ real.tell(t, (x - 2) ** 2)
|
|
554
554
|
|
555
555
|
### 6) 에러 응답 템플릿(자동 응답 가이드)
|
556
556
|
- 초기화/토큰 문제 감지:
|
557
|
-
- “대시보드에서 토큰을 재발급한 뒤 다시 시도하세요: https://dashboard.aiauto.pangyo.ainode.ai”
|
557
|
+
- “대시보드에서 토큰을 재발급한 뒤 다시 시도하세요: https://dashboard.common.aiauto.pangyo.ainode.ai”
|
558
558
|
- `get_study()` 연결 실패(스토리지 준비 전):
|
559
559
|
- “Workspace/Storage가 아직 준비 중일 수 있어요. 잠시 후 다시 시도하거나 대시보드에서 상태를 확인해 주세요.”
|
560
560
|
|
@@ -41,23 +41,23 @@ for image in aiauto.RUNTIME_IMAGES:
|
|
41
41
|
|
42
42
|
## 실행 흐름
|
43
43
|
### token 발급 # TODO
|
44
|
-
- `https://dashboard.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후
|
45
|
-
- `https://dashboard.aiauto.pangyo.ainode.ai/token` 으로 이동하여 aiauto 의 token 을 발급
|
44
|
+
- `https://dashboard.common.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후
|
45
|
+
- `https://dashboard.common.aiauto.pangyo.ainode.ai/token` 으로 이동하여 aiauto 의 token 을 발급
|
46
46
|
- 아래 코드 처럼 발급한 token 을 넣어 AIAutoController singleton 객체를 초기화, OptunaWorkspace 를 활성화 시킨다
|
47
47
|
```python
|
48
48
|
import aiauto
|
49
49
|
|
50
50
|
ac = aiauto.AIAutoController('<token>')
|
51
51
|
```
|
52
|
-
- `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
53
|
-
- 아래 코드 처럼 study 를 생성하면 `https://dashboard.aiauto.pangyo.ainode.ai/study` 에서 확인할 수 있고 optuna-dashboard 링크에서도 확인 가능
|
52
|
+
- `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
53
|
+
- 아래 코드 처럼 study 를 생성하면 `https://dashboard.common.aiauto.pangyo.ainode.ai/study` 에서 확인할 수 있고 optuna-dashboard 링크에서도 확인 가능
|
54
54
|
```python
|
55
55
|
study_wrapper = ac.create_study(
|
56
56
|
study_name='test',
|
57
57
|
direction='maximize', # or 'minimize'
|
58
58
|
)
|
59
59
|
```
|
60
|
-
- 아래 코드 처럼 생성한 study 애서 objective 함수를 작성하여 넘겨주면 optimize 를 호출하면 `https://dashboard.aiauto.pangyo.ainode.ai/trialbatch` 에서 확인할 수 있고 optuna-dashboard 링크에서도 확인 가능
|
60
|
+
- 아래 코드 처럼 생성한 study 애서 objective 함수를 작성하여 넘겨주면 optimize 를 호출하면 `https://dashboard.common.aiauto.pangyo.ainode.ai/trialbatch` 에서 확인할 수 있고 optuna-dashboard 링크에서도 확인 가능
|
61
61
|
```python
|
62
62
|
study_wrapper.optimize(
|
63
63
|
objective=func_with_parameter_trial,
|
@@ -121,10 +121,10 @@ import optuna
|
|
121
121
|
import aiauto
|
122
122
|
|
123
123
|
|
124
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
124
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
125
125
|
# AIAutoController singleton 객체를 초기화 하여, OptunaWorkspace 를 활성화 시킨다 (토큰은 한 번만 설정)
|
126
126
|
ac = aiauto.AIAutoController('<token>')
|
127
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
127
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
128
128
|
|
129
129
|
# StudyWrapper 생성
|
130
130
|
study_wrapper = ac.create_study(
|
@@ -132,7 +132,7 @@ study_wrapper = ac.create_study(
|
|
132
132
|
direction="minimize"
|
133
133
|
# sampler=optuna.samplers.TPESampler(), # optuna 에서 제공하는 sampler 그대로 사용 가능, 참고 https://optuna.readthedocs.io/en/stable/reference/samplers/index.html
|
134
134
|
)
|
135
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
135
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
136
136
|
|
137
137
|
# objective 함수 정의
|
138
138
|
def objective(trial: optuna.trial.Trial):
|
@@ -147,7 +147,7 @@ study_wrapper.optimize(
|
|
147
147
|
n_trials=100,
|
148
148
|
parallelism=4 # 동시 실행 Pod 수
|
149
149
|
)
|
150
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 optuna-dashboard 링크에서 결과 확인 가능
|
150
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 optuna-dashboard 링크에서 결과 확인 가능
|
151
151
|
```
|
152
152
|
|
153
153
|
### 2. PyTorch 모델 최적화 (Single Objective)
|
@@ -157,10 +157,10 @@ import optuna
|
|
157
157
|
import aiauto
|
158
158
|
|
159
159
|
|
160
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
160
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
161
161
|
# AIAutoController singleton 객체를 초기화 하여, OptunaWorkspace 를 활성화 시킨다 (토큰은 한 번만 설정)
|
162
162
|
ac = aiauto.AIAutoController('<token>')
|
163
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
163
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
164
164
|
|
165
165
|
# StudyWrapper 생성
|
166
166
|
study_wrapper = ac.create_study(
|
@@ -172,7 +172,7 @@ study_wrapper = ac.create_study(
|
|
172
172
|
patience=4,
|
173
173
|
),
|
174
174
|
)
|
175
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
175
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
176
176
|
|
177
177
|
# objective 함수 정의
|
178
178
|
# https://docs.pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html 참고
|
@@ -288,10 +288,10 @@ import optuna
|
|
288
288
|
import aiauto
|
289
289
|
|
290
290
|
|
291
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
291
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
292
292
|
# AIAutoController singleton 객체를 초기화 하여, OptunaWorkspace 를 활성화 시킨다 (토큰은 한 번만 설정)
|
293
293
|
ac = aiauto.AIAutoController('<token>')
|
294
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
294
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
295
295
|
|
296
296
|
# StudyWrapper 생성
|
297
297
|
study_wrapper = ac.create_study(
|
@@ -299,7 +299,7 @@ study_wrapper = ac.create_study(
|
|
299
299
|
direction=["minimize", "minimize"], # loss minimize, FLOPS minimize
|
300
300
|
# sampler=optuna.samplers.TPESampler(), # optuna 에서 제공하는 sampler 그대로 사용 가능, 참고 https://optuna.readthedocs.io/en/stable/reference/samplers/index.html
|
301
301
|
)
|
302
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
302
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
303
303
|
|
304
304
|
# objective 함수 정의
|
305
305
|
# https://docs.pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html 참고
|
@@ -415,10 +415,10 @@ study_wrapper.optimize(
|
|
415
415
|
import optuna
|
416
416
|
import aiauto
|
417
417
|
|
418
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
418
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
419
419
|
# AIAutoController singleton 객체를 초기화 하여, OptunaWorkspace 를 활성화 시킨다 (토큰은 한 번만 설정)
|
420
420
|
ac = aiauto.AIAutoController('<token>')
|
421
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
421
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
422
422
|
|
423
423
|
# Study 생성
|
424
424
|
study_wrapper = ac.create_study(
|
@@ -430,7 +430,7 @@ study_wrapper = ac.create_study(
|
|
430
430
|
# patience=4,
|
431
431
|
# )
|
432
432
|
)
|
433
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
433
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
434
434
|
|
435
435
|
# 실제 optuna.Study 객체 획득 (로컬에서 ask/tell 가능)
|
436
436
|
study = study_wrapper.get_study()
|
@@ -447,7 +447,7 @@ ret = (x - 2) ** 2 + (y - 3) ** 2
|
|
447
447
|
|
448
448
|
# 결과 보고
|
449
449
|
study.tell(trial, ret)
|
450
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 optuna-dashboard 링크에서 결과 확인 가능
|
450
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 optuna-dashboard 링크에서 결과 확인 가능
|
451
451
|
```
|
452
452
|
|
453
453
|
# lib build
|
@@ -468,11 +468,11 @@ make build push
|
|
468
468
|
2) `StudyWrapper.get_study()` → 실제 `optuna.Study` 로드 후 **ask/tell** 직접 사용
|
469
469
|
|
470
470
|
### 2) 네트워크/도메인 규칙 (필수)
|
471
|
-
- **Connect RPC (HTTPS/443)**: `https://api.aiauto.pangyo.ainode.ai`
|
471
|
+
- **Connect RPC (HTTPS/443)**: `https://api.common.aiauto.pangyo.ainode.ai`
|
472
472
|
- **Optuna Storage (gRPC, 평문 h2c/13000)**:
|
473
473
|
`{userID}.journal-grpc-storage-proxy.aiauto.pangyo.ainode.ai:13000`
|
474
474
|
→ **항상 평문(h2c)**. 443/TLS 시도 **금지**.
|
475
|
-
- 대시보드(웹): `https://dashboard.aiauto.pangyo.ainode.ai`
|
475
|
+
- 대시보드(웹): `https://dashboard.common.aiauto.pangyo.ainode.ai`
|
476
476
|
|
477
477
|
### 3) 호출 순서 (결정 트리)
|
478
478
|
1) 컨트롤러 생성: `AIAutoController(token)` → 토큰 검증 & 워크스페이스/엔드포인트 획득
|
@@ -527,7 +527,7 @@ real.tell(t, (x - 2) ** 2)
|
|
527
527
|
|
528
528
|
### 6) 에러 응답 템플릿(자동 응답 가이드)
|
529
529
|
- 초기화/토큰 문제 감지:
|
530
|
-
- “대시보드에서 토큰을 재발급한 뒤 다시 시도하세요: https://dashboard.aiauto.pangyo.ainode.ai”
|
530
|
+
- “대시보드에서 토큰을 재발급한 뒤 다시 시도하세요: https://dashboard.common.aiauto.pangyo.ainode.ai”
|
531
531
|
- `get_study()` 연결 실패(스토리지 준비 전):
|
532
532
|
- “Workspace/Storage가 아직 준비 중일 수 있어요. 잠시 후 다시 시도하거나 대시보드에서 상태를 확인해 주세요.”
|
533
533
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: aiauto-client
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.11
|
4
4
|
Summary: AI Auto HPO (Hyperparameter Optimization) Client Library
|
5
5
|
Author-email: AIAuto Team <ainode@zeroone.ai>
|
6
6
|
Project-URL: Homepage, https://dashboard.common.aiauto.pangyo.ainode.ai
|
@@ -68,23 +68,23 @@ for image in aiauto.RUNTIME_IMAGES:
|
|
68
68
|
|
69
69
|
## 실행 흐름
|
70
70
|
### token 발급 # TODO
|
71
|
-
- `https://dashboard.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후
|
72
|
-
- `https://dashboard.aiauto.pangyo.ainode.ai/token` 으로 이동하여 aiauto 의 token 을 발급
|
71
|
+
- `https://dashboard.common.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후
|
72
|
+
- `https://dashboard.common.aiauto.pangyo.ainode.ai/token` 으로 이동하여 aiauto 의 token 을 발급
|
73
73
|
- 아래 코드 처럼 발급한 token 을 넣어 AIAutoController singleton 객체를 초기화, OptunaWorkspace 를 활성화 시킨다
|
74
74
|
```python
|
75
75
|
import aiauto
|
76
76
|
|
77
77
|
ac = aiauto.AIAutoController('<token>')
|
78
78
|
```
|
79
|
-
- `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
80
|
-
- 아래 코드 처럼 study 를 생성하면 `https://dashboard.aiauto.pangyo.ainode.ai/study` 에서 확인할 수 있고 optuna-dashboard 링크에서도 확인 가능
|
79
|
+
- `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
80
|
+
- 아래 코드 처럼 study 를 생성하면 `https://dashboard.common.aiauto.pangyo.ainode.ai/study` 에서 확인할 수 있고 optuna-dashboard 링크에서도 확인 가능
|
81
81
|
```python
|
82
82
|
study_wrapper = ac.create_study(
|
83
83
|
study_name='test',
|
84
84
|
direction='maximize', # or 'minimize'
|
85
85
|
)
|
86
86
|
```
|
87
|
-
- 아래 코드 처럼 생성한 study 애서 objective 함수를 작성하여 넘겨주면 optimize 를 호출하면 `https://dashboard.aiauto.pangyo.ainode.ai/trialbatch` 에서 확인할 수 있고 optuna-dashboard 링크에서도 확인 가능
|
87
|
+
- 아래 코드 처럼 생성한 study 애서 objective 함수를 작성하여 넘겨주면 optimize 를 호출하면 `https://dashboard.common.aiauto.pangyo.ainode.ai/trialbatch` 에서 확인할 수 있고 optuna-dashboard 링크에서도 확인 가능
|
88
88
|
```python
|
89
89
|
study_wrapper.optimize(
|
90
90
|
objective=func_with_parameter_trial,
|
@@ -148,10 +148,10 @@ import optuna
|
|
148
148
|
import aiauto
|
149
149
|
|
150
150
|
|
151
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
151
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
152
152
|
# AIAutoController singleton 객체를 초기화 하여, OptunaWorkspace 를 활성화 시킨다 (토큰은 한 번만 설정)
|
153
153
|
ac = aiauto.AIAutoController('<token>')
|
154
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
154
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
155
155
|
|
156
156
|
# StudyWrapper 생성
|
157
157
|
study_wrapper = ac.create_study(
|
@@ -159,7 +159,7 @@ study_wrapper = ac.create_study(
|
|
159
159
|
direction="minimize"
|
160
160
|
# sampler=optuna.samplers.TPESampler(), # optuna 에서 제공하는 sampler 그대로 사용 가능, 참고 https://optuna.readthedocs.io/en/stable/reference/samplers/index.html
|
161
161
|
)
|
162
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
162
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
163
163
|
|
164
164
|
# objective 함수 정의
|
165
165
|
def objective(trial: optuna.trial.Trial):
|
@@ -174,7 +174,7 @@ study_wrapper.optimize(
|
|
174
174
|
n_trials=100,
|
175
175
|
parallelism=4 # 동시 실행 Pod 수
|
176
176
|
)
|
177
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 optuna-dashboard 링크에서 결과 확인 가능
|
177
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 optuna-dashboard 링크에서 결과 확인 가능
|
178
178
|
```
|
179
179
|
|
180
180
|
### 2. PyTorch 모델 최적화 (Single Objective)
|
@@ -184,10 +184,10 @@ import optuna
|
|
184
184
|
import aiauto
|
185
185
|
|
186
186
|
|
187
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
187
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
188
188
|
# AIAutoController singleton 객체를 초기화 하여, OptunaWorkspace 를 활성화 시킨다 (토큰은 한 번만 설정)
|
189
189
|
ac = aiauto.AIAutoController('<token>')
|
190
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
190
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
191
191
|
|
192
192
|
# StudyWrapper 생성
|
193
193
|
study_wrapper = ac.create_study(
|
@@ -199,7 +199,7 @@ study_wrapper = ac.create_study(
|
|
199
199
|
patience=4,
|
200
200
|
),
|
201
201
|
)
|
202
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
202
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
203
203
|
|
204
204
|
# objective 함수 정의
|
205
205
|
# https://docs.pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html 참고
|
@@ -315,10 +315,10 @@ import optuna
|
|
315
315
|
import aiauto
|
316
316
|
|
317
317
|
|
318
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
318
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
319
319
|
# AIAutoController singleton 객체를 초기화 하여, OptunaWorkspace 를 활성화 시킨다 (토큰은 한 번만 설정)
|
320
320
|
ac = aiauto.AIAutoController('<token>')
|
321
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
321
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
322
322
|
|
323
323
|
# StudyWrapper 생성
|
324
324
|
study_wrapper = ac.create_study(
|
@@ -326,7 +326,7 @@ study_wrapper = ac.create_study(
|
|
326
326
|
direction=["minimize", "minimize"], # loss minimize, FLOPS minimize
|
327
327
|
# sampler=optuna.samplers.TPESampler(), # optuna 에서 제공하는 sampler 그대로 사용 가능, 참고 https://optuna.readthedocs.io/en/stable/reference/samplers/index.html
|
328
328
|
)
|
329
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
329
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
330
330
|
|
331
331
|
# objective 함수 정의
|
332
332
|
# https://docs.pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html 참고
|
@@ -442,10 +442,10 @@ study_wrapper.optimize(
|
|
442
442
|
import optuna
|
443
443
|
import aiauto
|
444
444
|
|
445
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
445
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai` 에 접속하여 ainode 에 로그인 한 후 aiauto 의 token 을 발급
|
446
446
|
# AIAutoController singleton 객체를 초기화 하여, OptunaWorkspace 를 활성화 시킨다 (토큰은 한 번만 설정)
|
447
447
|
ac = aiauto.AIAutoController('<token>')
|
448
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
448
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 OptunaWorkspace 와 optuna-dashboard 링크를 확인할 수 있음
|
449
449
|
|
450
450
|
# Study 생성
|
451
451
|
study_wrapper = ac.create_study(
|
@@ -457,7 +457,7 @@ study_wrapper = ac.create_study(
|
|
457
457
|
# patience=4,
|
458
458
|
# )
|
459
459
|
)
|
460
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
460
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/study` 에서 생성된 study 확인 가능
|
461
461
|
|
462
462
|
# 실제 optuna.Study 객체 획득 (로컬에서 ask/tell 가능)
|
463
463
|
study = study_wrapper.get_study()
|
@@ -474,7 +474,7 @@ ret = (x - 2) ** 2 + (y - 3) ** 2
|
|
474
474
|
|
475
475
|
# 결과 보고
|
476
476
|
study.tell(trial, ret)
|
477
|
-
# `https://dashboard.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 optuna-dashboard 링크에서 결과 확인 가능
|
477
|
+
# `https://dashboard.common.aiauto.pangyo.ainode.ai/workspace` 에서 생성된 optuna-dashboard 링크에서 결과 확인 가능
|
478
478
|
```
|
479
479
|
|
480
480
|
# lib build
|
@@ -495,11 +495,11 @@ make build push
|
|
495
495
|
2) `StudyWrapper.get_study()` → 실제 `optuna.Study` 로드 후 **ask/tell** 직접 사용
|
496
496
|
|
497
497
|
### 2) 네트워크/도메인 규칙 (필수)
|
498
|
-
- **Connect RPC (HTTPS/443)**: `https://api.aiauto.pangyo.ainode.ai`
|
498
|
+
- **Connect RPC (HTTPS/443)**: `https://api.common.aiauto.pangyo.ainode.ai`
|
499
499
|
- **Optuna Storage (gRPC, 평문 h2c/13000)**:
|
500
500
|
`{userID}.journal-grpc-storage-proxy.aiauto.pangyo.ainode.ai:13000`
|
501
501
|
→ **항상 평문(h2c)**. 443/TLS 시도 **금지**.
|
502
|
-
- 대시보드(웹): `https://dashboard.aiauto.pangyo.ainode.ai`
|
502
|
+
- 대시보드(웹): `https://dashboard.common.aiauto.pangyo.ainode.ai`
|
503
503
|
|
504
504
|
### 3) 호출 순서 (결정 트리)
|
505
505
|
1) 컨트롤러 생성: `AIAutoController(token)` → 토큰 검증 & 워크스페이스/엔드포인트 획득
|
@@ -554,7 +554,7 @@ real.tell(t, (x - 2) ** 2)
|
|
554
554
|
|
555
555
|
### 6) 에러 응답 템플릿(자동 응답 가이드)
|
556
556
|
- 초기화/토큰 문제 감지:
|
557
|
-
- “대시보드에서 토큰을 재발급한 뒤 다시 시도하세요: https://dashboard.aiauto.pangyo.ainode.ai”
|
557
|
+
- “대시보드에서 토큰을 재발급한 뒤 다시 시도하세요: https://dashboard.common.aiauto.pangyo.ainode.ai”
|
558
558
|
- `get_study()` 연결 실패(스토리지 준비 전):
|
559
559
|
- “Workspace/Storage가 아직 준비 중일 수 있어요. 잠시 후 다시 시도하거나 대시보드에서 상태를 확인해 주세요.”
|
560
560
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{aiauto_client-0.1.10 → aiauto_client-0.1.11}/src/aiauto_client.egg-info/dependency_links.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|