ABOUT ME

Contact.
Email:yj.anthonyjo@gmail.com
Introduce : CS Student.

Today
-
Yesterday
-
Total
-
  • Label Studio 사용하기 (1) - Label Studio의 기본 개념과, 실행하는 다양한 방법
    인공지능, 머신러닝 2022. 11. 8. 10:18
    반응형

    기본 컨셉

    • Label Studio는 하나의 웹 서비스의 개념으로 보는 것이 낫다.
    • 이 웹 서비스를 우리의 로컬 환경에서 실행시키는 것이다. 원격 스토리지에 연결되는 것이 아니다.
    • 이 웹 서비스에는 nginx, uwsgi, db가 존재한다.
      • 웹 서비스에 접속해서 회원가입하고 로그인하는 것, 작업하는 것 모두 자신의 로컬 환경에 데이터가 쌓이는 것이다.
      • db는 기본설정으로, mydata라는 폴더가 생성되고 그 안에 자리잡게 된다. 만약 실수로 mydata를 삭제하면 그동안의 데이터들이 다 삭제되는 것이다.
    •  

     

     

    Docker Compose로 사용하기

    https://github.com/heartexlabs/label-studio#run-with-docker-compose

    1. 위 Repository 중에서 docker-compose.yml만을 사용한다.
    2. 2022/11/08일 기준으로 docker-compose.yml의 수정이 일부 필요하다.
      nginx > ports에 다음을 추가하자.
      - "80:80"
      즉, 아래 그림과 같이 만들면 된다.
    3. sudo docker compose up으로 실행한다. (-d 옵션을 줄 수도 있다. 개인적으로는 tmux에 하나의 세션을 올려두는 것을 추천한다.)
      공식 문서에서는 docker-compose up으로 한다. 하지만 우리는 docker-compose가 구버전인 것을 알고 있다. docker compose로 실행하자.

    docker-compose.yml 수정사항

    의문점: deploy폴더를 volumn으로 사용한다. 그리고 label-studio폴더 안의 deploy안에는 다양한 파일들이 있다. 하지만 그것 없이도 잘 동작한다. 이 폴더는 어떤 역할을 하고, 언제 왜 필요한 것인가?


    docker run으로 사용하기.

    docker run -it -p 8080:8080 -v $(pwd)/mydata:/label-studio/data heartexlabs/label-studio:latest

    volumn되는 host의 mydata폴더 위치($(pwd)/mydata)를 주의하자. 원하면 변경하자. mydata를 지우는 순간, 그때까지 했던 모든 작업들이 자유를 찾아 떠나간다.

    이렇게 실행하면 sqlite가 db로 설정된다.

    pip 로 설치해서 사용하기.

    # Requires Python >=3.7 <=3.9
    pip install label-studio
    
    # Start the server at http://localhost:8080
    label-studio

    label-studio 명령으로 실행시, db와 여러 파일들의 위치가 출력된다.

     

    mydata폴더는 지우면 안된다.

    이 폴더 안에 DB 내용이 들어간다. 잘못해서 지우면 작업한 내용이 다 날아간다.

     

     

    데이터 추가 및 라벨링 인터페이스 설정

    너무 직관적이어서 금방 할 것이다. 라벨링 인터페이스 설정 같은 경우, 각 major task 별로 템플릿이 존재한다. 이를 참고하면 금방할 수 있다.

     

     

    --------

    한가지 느끼는건데,, 정말 label-studio는 documentation이 불친절하다.

    레퍼런스가 많지도 않고, 오류나는 것들도 투성이이며(react modal 오류 등), 주의점도 알려주지 않는다.

    추후에 label-studio 사용법 등에 관련하여 추가 포스팅할 예정이다.

    반응형

    댓글

Designed by Tistory.