私の元の投稿
https://baxin.netlify.app/how-to-run-samurai-on-google-colab/
SAMURAI: モーションアウェアメモリによるゼロショット視覚追跡のためのセグメントエニシングモデルの適応
データをダウンロードするには、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 スクリプトを使用して、サムライ リポジトリがデータ準備セクションで言及したデータをセットアップします。
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 で Samurai を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。