本地测试Segment Anything

本文介绍了如何在Window10系统上下载FacebookResearch的Segment-Anything项目,包括通过GitHub获取代码和使用迅雷下载.pth模型文件。在无NVIDIA显卡的环境下,需安装Anaconda、PyTorch及VSCode,并激活PyTorch环境。使用VSCode中的Jupyter插件运行自动掩模生成示例,安装缺失的库,然后指定.pth文件路径和模型类型,最后运行模型生成掩膜。

一、下载GitHub代码

官网地址: https://github.com/facebookresearch/segment-anything
git clone 或者 下载ZIP压缩包

二、下载.pth文件

官网中给出了三个训练好的参数文件
在这里插入图片描述
点击下载,我这里下载了最后一个358M大小的模型(这里可以使用迅雷下载但速度也不快)

三、本地测试

我这里使用的机器是window10系统并没有Navid显卡,需要安装好Anaconda+pytorch+vscode,详情可见另一篇博客
在VScode中打开相应文件automatic_mask_generator_example.ipynb,在vscode中激活你的pytorch环境,并在vscode中安装好jupyter插件;
在这里插入图片描述
将下载好的.pth文件放到该文件的目录下;
在这里插入图片描述
找到set-up模块;

### 如何在本地环境部署 Segment Anything 模型 #### 准备工作 为了成功地在 Windows 11 上部署 Segment Anything (SAM),需要先准备好 Python 和 PyTorch 的开发环境。确保已安装适合当前系统的 CUDA 版本,可以通过 `nvidia-smi` 命令来查看本地的 CUDA 版本[^3]。 #### 安装Python和PyTorch环境 进入 [PyTorch官方网站](https://pytorch.org/get-started/locally/) 并依据个人计算机的具体配置选取合适的安装指令完成 PyTorch 的安装。如果使用的是 CUDA 11.7,则应按照该网站给出的对应命令执行安装操作。 #### 获取并设置 SAM 库及相关资源 访问 GitHub 上由 luca-medeiros 维护的仓库 [lang-segment-anything](https://github.com/luca-medeiros/lang-segment-anything)[^2] ,克隆此项目至本地机器上。考虑到在线获取预训练模型可能会遇到速度缓慢甚至失败的情况,推荐提前手动下载好所需的各种模型文件(如 SAM、GroundingDINO 及其依赖项 bert-base-uncased),并将它们保存于指定路径下以便后续调用。 #### 配置 Jupyter Notebook 环境 为了让实验更加便捷直观,可考虑搭建一个基于 Jupyter Notebook 或 Lab 的交互式编程平台来进行探索性的数据分析与可视化展示。这一步骤并非强制要求,但对于初学者来说会非常有帮助[^1]。 #### 放置 Model Checkpoints 文件 将之前准备好的模型权重文件放置在一个易于管理的位置,并记录下确切位置用于之后加载模型时提供给脚本作为参数输入。例如,假设已经把 checkpoint 存储到了 D:\models\sam_vit_h_4b8939.pth 中,则需记住这个地址以供下一步骤使用[^5]。 #### 测试验证 最后通过运行如下所示的一段简单的 Python 脚本来检验整个流程是否正常运作: ```python import sys sys.path.append('path_to_lang_segment_anything') from segment_anything import sam_model_registry, SamAutomaticMaskGenerator, SamPredictor import torch device = 'cuda' if torch.cuda.is_available() else 'cpu' sam_checkpoint = "D:/models/sam_vit_h_4b8939.pth" model_type = "vit_h" sam = sam_model_registry[model_type](checkpoint=sam_checkpoint).to(device=device) mask_generator = SamAutomaticMaskGenerator(sam) predictor = SamPredictor(sam) print("Model loaded successfully.") ``` 上述代码片段展示了如何导入必要的库函数以及初始化 SAM 实例的过程;其中特别注意要调整 `sys.path.append()` 方法内的字符串为实际存放 lang-segment-anything 工程目录所在之处,同时也要更新变量 `sam_checkpoint` 所指向的确切路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值