use torchsummary package to get summary of the model to see the output shape and the number of parameters in each layer.

 

1. install the torchsummary package:

pip install torchsummary

2. let's get the model summary using torchsummary:

from torchsummary import summary
summary(model, input_size=(channels, H, W))

 

----------------------------------------------------------------
        Layer (type)               Output Shape         Param #
================================================================
            Conv2d-1           [-1, 10, 24, 24]             260
            Conv2d-2             [-1, 20, 8, 8]           5,020
         Dropout2d-3             [-1, 20, 8, 8]               0
            Linear-4                   [-1, 50]          16,050
            Linear-5                   [-1, 10]             510
================================================================
Total params: 21,840
Trainable params: 21,840
Non-trainable params: 0
----------------------------------------------------------------
Input size (MB): 0.00
Forward/backward pass size (MB): 0.06
Params size (MB): 0.08
Estimated Total Size (MB): 0.15
----------------------------------------------------------------

 

※ reference: github.com/sksq96/pytorch-summary

rtx 30xx번대 ampere 아키텍처 정식 지원 pytorch 1.7.1(stable) 버전이 나왔다.

 

기존 1.7.0 버전에서는 30xx번대에서 jit 오류를 뿜어댔으나

 

나를 포함한 다른 유저들의 열화와 같은 성원에

 

nightly 버전(1.8)부터 해결되더니 드디어 stable(1.7.1) 버전도 나왔다.

 

아마 기존에는 anaconda의 cuda 버전이 낮아서 안되지 않았나 싶다.

 

각설하고, 윈도우 환경에서 pytorch 1.7.1 + cuda 11.0 + cudnn 8.0.5로 기존 코드들 깔끔하게 동작한다.

 

30xx번대 그래픽 카드 사용자들은 pytorch 업데이트 해서 사용해보자.

'머신러닝 > Pytorch' 카테고리의 다른 글

define the optimizer and the learning rate schedule  (0) 2021.01.06
visualize the filters of the first CNN layer  (0) 2021.01.06
store best weights  (0) 2021.01.04
Storing and loading models  (0) 2020.12.31
model summary  (0) 2020.12.31

앞서 ubuntu에 pytorch 환경을 설정했지만 SSH 콘솔을 통해 코딩 및 디버깅을 하기엔 어려움이 따른다.

 

그래서 구글링을 통해 pycharm pro에서 SSH interpreter를 활용하는 방법을 찾았다.

 

그러니까 뭔말이냐면,

 

내 컴퓨터가 너무 구리거나

 

혹은 너무 좋아서 (RTX 3000번대.. 현재 pytorch에서 암페어 아키텍처를 정식 지원 안해서 못쓴다고 보면 된다, github보면 어거지로 컴파일해서 돌리는 친구들 있는데 속도 안나온다, 괜히 고생하지 말자)

 

딥러닝 개발환경이 안된다면,

 

server의 컴퓨팅 자원을 활용해서 학습도 하고 코딩도 하고 싶은데,

 

디버깅이 편하려면 pycharm을 써야되는데,

 

ssh 콘솔 접속을 통해서 pycharm을 어떻게 써야하나 고민중에,

 

이를 해결할 수 있는 방법이란 얘기이다.

 

왜 pycharm pro를 써야하냐면 pro만 SSH interpreter 기능을 제공한다...

 

참고로 학생일 경우 pro가 1년간 무료로 제공된다.

 

물론 졸업했더라도 학교 이메일만 가지고 있으면 된다.

 

학교 이메일을 통해 계정을 activate할 수 있다.

 

(참고로 본인은 학교 메일로 윈도우와 오피스365를 이용하면서 감사함을 느끼고 있다)

 

www.jetbrains.com/ko-kr/community/education/#students

 

Free Educational Licenses - Community Support

Learn or teach how to code with best-of-industry tools from JetBrains. Free Educational Licenses for JetBrains' tools.

www.jetbrains.com

pycham pro를 실행하고 settings -> project interpreter -> add python interpreter -> SSH interpreter

 

host 및 username을 입력하자.

 

warning 창이 뜨지만 yes를 클릭하고 넘어가자.

 

password를 입력하자.

 

interpreter 폴더를 지정해야하는데 본인은 가상환경을 생성해서 진행하기 때문에

 

anaconda3/envs/venv_name/bin/python3

 

위의 경로로 지정했다.

 

그리고 path mappings에서 local 폴더 및 server 폴더를 지정한다.

 

deployment를 통해 파일 동기화를 수행하는 경로를 지정하는 것이다.

 

설정을 잘 맞췄다면 local에 있는 폴더 및 파일이 서버에 업로드되는 것을 확인할 수 있다.

 

pycharm pro에서 terminal 이용도 가능하다.

 

tools -> start SSH session -> 위의 설정한 host 선택

 

이로써 원격으로 코딩하고 디버깅할 수 있는 환경이 마련됐다.

 

하지만 실사용을 해보니 단점이 명확했다.

 

local의 dataset이 server에도 있어야하니 업로드 시간이 필요했고

 

반대로 추론 결과 및 weight 파일이 server에 저장되니 local로 다운로드가 필요했다.

 

역시 뭐든 local에서 돌리는게 가장 좋은 환경인거 같다.

 

pytorch에서 암페어 아키텍처를 지원하면 서버는 안쓸거 같긴하다.

 

서버 성능이 그렇게 좋은것도 아니고 (1080TI)

+ Recent posts