首页 > 后端开发 > Python教程 > 如何在 Google Colab 上运行 Samurai

如何在 Google Colab 上运行 Samurai

Barbara Streisand
发布: 2024-11-28 14:16:13
原创
268 人浏览过

How to Run Samurai on Google Colab

我的原始帖子
https://baxin.netlify.app/how-to-run-samurai-on-google-colab/

什么是武士?

SAMURAI:采用运动感知内存的零镜头视觉跟踪的分段任意模型

要求

  • Google Colab 的 Google 帐户
  • 抱脸账号下载数据

如何在 Google Colab 上运行 Samurai

步骤 0. 获取 Hugging Face 令牌并将其添加到您的环境变量中

我们需要访问 Hugging Face 才能下载数据。

如果您不知道如何获取拥抱脸令牌,请参阅此页面。
另外,如果您不知道如何将 Hugging Face 令牌添加到环境变量中,请查看这篇文章。

步骤 1. 更改默认运行时

要在 Google Colab 上运行 Samurai,我们需要将默认运行时更改为 GPU。
我们需要使用 T4(免费 GPU)。

步骤 2. 安装软件包

!pip install matplotlib==3.7 tikzplotlib jpeg4py opencv-python lmdb pandas scipy loguru
登录后复制

步骤 3. 克隆 Samurai 存储库

!git clone https://github.com/yangchris11/samurai.git
登录后复制

步骤 4. 安装 Sam2

%cd samurai/sam2
!pip install -e .
!pip install -e ".[notebooks]"
登录后复制

步骤 5. 下载检查点

%cd /content/samurai/sam2/checkpoints
!./download_ckpts.sh && \
%cd ..
登录后复制

步骤 6. 从 Hugging Face 下载数据

在这一部分中,我们将使用 python 脚本来设置 samurai repo 在数据准备部分中提到的数据。
https://github.com/yangchris11/samurai?tab=readme-ov-file#data-preparation

我们将使用的数据是l-lt/LaSOT

在本例中,我们将下载 cat 数据集,因此如果您想尝试其他数据集,可以相应地更改代码。

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.")
登录后复制

步骤 7. 推理

最后一步是运行 Samurai 推理。
推理需要一段时间。

%cd /content/samurai
!python scripts/main_inference.py
登录后复制

如果一切顺利,您应该看到以下输出:

所有代码都可以在此 GitHub 存储库中获取。

如果您喜欢这篇文章,请在 GitHub 上给它一个星。

以上是如何在 Google Colab 上运行 Samurai的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板