【SAM2分割万物—本地部署:实时分割图像、视频】OSError:未设置环境变量CUDA_HOME。请将其设置为您的 CUDA 安装根目录。

待磨的钝刨 2024-09-10 11:07:02 阅读 67

文章目录

1.配置SAM22.可能在pip install -e .时报错2.1.方法`--no-build-isolation`2.2.原因

3.开始

参考:segment-anything-2 github

支持box、点输入、mask输入指导SAM2来试试分割视频、图像

1.配置SAM2

注意:需要 python>=3.10,以及 torch>=2.3.1 和 torchvision>=0.18.1。

建议为此安装创建一个新的 Python 环境,并按照 https://pytorch.org/ 通过

<code>pip 安装 PyTorch 2.3.1(或更高版本)。如果当前环境中的 PyTorch 版本低于 2.3.1,则上述安装命令将尝试使用 pip 将其升级到最新的 PyTorch 版本。

您可以使用以下方法在 GPU 计算机上安装 SAM 2:

git clone https://github.com/facebookresearch/segment-anything-2.git

cd segment-anything-2

pip install -e .

要使用 SAM 2 预测器并运行示例笔记本,需要 jupyter 和 matplotlib,可以通过以下方式进行安装:

pip install -e ".[demo]"

2.可能在pip install -e .时报错

raise OSError('CUDA_HOME environment variable is not set. '

OSError: CUDA_HOME environment variable is not set. Please set it to your CUDA install root.

[end of output]

2.1.方法--no-build-isolation

下面是我使用的方法在 Windows 11 上。

首先,下载cuda12.4(12.1也完全没有问题)

然后:

在系统环境变量中添加一个新条目,名称为CUDA_HOME,值为 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4;

最后:

cd \segment-anything-2

conda create -n sam2 python=3.10

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

pip install --no-build-isolation -e .

pip install --no-build-isolation -e ".[demo]"

2.2.原因

pip install --no-build-isolation -e .pip install --no-build-isolation -e ".[demo]" 是安装Python包的命令。这两个命令的作用和参数如下:

--no-build-isolation: 这个选项告诉pip在安装过程中不使用隔离的构建环境。默认情况下,pip会创建一个临时的虚拟环境来安装包的构建依赖,然后在这个环境中进行构建。使用--no-build-isolation选项可以使pip直接使用当前环境中的构建依赖。这在某些情况下(例如需要与当前环境中的特定版本的依赖进行交互)是有用的,但也可能导致一些依赖冲突或环境污染的问题。

为什么要使用–no-build-isolation?

避免重复安装依赖:如果你已经在当前环境中安装了所有必要的依赖,并且不希望pip在构建过程中重新下载和安装这些依赖,那么使用--no-build-isolation可以节省时间和资源。调试构建问题:有时,使用隔离环境可能会掩盖一些依赖或环境配置的问题。在这种情况下,禁用隔离环境可以帮助你更好地调试和解决这些问题。与现有环境更好地集成:在一些复杂的开发环境中,可能需要与当前环境中的特定依赖版本进行交互。在这种情况下,使用--no-build-isolation可以确保构建过程使用当前环境中的依赖。

总结

使用–no-build-isolation可以避免重复安装依赖、帮助调试构建问题,并确保构建过程与现有环境更好地集成。

3.开始

下载检查点

首先,我们需要下载一个模型检查点。所有模型检查点都可以通过运行以下命令来下载:

cd checkpoints

./download_ckpts.sh

或单独下载:

sam2_hiera_tiny.pt

sam2_hiera_small.pt

sam2_hiera_base_plus.pt

sam2_hiera_large.pt

然后,SAM 2 可以分几行用于图像和视频预测,如下所示。

请参阅 image_predictor_example.ipynb 中的示例,了解静态图像用例。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

有关如何在视频中添加提示、进行细化和跟踪多个对象的详细信息,请参阅 <code>video_predictor_example.ipynb 中的示例。

在这里插入图片描述



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。