[CLIP] CLIP CODE review: Preparation

김보현·2024년 7월 22일
0

ComputerVision

목록 보기
5/11

paper link
previous review
논문을 읽다가 48페이지의 분량에 압도당한 boyamie..
논문의 중요한 부분..만 읽고 코드를 먼저 보는 우회로에 들어서게 되는데..

CLIP 모델을 다운로드하고 실행하기 위해 필요한 패키지들을 설치한다.
GPU 런타임을 사용하는 것을 전제로 하고 있다.

1. GPU 런타임 설정

Hardware acceleratorGPU로 설정한다.

2. 필요한 패키지 설치

!pip install ftfy regex tqdm
!pip install git+https://github.com/openai/CLIP.git

package

  • ftfy: 텍스트 데이터를 수정하는 데 유용한 라이브러리. 깨진 인코딩 문제 등을 해결.
    "fixes text for you"의 약자다. 텍스트 데이터를 처리할 때 발생하는 다양한 인코딩 문제를 자동으로 수정해주는 파이썬 라이브러리이다. 웹에서 스크래핑한 데이터(CLIP에서 사용하는 데이터에 유용하겠죠?)나 다양한 소스에서 수집된 텍스트 데이터에 유용하다. 이상한 문자, 깨진 인코딩, 불필요한 공백 등을 쉽게 수정할 수 있다.
import ftfy

bad_text = "✔ No more bad text! ✔"
good_text = ftfy.fix_text(bad_text)
print(good_text)  # "✓ No more bad text! ✓"
  • regex: 파이썬의 기본 정규 표현식 모듈인 re를 확장한 라이브러리.
    re 모듈이 제공하지 않는 추가 기능과 향상된 성능을 제공한다.
    주요 기능에는 재귀적 패턴 매칭, 가변 길이 루킹 지원 (lookbehind, lookahead), 향상된 유니코드 지원, 원자적 그룹, 태그된 서브패턴 등의 고급 기능이 있다.
    복잡한 정규 표현식을 작성하거나 고급 텍스트 처리를 수행할 때 유용하다.
import regex

pattern = regex.compile(r'(?<=\b)\w+(?=\b)')
text = "This is a test."
matches = pattern.findall(text)
print(matches)  # ['This', 'is', 'a', 'test']
  • tqdm: 프로그레스 바를 제공하여 루프의 진행 상태를 시각적으로 표시해주는 라이브러리.
    사용 방법: 루프 앞에 tqdm을 추가
from tqdm import tqdm
import time

for i in tqdm(range(100)):
    time.sleep(0.1)  # 작업 시뮬레이션
  • clip: OpenAI의 CLIP 모델을 위한 패키지. GitHub 저장소에서 직접 설치.
from pkg_resources import packaging

print("Torch version:", torch.__version__)

pkg_resources 모듈
:Python의 패키지 설치 관리 시스템인 setuptools의 일부이다. 패키지의 버전을 확인하거나 패키지 내의 리소스 파일에 접근하는 데 사용된다.
설치된 패키지의 버전을 쉽게 확인하고, 패키지 내 파일에 접근하거나 종속성을 관리할 수 있다.

import pkg_resources

# 특정 패키지의 버전 확인
package_name = 'torch'
version = pkg_resources.get_distribution(package_name).version
print(f"{package_name} version: {version}")

torch 패키지의 버전을 확인하고 출력하기

pkg_resources의 주요 기능

  1. 패키지 버전 확인: 설치된 패키지의 버전을 확인
  2. 리소스 파일 접근: 패키지 내부의 리소스 파일에 접근
  3. 종속성 관리: 패키지의 종속성을 관리하고 충돌을 피함

pkg_resources.get_distribution 함수는 지정된 패키지의 배포 객체를 반환. 이 객체의 version 속성을 통해 패키지의 버전을 확인.

import pkg_resources

package_name = 'torch'
version = pkg_resources.get_distribution(package_name).version
print(f"{package_name} version: {version}")

이 코드를 실행하면, torch 패키지의 버전이 출력된다! pkg_resources는 특히 많은 패키지와의 호환성을 유지하고 패키지의 메타데이터를 쉽게 처리할 수 있게 해주는 유용한 도구이다.

PyTorch 및 관련 라이브러리 설치 확인

CLIP 모델은 PyTorch를 사용하여 실행되므로 PyTorch와 관련된 여러 CUDA 라이브러리들도 설치된다.

설치 완료

이제 CLIP 모델을 로드하고, 이미지와 텍스트 간의 유사성을 계산하거나, 제로샷 이미지 분류 등을 수행할 수 있다!

profile
Fall in love with Computer Vision

0개의 댓글