내 원본 글
https://baxin.netlify.app/how-to-run-samurai-on-google-colab/
SAMURAI: 모션 인식 메모리를 사용한 제로샷 시각적 추적을 위한 Segment Anything 모델 적용
데이터를 다운로드하려면 Hugging Face에 접근해야 합니다.
Hugging Face 토큰을 얻는 방법을 모르신다면 이 페이지를 참고해주세요.
또한 환경변수에 Hugging Face 토큰을 추가하는 방법을 모르신다면 이 포스팅을 확인해주세요.
Google Colab에서 Samurai를 실행하려면 기본 런타임을 GPU로 변경해야 합니다.
T4(무료 GPU)를 사용해야 합니다.
!pip install matplotlib==3.7 tikzplotlib jpeg4py opencv-python lmdb pandas scipy loguru
!git clone https://github.com/yangchris11/samurai.git
%cd samurai/sam2 !pip install -e . !pip install -e ".[notebooks]"
%cd /content/samurai/sam2/checkpoints !./download_ckpts.sh && \ %cd ..
이 부분에서는 Python 스크립트를 사용하여 Samurai Repo가 데이터 준비 섹션에서 언급한 데이터를 설정합니다.
https://github.com/yangchris11/samurai?tab=readme-ov-file#data-preparation
사용할 데이터는 l-lt/LaSOT입니다
이 경우에는 고양이 데이터세트를 다운로드할 예정이므로, 다른 데이터세트를 사용해보고 싶으시면 그에 맞게 코드를 변경하시면 됩니다.
import os # Define the data directory data_directory = '/content/samurai/data/LaSOT' # Create the data directory if it does not exist try: os.makedirs(data_directory, exist_ok=True) print(f"Directory '{data_directory}' created successfully or already exists.") except OSError as error: print(f"Error creating directory '{data_directory}': {error}") # Define the content to be written to the file content = '''cat-1 cat-20''' # Define the file path file_path = os.path.join(data_directory, 'testing_set.txt') # Write the content to the file try: with open(file_path, 'w') as f: f.write(content) print(f"Content written to file '{file_path}' successfully.") except IOError as error: print(f"Error writing to file '{file_path}': {error}") # Print the file path print(f'File path: {file_path}')
import os from huggingface_hub import hf_hub_download import zipfile import shutil def download_and_extract(base_dir="/content/samurai/data"): try: # Create LaSOT and cat directories lasot_dir = os.path.join(base_dir, "LaSOT") cat_dir = os.path.join(lasot_dir, "cat") os.makedirs(cat_dir, exist_ok=True) # Create directory to save the ZIP file zip_dir = os.path.join(base_dir, "zips") os.makedirs(zip_dir, exist_ok=True) print("Downloading dataset...") zip_path = hf_hub_download( repo_id="l-lt/LaSOT", filename="cat.zip", repo_type="dataset", local_dir=zip_dir ) print(f"Downloaded to: {zip_path}") # Extract ZIP file to cat directory print("Extracting ZIP file to cat directory...") with zipfile.ZipFile(zip_path, 'r') as zip_ref: zip_ref.extractall(cat_dir) print("\nCreated directory structure:") print("LaSOT/") print("└── cat/") # Display the first few cat folders for item in sorted(os.listdir(cat_dir))[:6]: print(f" ├── {item}/") print(" └── ...") return lasot_dir except Exception as e: print(f"An error occurred: {str(e)}") return None if __name__ == "__main__": extract_path = download_and_extract() if extract_path: print("\nDownload and extraction completed successfully!") else: print("\nDownload and extraction failed.")
마지막 단계는 사무라이 추론을 실행하는 것입니다.
추론에는 시간이 좀 걸립니다.
%cd /content/samurai !python scripts/main_inference.py
모든 것이 순조롭게 진행되면 다음 출력이 표시됩니다.
모든 코드는 이 GitHub 저장소에서 확인할 수 있습니다.
이 게시물이 마음에 드셨다면 GitHub에서 별표를 눌러주세요.
위 내용은 Google Colab에서 사무라이를 실행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!