우분투에 파이참을 주 IDE로 사용하고 아나콘다로 가상환경을 세팅하여 딥러닝 테스트를 진행하기 위해 환경 설정을 해줄 때 참 고려해야할 부분이 많다.
우선, tensorflow 버젼이다. 2019.11.21 현재 날짜로 확인해보면 tensorflow 2.0버젼이 나와있지만, 무작정 tensorflow 2.0을 설치해서는 안된다.
tensorflow 2.0버젼을 사용할 수도 있지만, tensorflow 2.0은 CUDA 10.0버전만 지원한다. (확실치는 않음..) 어쨋든 나는 tensorflow 1.x 버젼을 사용할 것이고 그에 맞는 CUDA버젼과 cuDNN버젼을 맞게 깔아야하는데, 이게 참 까다롭다..
그래서 내 상황에 맞는 환경을 맞춰주고 기록해놓으려고 한다.
내 NVIDIA 그래픽 드라이버는 390.116버젼을 사용한다.
텐서플로우는 1.12 버젼을 사용하고, CUDA는 9.0 버젼을 사용한다. cuDNN은 그래픽 드라이버와 CUDA 버젼에 잘 맞는 버젼을 설치해주다보니 7.6.4를 설치하게 되었다. 이 모든 걸 맞춰주고도 파이참에서 딥러닝을 돌려보아도 안되는 문제가 생기는데 이 것은 다른 여타 모듈의 버젼도 다 맞춰주어야한다는 것이다...
처음에 에러는 아니지만 이상한 경고가 막 뜨는 경우도 있다. 그건 numpy 버젼이 1.17보다 낮게 설치를 해줘야 해결이 가능하다. 나 같은 경우는 1.16.5를 설치했다. 그리고 scipy도 1.2.0 버젼을 설치해줘야한다.
그리고 tensorflow도 1.12를 설치해주면 자동으로 cudatoolkit을 설치해주는데, 여기서 이상하게 자동으로 cudatoolkit9.2 버젼을 설치해준다. 분명 내 CUDA 버젼은 9.0인데도 말이다. 그리고 파이참에서 numpy나 scipy나 tensorflow에 관련된 모듈이면 하나만 삭제해도 tensorflow가 다 삭제된다. 따라서 numpy 1.16.5 버젼 먼저 설치해주고 cudatoolkit9.0도 먼저 설치해주고, scipy1.2.0 도 설치해주고, 여러 모듈들의 버젼을 맞춰 설치해주고 최후에 tensorflow 1.12 버젼을 설치해주면 모든게 정상적으로 돌아간다.
참, 그리고 학습양이 많은 딥러닝 코드를 돌릴 때에는 파이참에서도 메모리 설정을 높게 잡아줘야 나중에 메모리 에러가 뜨지 않는다.
파이참을 사용하는 경우에는 Help->Edit Custom VM Options->-Xms128m을 -Xms1024m, -Xmx1994m을 -Xmx2048m으로 변경해주면 파이참 내부에서 메모리를 넉넉하게 잡아주는 역할을 한다. 기억해 둘 것.