[python] Animated Drawings(1) - 기초 세팅하기

데프·2023년 11월 1일
2
post-thumbnail

Animated Drawings❓

  • facebookresearch 깃허브에 배포된 Image → Animation 을 간편하게 해주는 머신러닝 모델을 제공해주는 라이브러리
  • 아이들이 그린 그림을 애니메이션으로 간단하게 바꾸어주는 수단을 제공해준다!
  • 올해 2월에 Initial Commit된 따끈따끈한 라이브러리라 참고할 레퍼런스가 적은데 기본 readme가 상세히 작성돼있어서 따라하기 쉽다. 관련지식이 부족할 경우 호환성에 관한 디버깅 지옥에 빠질 수도 있으니 주의가 필요하다. (그렇다 작성자가 그 지옥에 빠졌었다..☠️)

  • 이 시리즈의 최종목표는 카테고리별로 어떻게 움직일지 설정해놓고, 파이썬 플라스크를 이용하여 사용자가 직접 그린 그림을 입력받았을 때 애니메이션으로 렌더링하여 제공해주는 백엔드 서버를 만드는 것이다.

  • 기본적인 기능은 여기서 제공해주므로 단순 사용이 목적일 경우 직접 설치 및 사용을 꼭 해야할 필요는 없다.

# 설치

사용한 가이드 : https://github.com/facebookresearch/AnimatedDrawings#readme

#0 miniconda 설치

참고 : 👉 Conda Installation

  • 이미 anaconda나 miniconda가 설치된 경우 #1로 스킵한다.

  • 위의 설치 가이드 페이지에서 CLI환경을 이용한 설치만 안내한다.

  • 단순 사용 및 테스트만 원하는 경우 Window환경에 설치하고, 배포 및 flask 구현까지 원하는 경우 EC2서버의 linux환경에 설치하자. 참고로 작성자의 EC2서버는 ubuntu 20.04 버전이다.

# Window환경
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe -o miniconda.exe
start /wait "" miniconda.exe /S
del miniconda.exe
# Linux환경
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh

~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh

linux의 경우 설치 후 터미널을 재시작해야 정상반영될 수도 있다.

#1 AnimatedDrawings 라이브러리 설치

  • 원하는 디렉토리에 git clone, 필수 라이브러리 설치
git clone https://github.com/facebookresearch/AnimatedDrawings.git
cd AnimatedDrawings
pip install -e .
  • 가상환경 설정 및 실행
conda create --name animated_drawings python=3.8.13
conda activate animated_drawings

#2 정상 설치 확인 렌더링

  • 파이썬 실행 후 렌더링 시작
$ python
>>> from animated_drawings import render
>>> render.start('./examples/config/mvc/interactive_window_example.yaml')
  • 정상적으로 구동됐다면 새 창이 뜨면서 춤을 추는 애니메이션이 실행

  • 라이브러리를 직접 사용하고자 한다면 config파일들은 훑고 넘어가는게 도움이 될 것이다.

  • 이 글이나 가이드를 그대로 따라했는데도 render.start를 했을 때 각종 오류가 발생한다면.. 다음 단계 진출은 어렵다. OS종류를 바꿔보거나 python을 재설치하여 처음부터 다시 진행해보는 것을 권장한다.

    • 작성자는 sudo권한이 없는 서버에서 실행하려다가 부족한 bash지식으로 피똥싸며 디버깅하여 rendering까지 성공하였는데 다음단계를 진행하지를 못하여 결국 갈아엎고 EC2서버로 재구성하였다.

👉 다음 글 - 자동화 구조 설치

profile
정보의 홍수를 기록하는 데프의 로그

0개의 댓글

관련 채용 정보