ALO 설치하기
본 페이지에서는 ALO (AI Learning Organizer)를 Git으로부터 사용자의 환경에 설치하고, 실행을 위한 가상 환경을 구축하는 과정을 가이드합니다.
Topics
개발 환경 구축
개발 환경을 구축하기 위해 ALO를 사용자가 만들고자하는 AI Solution 이름의 폴더로 다운로드 받습니다.
git clone https://github.com/mellerikat/alo.git {project_name}
./{project_name}/
└ setting # Configuration information required for AI Solution registration
└ example_infra_config # infra_config.yaml 구성 샘플
└ format_solution_info.yaml # register-ai-solution.ipynb에 사용자가 기입하는 solution_info 포맷 (수정할 필요 없음)
└ infra_config.yaml
└ sagemaker_config.yaml
└ src # ALO source code
register-ai-solution.ipynb # AI Solution 등록 시 사용하는 Jupyter Notebook
main.py # Pipeline run
makefile
README.md
requirements.txt
ALO를 설치하면 다음과 같은 구성의 파일 및 폴더가 존재합니다.
- main.py : AI Solution의 전체 pipeline을 실행합니다.
- src : ALO의 source code 입니다.
- register-ai-solution.ipynb : AI Solution 등록 시 사용하는 Jupyter Notebook 입니다.
- setting: AI solution 등록을 위해 설정해야 하는 infra_config.yaml 등이 존재하는 폴더입니다.
- requirements.txt : ALO가 동작하기 위해 설치해야 하는 python 모듈 리스트 입니다.
AI Solution 에 따라 설치 모듈이 다르므로 새로운 가상 환경(Anaconda, Pyenv ..)을 만들고 필수 python 모듈들을 설치합니다.
conda init bash ## 콘다 환경에 초기화
exec bash ## bash를 재시작
# conda create --prefix /home/jovyan/testenv python=3.10 ## docker 에서의 jupyter 실행 시, 삭제되지 않는 가상환경 설치 방법
conda create -n {가상환경 이름} python=3.10 ## 3.10 필수
conda activate {가상환경 이름} ## 가상환경 이름은 자유롭게 선택 가능
pip install -r requirements.txt
[등록을 위한 추가 작업]
pip install ipykernel
python -m ipykernel install --user --name {가상환경 이름} --display-name {Jupyter Kernel 표시명}
Anaconda 활용이 불가능하다면 Pyenv + Pipenv 와 같은 가상 환경도 아래 가이드를 따라 활용 가능합니다.
install_pyenv.sh 를 다운 받습니다.
curl -L -o install_pyenv.sh https://raw.githubusercontent.com/mellerikat/alo-guide/main/install_pyenv.sh
다운로드가 안되는 경우 아래의 내용으로 install_pyenv.sh 파일을 생성합니다.
#!/bin/bash
if command -v conda &> /dev/null; then
echo "conda is currently running. Attempting to deactivate..."
conda deactivate
if [ -n "$CONDA_SHLVL" ] && [ "$CONDA_SHLVL" -gt "0" ]; then
echo "Trying to exit from base environment..."
conda deactivate
fi
fi
# Anaconda 자동 init 취소
conda config --set auto_activate_base false
# 필요한 의존성 설치 (Ubuntu/Debian 기준)
if sudo -n true 2>/dev/null; then
SUDO='sudo'
else
SUDO=''
fi
# 설치할 패키지 목록입니다.
PACKAGES="make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev git"
# 패키지 업데이트 및 설치 명령을 실행합니다.
$SUDO apt-get update
$SUDO apt-get install -y $PACKAGES
# pyenv 설치
if [ ! -d "${HOME}/.pyenv" ]; then
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
else
echo "pyenv is already installed"
fi
# 환경 변수 설정 확인 및 추가
BASHRC=~/.bashrc
PYENV_ROOT='export PYENV_ROOT="$HOME/.pyenv"'
PATH_UPDATE='export PATH="$PYENV_ROOT/bin:$PATH:~/.local/bin"'
INIT_COMMAND='eval "$(pyenv init --path)"'
#VIRTUALENV_INIT='eval "$(pyenv virtualenv-init -)"'
# PYENV_ROOT 추가
if ! grep -Fxq "$PYENV_ROOT" $BASHRC; then
echo $PYENV_ROOT >> $BASHRC
fi
# PATH 업데이트 추가
if ! grep -Fxq "$PATH_UPDATE" $BASHRC; then
echo $PATH_UPDATE >> $BASHRC
fi
# pyenv init 추가
if ! grep -Fxq "$INIT_COMMAND" $BASHRC; then
echo $INIT_COMMAND >> $BASHRC
fi
# pyenv virtualenv-init 추가
if ! grep -Fxq "$VIRTUALENV_INIT" $BASHRC; then
echo $VIRTUALENV_INIT >> $BASHRC
fi
echo "pyenv setup is completed. Please restart your shell or run 'source ~/.bashrc'"
install_pyenv.sh가 준비되면, 아래 순서로 pyenv 및 pipenv 생성을 진행합니다.
## pyenv 설치
bash install_pyenv.sh (or ./install_pyenv.sh)
pyenv install 3.10
## pyenv 실행
pyenv global 3.10
## pipenv 설치
python3 -m pip install --user pipenv
## pipenv 실행
## virtual_env_dir 는 가상환경으로 실행할 코드가 있는 폴더 입니다. 이미 폴더가 존재 한다면 mkdir는 생략 합니다.
## 실행할 코드가 있는 폴더가 이미 존재한다면 아래 과정은 생략합니다.
mkdir {virtual_env_dir}
cd {virtual_env_dir}
pipenv --python 3.10
pipenv shell
## 가상환경 삭제
## pipenv shell을 실행한 이후라면, {virtual_env_dir} 가상환경 실행된 폴더에서 진행
pipenv --rm
exit
rm -rf {virtual_env_dir}
ALO 실행하기
ALO 의 설치가 완료되었다면, 다양한 산업 도메인에서 사용 가능한 AI Contents를 활용(AI Contents 활용하여 AI Solution 만들기)하여 바로 ALO를 실행해 볼 수 있습니다. 간단한 설치 과정만 진행하면, 누구나 AI 모델링이 가능합니다. 만약, AI Contents를 활용하지 않고 새로운 솔루션을 제작하고 싶은 경우 AI Contents 없이 AI Solution 만들기)를 참고하여 진행 가능합니다.
ALO 버전 업데이트
현재 나의 AI Solution 개발 환경을 그대로 유지하면서 최신 ALO로 업데이트 가능합니다. ALO git의 최신 버전을 확인하고 git checkout 명령어로 다운로드 받습니다.
git remote show origin
git checkout {new-branch-name}
make clean-history ## old version 충돌 발생할 수 있으므로, clean 하고 시작
python main.py
```
---