Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- web
- SSL
- nlp
- Torch
- GAN
- FineGrained
- Meta Learning
- pytorch
- PRML
- 3d
- clean code
- Python
- computervision
- 알고리즘
- algorithm
- nerf
- REACT
- FGVC
- Front
- 딥러닝
- 머신러닝
- 자료구조
- math
- Depth estimation
- dl
- cs
- Vision
- ML
- classification
- CV
- Today
- Total
KalelPark's LAB
[ERROR] "DataParallel" object no attribute Module 본문
ERROR 명 :
AttributeError: 'DataParallel' object has no attribute 'classifier_concat'
optimizer = optim.SGD([
{'params' : model.classifier_concat.parameters(), 'lr' : 0.002},
{'params' : model.conv_block1.parameters(), 'lr' : 0.002},
{'params' : model.classifier1.parameters(), 'lr' : 0.002},
{'params' : model.conv_block2.parameters(), 'lr' : 0.002},
{'params' : model.classifier2.parameters(), 'lr' : 0.002},
{'params' : model.conv_block3.parameters(), 'lr' : 0.002},
{'params' : model.classifier3.parameters(), 'lr' : 0.002},
{'params' : model.features.parameters(), 'lr' : 0.0002},
], momentum = args.momentum, weight_decay = args.weight_decay)
Error가 발생한 이유는, PMG 논문을 구현하던 중, 발생하였다.
ResNet기반의 feature extractor와 PMG방식의 backbone을 엮고,
각각의 layer에 learning_rate을 finetunning하고자, 할 때 발생한 것이다.
Solution:
torch.nn.Module은 다른 모듈을 포함할 수 있고, 트리 구조를 형성하는 것이 가능하다. 이때, nn.Module을 상속받아,
기본적인 기능들을 사용할 수 있게, 엮는 것이기에, .module로 접근을 해야합니다.
아래와 같이, 코드에 .module을 추가하면, 정상적으로 실행됩니다.
optimizer = optim.SGD([
{'params' : model.module.classifier_concat.parameters(), 'lr' : 0.002},
{'params' : model.module.conv_block1.parameters(), 'lr' : 0.002},
{'params' : model.module.classifier1.parameters(), 'lr' : 0.002},
{'params' : model.module.conv_block2.parameters(), 'lr' : 0.002},
{'params' : model.module.classifier2.parameters(), 'lr' : 0.002},
{'params' : model.module.conv_block3.parameters(), 'lr' : 0.002},
{'params' : model.module.classifier3.parameters(), 'lr' : 0.002},
{'params' : model.module.features.parameters(), 'lr' : 0.0002},
], momentum = args.momentum, weight_decay = args.weight_decay)
Author's GitHub
Comments