Notice
Recent Posts
Recent Comments
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 | 31 |
Tags
- C#
- Python
- 오류
- 채보
- YOLO
- 기타 연주
- error
- pip
- Numpy
- mysql
- ubuntu
- pytorch
- 프로그래머스
- Docker
- label
- Visual Studio
- JSON
- C++
- 컨테이너
- windows forms
- VS Code
- Selenium
- LIST
- OpenCV
- Linux
- 핑거스타일
- pandas
- SSH
- C
- paramiko
Archives
- Today
- Total
기계는 거짓말하지 않는다
torch load_state_dict model key 변경 본문
torch의 load를 이용하여 model weight를 불러올 때,
module. model 등이 key 값에 더 붙어있거나, key 이름이 다른 경우 변경하여 가지고 올 수 있다.
단, model 구조는 같아야 한다.
state_dict = checkpoint[state_key]
new_state_dict = {}
# load된 model의 key에 model. 이 붙어있을 경우 제거
for k, v in state_dict.items():
if "model." in k:
name = k[6:]
new_state_dict[name] = v
print(new_state_dict.keys())
if len(new_state_dict.keys()) == 0:
model.load_state_dict(state_dict)
else:
model.load_state_dict(new_state_dict)
model 구조가 다르고 존재하는 key 값만 불러오고 싶다면
load_state_dict 매개변수의 strict=False를 이용한다.
model.load_state_dict(new_state_dict, strict=False)
'AI' 카테고리의 다른 글
Pytorch RuntimeError: Input type (~) and weight type (~) should be the same (0) | 2023.05.13 |
---|---|
TensorFlow keras model fit UnimplementedError: Graph execution error (0) | 2023.05.05 |
Darknet make libdarknet.so (0) | 2022.11.04 |
Labelme JSON data label 명 변경 (0) | 2022.10.28 |
Labelme JSON data label 별 object 개수 (0) | 2022.10.28 |
Comments