말 그대로다.

pytorch에서 tensor로 저장되는 weight 값을 저장하고 싶었다. 그것도 줄임표시가 없이 전체 저장!!

print를 하면 ... 표시로 나오고

파일로 저장해도 ... 로 나오고..

아래 글처럼, numpy 배열을 뿌리는 옵션을 찾았지만

tensor에는 적용되지 않았다.

구글링으로 set_printoptions 를 찾았고, 아래 numpy 옵션 처럼, 라인 등 지정이 가능하다.

파일로 저장하는 부분도 함께 찾았는데, 자세한 부분은 아래 링크 참조하여 상황에 맞게 수정하여 사용.

import pandas as pd

# profile 부분에서 설정 가능
# full : 전체 출력 설정
torch.set_printoptions(profile="full")

state_dict = model.state_dict()

for key in state_dict:
	# 여긴 그냥 key 값으로 내용 출력해주는 부분
	# 이었는데 아래 처럼 파일로 씀.
	...

df = pd.DataFrame.from_dict([state_dict])
df.to_csv('file.txt', header=False, index=True, mode='a')

tensor 출력 부분 출처 : https://pytorch.org/docs/stable/generated/torch.set_printoptions.html#torch.set_printoptions

파일 저장 부분 출처 : https://stackoverflow.com/questions/36965507/writing-a-dictionary-to-a-text-file

파이 토치 + CUDA(v11.3) 설치 후 

CMD 창에서 직접 파이썬을 호출하여

CUDA 사용 여부를

확인해보면 True를 뱉어내는데..

꼭, 주피터 노트북에서

CUDA 사용 여부를 다시 확인하면

계속 False를 뱉어내고,

GPU 장치 정보를 가져오려고 하면

"Torch not compiled with CUDA enabled" 메시지가 나온다.

계속 가상환경을 지웠다 만들었다가...

파이토치도 지웠다 다시 설치했다를 반복했다가...

에효,, 암튼 계속되는 구글링...

결국 해결한 방법은 

Conda 설치가 아닌 Wheel 방식(pip) 설치.

아래 명령어로 파이토치랑 CUDA 버전 지정해서 설치함.

pip3 install torch==1.10.0+cu113 torchvision==0.11.1+cu113 torchaudio===0.10.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html

아래와 같이 정상적으로 파이토치 CUDA 연동이 되는 것을 확인함.

 

진짜. 고생고생 개고생.. ㅡㅡ;;;;

+ Recent posts