Wandb 에서 sweep 을 이용하여 autoML 을 제공한다.
해당기능을 위해 소스에서는 function 을 호출하고,
sweep_id
function : wandb 로 실행될 function 객체
count : 반복할 횟수
sweep_id = wandb.sweep(sweep_config, project=project_name)
wandb.agent(sweep_id, function=lambda: main(model_name, dataset_name, window=window), count=x_num)
config.json 은 아래와 같은 형태로 제공가
{
"method": "bayes",
"metric": {"name": "max_auc", "goal": "maximize"},
"parameters": {
"learning_rate": {
"distribution": "uniform",
"min": 1e-4,
"max": 1e-3
},
"batch_size": {
"values": [32]
},
"num_epochs": {
"values": [50]
},
"optimizer": {
"values": ["adam"]
},
"hidden_size": {
"values": [64]
},
"emb_size": {
"values": [64]
},
"layer_num": {
"values": [3]
},
"dropout": {
"values" : [0.2]
},
"seq_len":{
"distribution": "q_uniform",
"min": 50,
"max": 100
}
},
"early_terminate": {
"type" : "hyperband",
"min_iter": 5
}
}
function 안에는 init 과 finish 를 구현하고 사이에 동기화 를 할 수 있다.
wandb.init(project=project_name, entity='id')
learning_rate = wandb.config.learning_rate
batch_size = wandb.config.batch_size
num_epochs = wandb.config.num_epochs
optimizer = wandb.config.optimizer
logging_epochs = wandb.config.logging_epochs
모델 train
모델 test
wandb.finish()
간략하게 이런식으로 구현하면된다.
'Machine.Learning' 카테고리의 다른 글
siggraph 2024 - deeplearning 관련모음 (1) | 2024.09.05 |
---|---|
tflite model size optimization (0) | 2021.02.26 |
rtx 3080 - ubuntu 20.04 개발환경 설치기 (0) | 2021.01.22 |
머신러닝 족보 ! scikit learn algorithm cheat sheet (0) | 2019.09.04 |
ML 환경 구축기 (e gpu 와 각종 드라이버 설치) (2) | 2019.04.16 |