반응형
Windows 에 WSL을 이용하여 ubuntu 를 설치할 수 있고, Windows 에 자체적으로 AI 개발 환경을 구축할 수 있지만, 같은 개발환경을 여러번 설정해야 하거나 WSL 상에서는 제약이 되는 부분이 있을 수 있어 Ubuntu Docker 를 이용하여 기본적인 AI (Tensorflow - CPU, Jupyter Notebook) 개발 환경을 구축하기 위한 기록을 남긴다. |
---|
내가 주로 사용하는 방법은 아래와 같이 개발 환경을 구축하고, 사용자 계정 생성 후 SSH 프로그램을 이용하여 Docker 내부에 접속하여 실행을 하는 방법을 주로 사용한다. |
---|
Docker 내에서 직접 코딩 및 실행 등 테스트를 위해서는 Visual Code 의 Docker Plugin 을 이용하여 VS Code 와 Docker 컨테이너를 연결해주어 사용하는 방법을 주로 사용한다. |
---|
우분투 Docker 를 이용한 AI 기본 환경 구축 방법
- Windows에 Docker 운용 환경이 설정(Docker Desktop)이 되어있다는 가정하에서 설정 수행.
- 우분투 Docker 를 Docker Hub 에서 Pull (여기서는 ubuntu 22(LTS) 로 설정)
docker pull ubuntu
Docker 실행 - ssh / telnet / ftp / jupyter Port 오픈
- Docker 실행 중 GPU 사용 기능을 사용 : --gpus all
- 시스템 주요 권한 접근 : --privileged=true (네트워크 인터페이스 활성 / 비활성, IP 주소 변경, systemd 등 사용)
- 포트 포워딩: -p 21:21 -> ftp, -p 22:22 -> ssh / sftp, -p 23:23 -> telnet, -p 9999:8888 -> Jupyter Notebook(Jupyter lab)
: Jupyter Notebook 을 8888 로 포트포워딩 하는 경우 사이트 연결이 잘 안되는 경우가 있어 9999 번호로 매핑 - 디스크 Volume 매핑 : -v (호스트 디렉토리):(컨테이너의 Volume 디렉토리) -> 여기서는 설정하지 않음.
- Docker 내에서 systemctl (service) 명령 사용 : /sbin/init (일반적으로 권장되지 않음)
docker run -it --gpus all --name ubuntu__ai_study --privileged=true -p 22:22 -p 21:21 -p 23:23 -p 9999:8888 ubuntu /sbin/init
Openssh 서버 설치
sudo apt install openssh-server
한글 설정을 위한 locale 설치
apt-get -y update
apt-get install -y locales # locales 설치
locale -a # 현재 사용할 수 있는 locale 확인
apt-get install -y locales # locales 설치
locale -a # 현재 사용할 수 있는 locale 확인
사용 가능한 locale 중 ko_KR.UTF8 이 없으면, 한글 패키지 설치
apt-get install -y language-pack-ko # 한글 패키지 다운로드
locale-gen 명령어를 통해 한글 locale 구성.
locale-gen ko_KR.utf8 # 템플릿을 사용하여 locale 구성하기
ko_KR.UTF-8로 로케일 설정
dpkg-reconfigure locales # 한글로 locale 변경하기
ko_KR.UTF-8로 LANG 환경 변수 설정하기
export LANG=ko_KR.UTF-8
echo export LANG=ko_KR.UTF-8 > ~/.bashrc
우분투 Timezone 데이터 추가
sudo apt install -y tzdata
TimeZone Asia/Seoul 설정
timedatectl list-timezones
sudo timedatectl set-timezone Asia/Seoul
AI 개발환경 설정
- 사용 상황에 따라 Python 가상환경 설정 후 설치하는 것은 자유 (가능하면 가상환경에 맞춰 설치를 권장)
- 파이썬 설치 (3.10 기준)
apt install python3.10
- 텐서플로우 설치
pip3 install tensorflow (2.X 최신 버전 설치)
- Jupyter 설치 :
pip3 install jupyter
- 기타 필요한 라이브러리 설치
pip3 install numpy
pip3 install pandas
pip3 install matplotlib
pip3 install pillow
pip3 install scikit-learn
우분투 내 jupyter notebook 실행 설정
특이하게 sudo 명령에 ip 와 포트를 지정해줘야 windows에서 정상 접근됨. (확인필요)
sudo jupyter notebook --ip='0.0.0.0' --port=8888 --allow-root
위 명령 실행후 Jupyter Notebook 연결 링크 정보를 복사후 포트 부분을 9999 로 바꿔서 접속
: Windows에서 Chrome 등 브라우저에서 http://127.0.0.1:9999/XXXXXXXXXX 로 접속
반응형