히비스서커스의 블로그

[Pytorch] wandb.run.summary에서 AttributeError: 'NoneType' object has no attribute 'summary' 발생 시 해결방법 본문

Programming/Python

[Pytorch] wandb.run.summary에서 AttributeError: 'NoneType' object has no attribute 'summary' 발생 시 해결방법

HibisCircus 2023. 5. 11. 16:53
728x90

 

상황

 

아래의 대략적인 코드와 같이

from pytorch_lightning.loggers import WandbLogger
from pytorch_lightning import Trainer
import wandb

wandb_logger = WandbLogger()
trainer = Trainer(
    accelerator = 'gpu',
    devices = 2,
	logger=wandb_logger
)

(...)

val = wandb.run.summary('val_acc')

학습 프레임워크로 pytorch lightning를 사용하고 log를 받아 시각화하기 위해 wandb_logger로 받았다. 그 후 wandb에 단일 값으로 저장된 'val_acc'에 해당하는 값을 불러오려는데 

 

'NoneType' object has no attribute 'summary'

 

와 같은 에러를 마주하였다.

 

 

해결방법

 

wandb_logger = WandbLogger()
trainer = Trainer(
    accelerator = 'gpu',
    devices = 1, # 2,
	logger=wandb_logger
)

 

devices를 2에서 1로 바꾸어주니 잘 해결되었다.

 

 

원인분석

 

아마도 multi GPU를 사용하면 summary에 저장될 변수들을 구하는 과정이 분산되기 때문에 wandb logger에 값이 잘 안 받아지는 것으로 보인다. multi GPU를 사용할 수 있는 새로운 방안을 찾아보고 다시 수정해야겠다.

728x90