Study_Cat

꾸준히 공부하는 고양이가 될게요.

끊임없는 노력은 천재를 이긴다.

코딩/인공지능 및 데이터분석

[인공지능] pytorch 환경 설정 (feat. tensorboard)

Study_Cat 2024. 5. 7. 21:23
Anaconda 설치

 

아래 링크에서 email을 적은 후 최신 버전으로 설치하면 됩니다.

 

Distribution | Anaconda

Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine.

www.anaconda.com

 

중요한건 환경 변수인데요. 왠만하면 괜찮겠지만, 혹시나 하니 확인하는 것을 추천합니다. 만약 Anaconda를 사용하다 나중에 사용자 이름을 바꾸는 경우엔 나중을 위해서 지웠다 다시 설치하는 것을 추천합니다!

 

 

Pytorch 설치

저는 Python = 3.10.0 / Pytorch = 2.3.0 을 사용하였고, gpu가 아닌 cpu사용, window 에서 설치하였습니다. 저와 사양이 다르거나 다른 버전을 설치하고 싶으시면 아래 링크를 참고하세요

https://pytorch.org/

 

PyTorch

 

pytorch.org

conda create -n (생성할 env 이름) python==3.10.0
// 잠시 기달렸다가 y/n 이 뜨면 y을 입력하고...
// 설치가 완료되면
conda activate (생성한 env 이름)
conda install pytorch torchvision torchaudio cpuonly -c pytorch
// 잠시 기달렸다가 y/n 에서 y입력

 

 

 

Tensorboard 사용

 

conda install tensorboardx
conda install tensorboard
conda install python-dateutil

tensorflow가 아닌 pytorch를 사용할 경우 tensorboardx 까지 설치해야 한다고 하네요... 참고로 dateutil을 설치하지 않으면 오류뜹니다...

 

from tensorboardX import SummaryWriter
writer = SummaryWriter() # 사용 선언

for epoch in nb_epoch:
	~학습코드~
    writer.add_scalar("Loss/train", loss, cnt)
	~ 중간 출력코드~
    
writer.flush()
writer.close()

 

위 코드를 실행시키면 runs라는 폴더가 생기면서 기록이 남습니다.  나중에 확인하고 싶다면 아래 명령어를 실행시키면 됩니다.

tensorboard --logdir=./runs

 

 

 

과정 중 에러들
tensorboard ImportError: Unable to import required dependencies: dateutil: No module named 'dateutil'

위에서 언급한 데로 python-dateutil을 설치하면 됩니다.

 

 

importerror: dll load failed while "importing _ctypes": 지정된 모듈을 찾을 수 없습니다.

환경변수를 다시 확인해 주세요. 만약 환경 변수를 고쳤는데도 안되고, module이나 env를 지웠다해도 안된다면 anaconda를 지웠다 깔아야 하는데, 이 때 주의할 점은 User\(사용자이름) 폴더에 .conda 폴더가 지워진 것을 확인해야 합니다. 만약 지워지지 않았다면 수동으로 지워주세요. ( 저도 이 오류로 5시간을... 결국 .conda까지 전~부 삭제하니 해결됐습니다..)

 


tensorboard를 사용하기 위해 이것 저것 하다가 갑자기 오류가 발생해서 아예 지우는 선택을 해버렸는데요... 완전 지우고 다시 까는건 최후의 수단으로 사용하는 것이 좋습니다. (2시간 이상 소요시... 그냥 초기화 하세요..)

 

그래도 어찌저찌 고생해서 이런 화면을 보니 만족합니다 ㅎㅎ. 다음엔 만든 모델을 tensorboard를 추가적으로 이용해서 분석해보겠습니다.