+ 20240821
tensorflow-gpu는 tf의 버전이 1.15를 초과할 경우 따로 설치하지 않아도 됩니다.
Reference에서 확인할 수 있듯이, 이미 서버 구축 방법 및 CUDA 세팅 방법에 관한 설명이 되어 있으나, 현재와 달라진 커맨드가 존재하여 수정된 내용을 정리합니다.
1. Anaconda 설치
wget https://repo.anaconda.com/archive/Anaconda3-2024.02-Linux-x86_64.sh
bash Anaconda3-2024.02-Linux-x86_64.sh
#약관 끝까지 내리고 yes 입력
source ~/.bashrc
#conda 커맨드를 사용할 수 없다고 나올 경우
vi ~/.bashrc
#https://sacko.tistory.com/29 vi 사용법 숙지 후 아래 줄 추가
export PATH="/home/{username}/anaconda3/bin:$PATH"
#:wq 눌러 저장하고 source ~/.bashrc
conda init
source ~/.bashrc
#위 코드 입력 후 이름 옆에 (base) 뜨는지 확인
2. 가상환경 생성 및 활성화
conda create -n {가상환경_이름} python={버전}
conda env list
conda activate {가상환경_이름}
conda install tensorflow
# conda install tensorflow-gpu
conda install pytorch
conda install simplejson
conda install jupyter notebook
3. 주피터 노트북 설정
# (base) 환경에서 진행
pip install jupyter notebook
jupyter-notebook --generate-config
ipython
In[1]: from jupyter_server.auth import passwd
In[2]: passwd()
# 비밀번호 생성 후 암호화된 비밀번호 복사
In[3]: exit()
mkdir Analysis
cd Analysis
# 아래 현 주소 복사해두기
pwd
cd ~/.jupyter
#vi로 주피터 노트북 설정 파일 실행
vi jupyter_notebook_config.py
c = get_config()
c.JupyterApp.config_file_name = 'jupyter_notebook_config.py'
# esc, enter 누르고 / 입력한 뒤 키워드 검색하면서 주석 지워 입력하기
# 접속 허용 ip
c.ServerApp.allow_origin = '*'
# 서버 ip(내 컴퓨터 사설 ip 주소 입력)
c.ServerApp.ip = '사설 ip 주소'
# 주피터 노트북 실행 시 url 출력
c.ServerApp.open_browser = False
# 주피터 노트북 비밀번호
c.ServerApp.password = u'암호화된 비밀번호 붙여넣기'
# 주피터 노트북 포트 설정(꼭 8888 아니어도 괜찮음)
c.ServerApp.port = 8888
# 주피터 노트북 홈 디렉토리 설정
c.ServerApp.notebook_dir = 'pwd 주소 붙여넣기'
# 이후 esc, enter 누르고 :wq 입력한 뒤 enter 눌러 저장하고 나오기
# 가상환경 활성화
conda activate {가상환경}
# 가상환경 커널 추가
python -m ipykernel install --user --name={가상환경} --display-name="{가상환경_커널}"
# (base)로 환경 변경
conda activate base
# 주피터 노트북 실행
jupyter notebook
#cf
# 적용된 가상환경 커널 목록
jupyter kernelspec list
# 적용된 가상환경 커널 적용 해제
jupyter kernelspec uninstall 가상환경_이름
# 가상환경 삭제
conda env remove -n 가상환경_이름
4. tensorflow 에러 해결
4-1. AttributeError: module 'numpy' has no attribute 'object'
에러 코드에 존재하는 파일의 np.object를 np.object_로, np.bool을 np.bool_로 수정해서 저장하면 해결된다.
4-2. AttributeError: module 'numpy' has no attribute 'int'.
에러 코드에 존재하는 파일의 np.int를 int로 수정해서 저장하면 해결된다.
4-3. AttributeError: module 'numpy' has no attribute 'typeDict'
다음 코드를 실행시키고, 나머지 버전 폴더를 삭제한다.
conda install numpy==1.23.5
4-4. FileNotFoundError: [Errno 2] No such file or directory: '/home/chanyong/anaconda3/envs/New_Env/lib/python3.8/site-packages/numpy-1.23.5.dist-info/METADATA'
해당 폴더를 삭제하면 해결된다.
5. torch 에러 NameError: name '_C' is not defined
다음 코드를 터미널에 실행시킨다.
conda install Cython
새 디렉토리 만들어서 다시 import torch 한 결과 오류가 뜨지 않았다.
6. 백그라운드에서 주피터 노트북 실행시키기
# ssh에서 주피터 노트북 실행
jupyter notebook
#jupyter lab
# ctrl + z 눌러서 stop
bg
disown -h
jobs
Reference :
https://coding-yoon.tistory.com/152
https://gooopy.tistory.com/132
https://jongsky.tistory.com/65
https://stackoverflow.com/questions/76943786/modulenotfounderror-no-module-named-notebook-auth
https://stackoverflow.com/questions/75353067/attributeerror-module-numpy-has-no-attribute-object
https://beausty23.tistory.com/238