sapiens推理的安装与使用

文章目录

  • 1、安装
    • 1.1 克隆代码库
    • 1.2 设置 Sapiens-Lite 的代码路径
    • 1.3 创建 Conda 环境并安装必要的依赖
    • 1.4 下载模型检查点
  • 2、推理

sapiens,是meta发布的以人为中心的视觉大模型,"sapiens"这个词来源于拉丁语,意为“智慧的”或“理智的”。在生物学分类中,"Homo sapiens"指的是现代人类,即智人。在您提供的上下文中,"sapiens"被用来指代一个以人为中心的视觉大模型,这里的翻译可以理解为“智能体”。主要有四个功能,分别是2D姿态估计、人体部位分割、深度估计和法线估计,效果请参看官方。这里主要是说时这个大模型的使用方法,因为在工作中经常用到需要对人进行标注的任务,比如人形检测或分割,之前用过segment anything(2),但感觉这个人形的大模型对人形效果更好。

1、安装

我们只安装lite版,对这个模型进行使用
根据您的需求和提供的路径 /home/tl/sapiens,以下是安装 Sapiens-Lite 的简要步骤:

1.1 克隆代码库

在终端运行以下命令:

git clone https://github.com/facebookresearch/sapiens.git
export SAPIENS_ROOT=/home/tl/sapiens

1.2 设置 Sapiens-Lite 的代码路径

设置环境变量 SAPIENS_LITE_ROOT 指向 lite 目录:

export SAPIENS_LITE_ROOT=$SAPIENS_ROOT/lite

1.3 创建 Conda 环境并安装必要的依赖

设置 minimal 环境,包含 PyTorch、CUDA、OpenCV 和其他基础依赖:

conda create -n sapiens_lite python=3.10
conda activate sapiens_lite
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
pip install opencv-python tqdm json-tricks

目前安装时,自动安装的版本是pytorch2.5.1,加了torch.compile,所以会有warnning,所以可以要安装再早点的版本可能要好点,比如那些是2。3,那些是2.4.
还有要使用pose,需要安装mmdetection.照这官方文档安装就行,运行时如果报错,那就报啥错改啥
如下:

pip install -U openmim
mim install mmengine
mim install "mmcv==2.1.0" # 官方是mim install "mmcv>=2.0.0",但安装2.2,使用报错
mim install mmdet

最后,使用报缺失jaraco

pip install jaraco.text

官方安装,但因为我是在conda中安装的,这种安装方法不适合将环境进行移植,移植后就不能用了:

export SAPIENS_ROOT=/path/to/sapiens
cd $SAPIENS_ROOT/engine; pip install -e .
cd $SAPIENS_ROOT/cv; pip install -e .
cd $SAPIENS_ROOT/det; pip install -e .

1.4 下载模型检查点

从 Hugging Face 下载需要的检查点文件,选择适合的模型模式(torchscriptbfloat16)并存储于指定的路径。例如,可以将 torchscript 模式的检查点放在以下结构中:

/home/tl/sapiens/sapiens_lite_host/
├── torchscript
│   ├── pretrain/
│   │   └── checkpoints/
│   │       ├── sapiens_0.3b/
│   │       ├── sapiens_0.6b/
│   │       ├── sapiens_1b/
│   │       └── sapiens_2b/
│   ├── pose/
│   ├── seg/
│   ├── depth/
│   └── normal/
└── bfloat16
    ├── pretrain/
    ├── pose/
    ├── seg/
    ├── depth/
    └── normal/

MODE 设置成torchscript:

export MODE=torchscript

SAPIENS_LITE_CHECKPOINT_ROOT 变量指向该目录:

export SAPIENS_LITE_CHECKPOINT_ROOT=/home/tl/sapiens/sapiens_lite_host/$MODE

https://huggingface.co/facebook/sapiens 这个是下载路径,如下图:
在这里插入图片描述

点击相应的链接就可以下载,如seg 1.0b:https://huggingface.co/facebook/sapiens-seg-1b-torchscript/tree/main
在这里插入图片描述

模型存放路径:

sapiens_lite_host/
├── torchscript
    ├── pretrain/
    │   └── checkpoints/
    │       ├── sapiens_0.3b/
    │       ├── sapiens_0.6b/
    │       ├── sapiens_1b/
    │       └── sapiens_2b/
    ├── pose/
    └── seg/
    └── depth/
    └── normal/
├── bfloat16
    ├── pretrain/
    ├── pose/
    └── seg/
    └── depth/
    └── normal/

在这里插入图片描述
我把sapiens_lite_host放到 /home/tl下。

2、推理

总的命令执行一遍

conda activate sapiens_lite
export SAPIENS_ROOT=/home/tl/sapiens
export MODE=torchscript
export SAPIENS_LITE_ROOT=$SAPIENS_ROOT/lite
export SAPIENS_LITE_CHECKPOINT_ROOT=/home/tl/sapiens/sapiens_lite_host/$MODE

分割推理:

cd   $SAPIENS_LITE_ROOT/scripts/demo/torchscript
./seg.sh

脚本中可配置定义输入和输出目录:

1、你需要指定一个输入目录(INPUT),这个目录包含了你想要进行人体部位分割的图像。你还需要指定一个输出目录(OUTPUT),用于存放分割结果。
2、结果可视化和存储:

分割模型的预测结果将以图像的形式展示,支持的格式为.jpg或.png。
除了图像,还会生成前景布尔掩码(foreground boolean masks)和分割概率(segmentation probabilities),这些数据将以.npy文件的形式存储在输出目录中。
这些.npy文件将用于后续的深度和表面法线可视化处理。
3、多GPU配置调整:

如果你使用的是多GPU配置,你需要调整BATCH_SIZE(批次大小)、JOBS_PER_GPU(每个GPU上的作业数)、TOTAL_GPUS(总GPU数)和VALID_GPU_IDS(有效GPU ID)这些参数,以优化性能。
速度优化:

为了提高速度,这段指南建议跳过在图像上显示类别标签的步骤。
简而言之,这段内容是指导用户如何设置和运行Sapiens-Lite人体部位分割模型,包括如何配置输入输出目录、结果的可视化和存储,以及如何针对多GPU环境进行性能优化。
在这里插入图片描述
在这里插入图片描述

这是分割的结果,同理,可以看pose的结果,我用的是最多关键点的模型:
配置方法参看:https://github.com/facebookresearch/sapiens/blob/main/lite/docs/POSE_README.md
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/918537.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

黑马智数Day10

项目背景说明 后台管理部分使用的技术栈是Vue2,前台可视化部分使用的技术栈是Vue3 前台可视化项目不是独立存在,而是和后台管理项目共享同一个登录页面 微前端的好处 微前端是一种前端架构模式,它将大型单体应用程序分解为小的、松散耦合的…

A3超级计算机虚拟机,为大型语言模型LLM和AIGC提供强大算力支持

热门大语言模型项目地址:www.suanjiayun.com/mirrorDetails?id66ac7d478099315577961758 近几个月来,我们目睹了大型语言模型(LLMs)和生成式人工智能强势闯入我们的视野,显然,这些模型在训练和运行时需要…

乐维网管平台(七):网络稳定与高效的“安全锦囊”

试想一下,你给电脑升级了一个软件,升级完成后发现有BUG,经常无故卡死,这时候想回退或重新安装旧版本…相对地,一家企业的网络管理员,在对公司的核心交换机进行复杂的配置调整时,一个小小的疏忽&…

基于Python的图片信息推荐系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

没钱买KEGG怎么办?REACTOME开源通路更强大

之前搜集免费生物AI插图时简单提到了通路数据库Reactome(https://reactome.org/), 那些精美的生物插图只能算是该数据库附赠的小礼品,他的主要功能还是作为一个开源的通路数据库,为相关领域的研究者提供直观的可视化生…

spi 回环

///tx 极性0 (sclk信号线空闲时为低电平) /// 相位0 (在sclk信号线第一个跳变沿进行采样) timescale 1ns / 1ps//两个从机 8d01 8d02 module top(input clk ,input rst_n,input [7:0] addr ,input …

Lc70--319.两个数组的交集(二分查找)---Java版

1.题目描述 2.思路 用集合求交集,因为集合里面的元素要满足不重复、无序、唯一。使得集合在去重、查找和集合操作(如交集、并集、差集等)中非常高效和方便。 3.代码实现 class Solution {public int[] intersection(int[] nums1, int[] nu…

项目2:简易随机数生成器 --- 《跟着小王学Python·新手》

项目2:简易随机数生成器 — 《跟着小王学Python新手》 《跟着小王学Python》 是一套精心设计的Python学习教程,适合各个层次的学习者。本教程从基础语法入手,逐步深入到高级应用,以实例驱动的方式,帮助学习者逐步掌握P…

qml绘制折线图

参考链接 qml绘制折线图 在QML(Qt Modeling Language)中绘制折线图可以通过使用Canvas元素或ChartView元素来实现。以下是两种方法的示例: 方法一:使用Canvas元素 Canvas元素允许你在QML中绘制自定义图形。你可以通过JavaScrip…

MODBUS TCP转CANOpen网关

Modbus TCP转CANopen网关 型号:SG-TCP-COE-210 产品用途 本网关可以实现将CANOpen接口设备连接到MODBUS TCP网络中;并且用户不需要了解具体的CANOpen和Modbus TCP 协议即可实现将CANOpen设备挂载到MODBUS TCP接口的 PLC上,并和CANOpen设备…

Spring Cloud Alibaba [Gateway]网关。

1 简介 网关作为流量的入口,常用功能包括路由转发、权限校验、限流控制等。而springcloudgateway 作为SpringCloud 官方推出的第二代网关框架,取代了Zuul网关。 1.1 SpringCloudGateway特点: (1)基于Spring5,支持响应…

delphi fmx android 离线人脸识别

搜遍全网都没有找到delphi android 能用的 离线人脸识别,无需注册什么开发者 有这方面需求的可以用fsdk 这边用的luxand.FSDK8.0 android下的注册号要自己找下 1,用老猫的工具将android 下的sdk,FSDK.java 编译成FSDK.jar 老猫的工具 2,用上面的工具将FSDK.jar 生成de…

小试银河麒麟系统OCR软件

0 前言 今天在国产电脑上办公,需要从一些PDF文件中复制文字内容,但是这些PDF文件是图片转换生成的,不支持文字选择和复制,除了手工输入,我们还可以使用OCR。 1 什么是OCR OCR (Optical Character Recogni…

小程序租赁系统打造便捷租赁体验助力共享经济发展

内容概要 小程序租赁系统是一个极具创新性的解决方案,它通过简化租赁过程,让物品的共享变得便捷流畅。对于那些有闲置物品的用户来说,他们可以轻松发布自己的物品,让其他需要的人快速找到并租借。而对于找东西的人来说&#xff0…

Spring Boot汽车资讯:科技与汽车的新篇章

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了汽车资讯网站的开发全过程。通过分析汽车资讯网站管理的不足,创建了一个计算机管理汽车资讯网站的方案。文章介绍了汽车资讯网站的系统分析部分&…

【Python绘图】两种绘制混淆矩阵的方式 (ConfusionMatrixDisplay(), imshow()) 以及两种好看的colorbar

在机器学习领域,混淆矩阵是一个评估分类模型性能的重要工具。它不仅展示了模型预测的准确性,还揭示了模型在不同类别上的表现。本文介绍两种在Python中绘制混淆矩阵的方法:ConfusionMatrixDisplay() 和 imshow(),以及两种好看的co…

【Nginx从入门到精通】03 、安装部署-让虚拟机可以联网

文章目录 总结一、配置联网【Minimal 精简版】1.1、查看网络配置1.2、配置ip地址 : 修改配置文件 <font colororange>ifcfg-ens33Stage 1&#xff1a;输入指令Stage 2&#xff1a;修改参数Stage 3&#xff1a;重启网络Stage 4&#xff1a;测试上网 二、配置联网【Everyth…

android studio无法下载,Could not GET xxx, Received status code 400

-- 1. 使用下面的地址代替 原地址: distributionUrlhttps\://services.gradle.org/distributions/gradle-6.5-all.zip 镜像地址: distributionUrlhttps\://downloads.gradle-dn.com/distributions/gradle-6.5-all.zips 上面的已经不好用了 https\://mirrors.cloud.tencent.c…

Cursor安装Windows / Ubuntu

一、安装 1、下载软件 2、安装依赖 #安装fuse sudo apt-get install fuse3、将cursor添加到应用程序列表 sudo mv cursor-0.42.5x86_64.AppImage /opt/cursor.appimage #使用自己版本号替换 sudo chmod x /opt/cursor.appimage #给予可执行权限 sudo nano /usr/share/applic…

2、计算机网络七层封包和解包的过程

计算机网络osi七层模型 1、网络模型总体预览2、数据链路层4、传输层5.应用层 1、网络模型总体预览 图片均来源B站&#xff1a;网络安全收藏家&#xff0c;没有本人作图 2、数据链路层 案例描述&#xff1a;主机A发出一条信息&#xff0c;到路由器A&#xff0c;这里封装目标MAC…