반응형

Ubuntu 20.04에 Miniconda 설치 후, Tensorflow와 OpenCV 설치하는 방법을 다룹니다. 



2021. 7. 7  최초작성.

2021. 7. 8. 다시 검토(conda activate 실행 안되는 문제 해결, 가상환경 위치관련 수정)



참고 

https://varhowto.com/install-miniconda-ubuntu-20-04/ 




1. 설치를 할 때 사용할 최신버전 설치 쉘스크립트를 다운로드합니다.

$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh



2. 쉘스크립트의 퍼미션을 실행가능하도록 변경합니다.

$ chmod +x Miniconda3-latest-Linux-x86_64.sh



3. 쉘 스크립트 실행하여 설치합니다. 엔터 혹은 yes만 입력하면 됩니다.  conda init 물어볼 때 반드시 yes 해줘야 합니다. 

$ ./Miniconda3-latest-Linux-x86_64.sh



4. Miniconda 실행 파일 위치를  path 환경변수에 추가합니다.  

 

~/.bashrc 파일을 열어서

$ nano ~/.bashrc

 

파일 끝에 다음 내용을 추가합니다. webnautes는 사용중인 아이디로 변경하세요. 

export PATH=/home/webnautes/miniconda3/bin:$PATH

 

환경변수 PATH 설정을 바로 반영되도록 합니다. 

$ source ~/.bashrc

 

터미널에서 conda를 실행하면 에러가 나지 않아야 합니다. 



5. 이 부분은 진행안해도 됩니다. 참고하세요.  

 

파이썬 프로젝트들이 추가되는 위치가 디폴트로 /home/사용자 아이디/miniconda3 아래로 지정되어 있습니다.  

 

다음처럼 프로젝트가 저장될 위치를 지정하면 홈디렉토리의 .condarc 파일에 추가되며 해당 위치에 프로젝트 폴더가 생성됩니다.  

webnautes는 사용중인 아이디로 변경하세요. 

 

$ mkdir ~/work

$ conda config --append envs_dirs /home/webnautes/work

 

디폴트 위치로 다시 돌리려면 다음처럼 제거하면 됩니다. 

$ conda config --remove envs_dirs  /home/webnautes/work



6. 사용할 파이썬 버전 3.7으로 지정하여 newenv라는 이름의 가상환경 생성합니다. 

디폴트 경로  /home/사용자 아이디/miniconda3 또는 5번에서 지정한 위치에 newenv 디렉토리를 생성하여 가상환경을 만듭니다.  

가상환경을 위한 패키지, 파이썬 등이 설치됩니다. 

$ conda create -n newenv python=3.7



가상환경 리스트에 newenv가 추가되고 그 옆에  가상환경 경로가 출력됩니다.  

$ conda env list

# conda environments:

#

base                  *  /home/webnautes/miniconda3

newenv                   /home/webnautes/miniconda3/envs/newenv



7. conda activate 다음에 가상환경 이름을 적어주어 가상환경을 활성화합니다. 가상환경 이름이 앞에 출력됩니다. 

webnautes@webnautesPC:~$ conda activate newenv

(newenv) webnautes@webnautesPC:~$ 



다음과 같은 에러가 발생할 수 있습니다. 

webnautes@webnautesPC:~$ conda activate newenv

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init'.



아래 링크에 나온대로 진행하면 됩니다. 

https://somjang.tistory.com/entry/Anaconda-CommandNotFoundError-Your-shell-has-not-been-properly-configured-to-use-conda-activate-해결-방법  



홈디렉토리로 이동후 다음처럼 실행합니다. 

 

$ cd ~

$ source ~/miniconda3/etc/profile.d/conda.sh



다시 해보면 정상적으로 동작합니다.

 

webnautes@webnautesPC:~$ conda activate newenv

(newenv) webnautes@webnautesPC:~$ 



8. 가상환경을 다음처럼 비활성화합니다. 앞에 붙어있던 가상환경 이름이 사라집니다. 

(newenv) webnautes@webnautesPC:~$ conda deactivate

webnautes@webnautesPC:~$ 



참고로 다음처럼 newenv라는 이름의 가상환경을 삭제합니다. 

$ conda env remove -n newenv



가상환경 리스트에서 newenv 가상환경이 제거된 것을 볼 수 있습니다. 

$ conda env list

# conda environments:

#

base                  *  /home/webnautes/miniconda3



9.  Tensorflow GPU 버전을 설치합니다. Tensorflow CPU 버전의 패키지 이름은 tensorflow입니다. 

이후 과정은 추가한 가상환경이 활성화된 상태에서 진행해야 합니다. 

 

글 작성시점엔 다음처럼 설치하면 학습 시작전 CUDA 모듈을 로드하는 과정에서 딜레이가 발생했습니다.

확인해보니 Tensorflow 2.4 대 버전이 설치됩니다.  

(newenv) webnautes@webnautesPC:~$ conda install tensorflow-gpu



다음처럼 Tensorflow 2.5를 설치해야 딜레이 문제가 사라집니다. 

추후에 설치시에는 conda로 설치 Tensorflow 2.5가 설치되어 문제가 없을 수 있습니다.

(newenv) webnautes@webnautesPC:~$ pip3 install tensorflow-gpu==2.5

 

 

OpenCV 설치시 다음처럼 해야  Tensorflow가 다운그레이드 되지 않습니다. 

(newenv) webnautes@webnautesPC:~$ conda install -c conda-forge opencv



추가로 matplotlib를 설치합니다. 

(newenv) webnautes@webnautesPC:~$ conda install -c conda-forge matplotlib



conda install  패키지이름으로  설치시 문제가 되는 경우 conda install -c conda-forge  패키지이름으로 설치하면 해결됩니다. 

그래도 안되는 경우에는 구글에서 검색해서 해결하면 될듯합니다. 



10. 다음 코드으로 동작을 테스트해봅니다. 



Visual Studio Code 설치 방법은 다음 포스트를 참고하세요

 

Visual Studio Code 설치하는 방법( Windows / Ubuntu )

https://webnautes.tistory.com/1197 



Visual Studio Code에서 work 폴더를 열은 후, mnist.py 파일을 생성하여 다음 코드를 복사하여 붙여넣기합니다. 

 

다른 방식으로 할 수 도 있습니다. 

다음처럼 work 폴더를 생성한 후,  해당 디렉토리로 이동하여 code .으로 실행하면 해당 디렉토리를 열면서 Visual Studio Code가 실행됩니다. 

$ mkdir ~/work

$ cd ~/work

$ code .

 

두가지 경우 모두 가상환경을 활성화해서 실행할 필요가 없습니다. Visual Studio Code에서 가상환경의 인터프리터를 선택해서 사용하게 됩니다. 



import tensorflow as tf

mnist = tf.keras.datasets.mnist

(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0


model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5)

model.evaluate(x_test,  y_test, verbose=2)




Ctrl + Shift + P를 누르고 interpreter를 입력하여  메뉴에서 Python:Select Interpreter를 선택합니다. 



오른쪽 아래에 보이는 메시지 박스의 Select Python Interpreter를 클릭해도 됩니다. 

 



파이썬 인터프리터 목록에서 새로 생성한 가상 환경 이름을 찾아 선택합니다. 

여기에선 newenv:conda입니다. 



메뉴에서 View > Terminal을 선택하면 newenv 가상환경이 자동으로 활성화 된것을 볼 수 있습니다. 

이곳에 newenv 가상환경을 위한 패키지를 설치할 수 있습니다. 

 




9. 마우스 우클릭하여 Run Python File In Terminal을 선택하여 실행합니다. 

정상적으로 완료되면 다음처럼 보입니다. 

 



반응형

해본 것을 문서화하여 기록합니다.


포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
질문을 남겨주면 가능한 빨리 답변드립니다.


제가 쓴 책도 한번 검토해보세요 ^^

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

">