Pycharm은 Python IDE  중 상당한 유저를 보유하고 있는 IDE이다.

본인도 메인 PC를 윈도로 사용하면서 tensorflow를 공부할때 코드를 서버에서 실행시키고 있다. (윈도에서 tensorflow가 GPU를 지원하지 않기 때문...) 

매번 sftp같은 프로토콜로 업로드하고, 올리고, ssh로 커맨드를 입력하기는 까다로운 면이 있다. 

하지만 Pycharm pro버전에는 이를 도와주는 강력한 기능이 있다. 그것이 바로 Remote Interpreter 기능이다.

 


Pycharm에서 프로젝트를 생성할 때 이와 같은 화면을 볼 수 있다. 특히 윈도우를 사용하시는 분들은 프로젝트 이름만 변경하고 바로 Create버튼을 누르셨을 확률이 높다. 

Location 밑의 Interpreter라고 적힌 부분의 오른쪽 톱니모양의 설정버튼을 누른 후, 그 중 Add Remote 버튼을 눌러보자.



나타난 창에서 SSH Credentials 를 누르면 SSH를 설정하는 창이 나온다.

내용을 입력해 준 후 OK 버튼을 누르면 인터프리터가 목록에 추가된다.

이 후 Create 버튼을 눌러 프로젝트를 만들어 보자.


만들어지면 아래처럼 익숙한 화면이 보일것이다. 


여기서 우리는 Deployment 를 추가로 설정해 줄 것이다. (이 과정이 없으면 sftp로 일일히 업로드해야한다)

메뉴에서 Tools -> Deployment -> Configuration에 들어가 보자.

왼쪽 위의 초록색 + 버튼을 누르면 ftp, sftp 등을 추가할 수 있는 창이 나온다.



Name은 자신이 식별하기 편한 이름으로 해 주고, Type은 본인이 선호하는 프로토콜을 선택하면 된다. 

참고로 SSH만  설정해 놓으신 분들은 SFTP를 선택하면 서버에 따로 서비스를 설정할 필요 없이 연결이 된다.


이후 등장한 창에서 역시 필요한 내용들을 채워주면 된다.

더욱 중요한 것은 두번째 Mappings 탭에서 Deployment path on server 항목을 설정해 주는것이다. (밑에 사진의 가운데 입력창)



오른쪽 ...버튼을 누르면 서버 디렉터리를 탐색할 수 있다. 이 중 원하는 폴더를 선택하면 된다. 

다 설정했다면 OK버튼을 눌러 프로젝트 창으로 돌아가 보자.

추가적으로 Tools -> Deployment -> Options 에서 Upload changed files automatically to the default server 를 Always로 설정해 두면 자동을 업로드까지 해 준다.


이까지 설정을 했다면 일반적인 파이썬 코드는 문제없이 동작할 것이다. (로컬 컴퓨터의 프로젝트와 동일하게 Run을 할 수 있다.)



하지만 CUDA를 사용하려고 하면 라이브러리를 찾지 못하는 문제가 발생할 수 있다. 

이는 Pycharm이 .bashrc 파일을 적용시키지 않아서 발생하는 문제이다.

이를 위해 한가지 옵션을 더 설정해 주어야 한다. 


메뉴에서 Run -> Edit Configuration에 들어가면 Environment 에 Environment variables 라는 설정이 있다.

...버튼을 눌러 설정창에 들어간 후 Name에 LD_LIBRARY_PATH, Value에 cuda경로/lib64를 입력해 주면 된다.



이 설정까지 마치고 나면 문제없이 파이썬 코드를 원격에서 Run 할 수 있다.

당연히 AWS의 GPU 인스턴스에도 똑같이 적용할 수 있으므로 조금 더 편하게 코딩할 수 있기를 바란다.




부족한 글 읽어주셔서 감사합니다^^

오타, 오류, 질문등을 발견하시면 댓글 남겨주시면 감사하겠습니다 ㅎㅎ


'AI' 카테고리의 다른 글

딥러닝과 행렬  (4) 2016.06.26
Windows 10 build 14332 에 TensorFlow 설치하기  (12) 2016.05.09

+ Recent posts