pytorch만 쓰다가 visualization의 한계를 깨닫고 tensorboard 툴 공부 중,,,
여차저차해서 tensorboard 코드는 만들었는데,
코드 실행하는 server는 linux 기반의 ubuntu, 노트북은 macOS, 테스크탑은 window 기반이라 tensorboard 연결하면서 겪은 약간의 시행착오를 정리하려고 한다.
일단 macOS에서는 vscode를 사용하기 때문에 vscode로 연결한 원격 터미넣에서 아래처럼 tensorboard를 켠 후
tensorboard --logdir={log경로}
바로 http://{원격ip주소}:6006을 (6006은 포트 설정 안했을 시 기본설정) 크롬에 입력하면 tensorboard 창이 켜졌다.
문제는 window에서는 vscode를 사용하지 않고 모바엑스텀을 사용해서,,,똑같이 하니까 안되더라
검색해본 결과
1. 원격서버에서 포트 지정해서 tensorboard를 열 것(근데 필수는 아님)
2. window cmd에서 NfL로 원격서버와 로컬 연결하기
3. window 크롬에서 주소 입력하기
이렇게 세 단계로 나눠서 하면되는 걸 파악했다. 그러니까 2번 단계가 추가된 것!
1. 원격서버에서 아래같이 원격포트번호를 지정해준다.
이는 실제 원격 서버의 포트번호가 아니라, 텐서보드를 다른사람이 쓰고 있거나 6006을 다른 사람이 쓰고 있는 경우를 방지하기 위해서이다. 나같은 경우는 6007로 진행하였다.
tensorboard --logdir {log 폴더 경로} --port {원격포트번호지정}
2. window에서 cmd에 ssh 클라이언트 기능을 설치한다.
윈도우 설정 -> 앱 -> 선택적 기능 -> ssh 클라이언트
를 찾아 설치하면 1분도 안걸린다.
그 다음 윈도우 + R 키로 윈도우 cmd 창을 연다 (주의: anaconda prompt 아님!)
ssh -NfL localhost:{local에서 쓸포트번호}:localhost:{원격포트번호} {원격id}@{원격ip}
# or 원격 서버를 연결하기 위한 포트번호가 있을 시
ssh -NfL localhost:{local에서 쓸포트번호}:localhost:{원격포트번호} {원격id}@{원격ip} -p {원격기본설정 포트}
그 다음 위 커맨드를 쳐서 원격서버와 로컬서버의 포트번호를 연결해준다
이때 주의점은 {원격포트번호}와 {원격기본설정 포트}는 다르다는 점이다.
(이걸 검색해서 여기까지 온사람이라면 차이를 알겠지만 혹시나,,,)
# {local에서 쓸 포트번호}
아무거나 내 로컬에서 사용하지 않는 포트번호로 지정해주면 된다. -> 이값을 3번에서 사용할 예정
# {원격포트번호}
나같은 경우는 {원격포트번호}에 1번에서 지정해준 6007을 썼고,
1번에서 포트 번호 지정은 안했다면 6006을 사용하면 된다.
# {원격기본설정 포트}
이는 원격 서버에 설정된 포트 번호가 있다면 지정해주면 된다. 보통 22로 설정되어 있는 그 포트번호 말하는 것이다.
6006과는 아무 상관이 없다. 원격서버에 포트 설정이 안되어 있다면 입력할 필요 없다.
3. window 크롬에서 주소 입력하기
window 로컬컴에서
http://{원격서버ip}:{local에서 쓸 포트번호}
를 주소창에 입력해주면 된다.
## 정리
# 원격에서
tensorboard --logdir {log 폴더 경로} --port {A}
# 로컬 window cmd에서 (C는 원격서버 포트 번호가 22(기본설정값)이 아닐 시)
ssh -NfL localhost:{B}:localhost:{A} {원격id}@{원격ip} -p {C}
# 로컬 window 주소창에서
http://{원격서버ip}:{B}
'Code 공부 > tool 및 code 실행법' 카테고리의 다른 글
[GPU util 정리] memory에는 잡히는데 process name에는 잡히지 않는 프로세스 죽이기 (1) | 2023.10.09 |
---|---|
[환경세팅] pytorch3d 가상환경 세팅 시 trial and error 로그 (1) | 2023.04.20 |
[Nvidia DALI] Data loading library DALI 공부 - 01 (0) | 2022.10.14 |
[python] import 상대경로 한번에 해결하기 (0) | 2022.07.13 |
[vim 팁] vim 사용 시 indentation 자동으로 맞추기 (0) | 2022.04.03 |