siaran asal saya
https://baxin.netlify.app/how-to-run-samurai-on-google-colab/
SAMURAI: Menyesuaikan Model Apa-apa Segmen untuk Penjejakan Visual Tangkapan Sifar dengan Memori Sedar Pergerakan
Kami perlu mengakses kepada Memeluk Wajah untuk memuat turun data.
Jika anda tidak tahu cara mendapatkan token Memeluk Wajah, sila rujuk halaman ini.
Selain itu, jika anda tidak tahu cara menambahkan token Memeluk Wajah pada pembolehubah persekitaran anda, sila semak siaran ini.
Untuk menjalankan Samurai di Google Colab, kita perlu menukar masa jalan lalai kepada GPU.
Kita perlu menggunakan T4 (GPU peringkat bebas).
!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 ..
Dalam bahagian ini kita akan menggunakan skrip python untuk menyediakan data yang disebut repo samurai dalam bahagian penyediaan data.
https://github.com/yangchris11/samurai?tab=readme-ov-file#data-preparation
Data yang akan kami gunakan ialah l-lt/LaSOT
Dalam kes ini, kami akan memuat turun set data kucing, jadi jika anda ingin mencuba set data lain, anda boleh menukar kod tersebut dengan sewajarnya.
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.")
Langkah terakhir ialah menjalankan inferens Samurai.
Inferens akan mengambil sedikit masa.
%cd /content/samurai !python scripts/main_inference.py
Jika semuanya berjalan lancar, anda seharusnya melihat output berikut:
Semua kod tersedia pada repositori GitHub ini.
Jika anda menyukai siaran ini, sila berikan bintang pada GitHub.
Atas ialah kandungan terperinci Cara Menjalankan Samurai di Google Colab. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!