segmentation-models-pytorch 安装指南:PyPI 一键安装、源码构建与开发环境配置全解析

发布时间:2026/9/23 16:12:36
segmentation-models-pytorch 安装指南:PyPI 一键安装、源码构建与开发环境配置全解析 人工智能深度学习计算机视觉【免费下载链接】segmentation_models.pytorchSemantic segmentation models with 500 pretrained convolutional and transformer-based backbones.项目地址https://gitcode.com/gh_mirrors/se/segmentation_models.pytorch点击查看免费下载导读segmentation_models_pytorch简称 SMP是一个基于 PyTorch 的图像语义分割模型库提供 12 种编码器-解码器架构Unet、Unet、Segformer、DPT、FPN 等以及 500 预训练骨干网络backbone。本文以仓库官方安装文档 docs/install.rst 为骨架系统讲解该库的两种官方安装方式PyPI 安装与源码安装并结合 pyproject.toml、requirements/required.txt、Makefile 等仓库文件深入拆解其依赖体系、Python 版本要求、GPU 环境前提、开发模式安装与安装后验证方法。读完本文你将能够根据自己的环境纯 CPU、CUDA GPU、开发者贡献者正确、快速地搭建 SMP 运行环境。一、官方安装文档要点总览仓库的官方安装指南位于 docs/install.rst内容精炼但覆盖了两种最主流的安装路径安装方式命令适用场景PyPI 发布版pip install -U segmentation-models-pytorch大多数用户获取稳定发布版本源码最新版pip install -U githttps://github.com/qubvel/segmentation_models.pytorch需要最新特性/修复或贡献开发两个命令都带有-U--upgrade参数表示升级到最新版本。无论哪种方式SMP 本身就是一个标准的 Python 包安装完成后通过import segmentation_models_pytorch as smp即可使用。为什么两条命令都是官方推荐从仓库现状可以理解这种双路径设计PyPI 路径适合生产与稳定复现。发布到 PyPI 的版本经过打包与发布流程依赖约束由 pyproject.toml 中的dependencies声明均为下限约束如torch1.11安装时 pip 会自动解析并拉取满足条件的依赖。源码路径适合跟进主线开发。当前仓库的 segmentation_models_pytorch/version.py 中版本号为0.5.1.dev0带有dev后缀表明这是开发中的版本包含尚未发布到 PyPI 的最新特性例如新的 decoder、timm 支持改进等。直接安装源码可以第一时间使用这些功能。二、安装前的环境准备在运行安装命令之前建议先确认以下前提可以避免大量安装期问题。1. Python 版本要求根据 pyproject.toml 的requires-python 3.10字段SMP 要求Python 3.10 及以上版本python --version # 例如 Python 3.10.x / 3.11.x / 3.12.x 均可2. PyTorch 生态是前置依赖SMP 不是一个自包含库它构建在 PyTorch 及其生态之上。核心依赖包括torch1.11与torchvision0.12模型定义与张量运算基础timm0.9提供大量 transformer 与卷积骨干网络的预训练权重与结构huggingface-hub0.24用于从 Hugging Face Hub 下载/上传预训练权重与模型safetensors0.3.1安全、高效的权重序列化格式numpy1.21.2、pillow8.4、tqdm4.42.1数据处理与进度展示一个常见的实践是先按官方渠道安装与你的 CUDA 版本匹配的 PyTorch再安装 SMP这样 pip 会复用已安装的 torch 而不会重复下载 CPU 版本# 以 CUDA 12.x 为例具体命令以 PyTorch 官方指引为准 pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121 # 然后安装 SMP pip install -U segmentation-models-pytorch说明SMP 本身不强制指定 torch 的 CUDA 版本torch1.11只是最低下限GPU 能力完全由你的 torch 安装方式决定。纯 CPU 环境无 NVIDIA GPU同样可以安装并运行 SMP只是训练/推理速度受限于 CPU。3. 版本锁定参考如果追求可复现的环境可以参考仓库中的锁定版本文件 requirements/required.txt它给出了当前开发环境实测的完整依赖组合huggingface_hub1.30.0 numpy2.5.3 pillow12.3.0 safetensors0.8.0 timm1.0.29 torch2.14.0 torchvision0.29.0 tqdm4.70.0对于需要兼容旧环境如 torch 1.11、Python 3.8 时代的场景仓库保留了历史最小依赖快照 requirements/minimum.oldtorch1.11.0、timm0.9.0、safetensors0.3.1等。这两个文件与pyproject.toml的宽松下限约束互为补充前者用于复现开发环境后者用于安装时的自动依赖解析。三、方式一从 PyPI 安装推荐官方文档提供的最简安装命令pip install -U segmentation-models-pytorch该命令会从 PyPI 下载segmentation-models-pytorch的最新发布版本根据包的元数据自动解析并安装所有运行期依赖torch、timm、numpy 等见上文将包安装到当前 Python 环境的 site-packages 中。建议在虚拟环境中安装为防止依赖冲突强烈建议在独立的虚拟环境中安装。仓库的 Makefile 也采用虚拟环境策略见下文开发模式安装。手动创建虚拟环境的典型流程python -m venv .venv source .venv/bin/activate # Linux/macOS # Windows: .venv\Scripts\activate pip install -U pip pip install -U segmentation-models-pytorch安装完成后立即验证打开 Python 交互环境或脚本运行import segmentation_models_pytorch as smp print(smp.__version__) # 查看版本号PyPI 发布版为稳定版本号当前仓库源码为 0.5.1.dev0 # 创建一个最小模型验证前向传播正常 import torch model smp.Unet( encoder_nameresnet34, encoder_weightsNone, # 不下载预训练权重便于快速验证 in_channels3, classes1, ) model.eval() with torch.no_grad(): mask model(torch.randn(1, 3, 128, 128)) print(mask.shape) # 期望输出 torch.Size([1, 1, 128, 128])如果上述代码顺利执行并输出形状为[1, 1, 128, 128]的分割掩码说明安装成功。注意若在创建模型时设置encoder_weightsimagenet首次运行会自动通过huggingface-hub/timm下载预训练权重需要网络连接参见 segmentation_models_pytorch/encoders/init.py 的权重获取逻辑。四、方式二从源码安装最新版官方文档提供的最新源码安装命令pip install -U githttps://github.com/qubvel/segmentation_models.pytorch这条命令通过 pip 的 VCS 支持直接从 GitHub 仓库的主分支拉取代码并执行构建。pip 会读取仓库根目录的 pyproject.toml其构建后端为setuptools.build_metarequires [setuptools77]版本号则动态取自segmentation_models_pytorch.__version__.__version__见pyproject.toml的[tool.setuptools.dynamic]配置。两种源码安装的进阶用法# 1) 安装指定分支/标签例如某个 release tag pip install -U githttps://github.com/qubvel/segmentation_models.pytorchv0.5.0 # 2) 以可编辑开发模式安装代码改动即时生效适合贡献者 pip install -e githttps://github.com/qubvel/segmentation_models.pytorch#eggsegmentation_models_pytorch其中可编辑模式-e会让 Python 直接使用克隆下来的源码目录修改源码后无需重新安装即可生效——这是参与项目开发时的推荐方式。源码安装的特点始终跟进主线包含 PyPI 尚未发布的特性与修复如当前仓库0.5.1.dev0的开发版本需要构建工具链本地环境应具备可用的setuptools构建系统要求setuptools77与 C 编译环境某些依赖可能需要源码编译依赖同样自动解析pyproject.toml中声明的依赖会被 pip 一并安装。五、可选依赖与开发模式安装除了运行期依赖pyproject.toml 还声明了两组可选依赖optional-dependencies分别用于文档与测试场景可选组内容用途docshuggingface-hub、six、sphinx、sphinx-book-theme构建本项目 Sphinx 文档对应 docs/ 目录testgitpython、packaging、pytest、pytest-cov、pytest-xdist、ruff0.9、setuptools运行测试套件与代码风格检查安装方式为标准的 extra 语法# 安装测试依赖 pip install -e .[test] # 安装文档构建依赖 pip install -e .[docs] # 两者都装 pip install -e .[test,docs]使用 Makefile 一键搭建开发环境仓库根目录的 Makefile 提供了面向贡献者的标准化命令它会自动创建.venv虚拟环境并安装开发依赖make install_dev # 创建 .venv并以 -e 模式安装 SMP 及 [test] 依赖install_dev目标对应的实际命令是pip install -e .[test]。环境就绪后可以继续使用其他目标make test # 运行测试套件pytest -v -rsx -n 2 tests/ --non-marked-only make test_all # 运行全部测试含慢速测试RUN_SLOW1 pytest -v -rsx -n 2 tests/ make fixup # 用 ruff 进行代码检查与格式化 make table # 重新生成编码器表格misc/generate_table.py其中测试套件位于 tests/ 目录覆盖各 decodertests/models/、encodertests/encoders/、losses、预处理等模块-n 2表示用 2 个并行进程加速测试。提示本仓库在本文场景中为只读镜像以上命令面向你本地的独立克隆或可写环境在仓库目录内直接执行make install_dev会创建.venv并安装属于常规本地开发操作。六、安装后的快速上手指南安装完成且验证通过后即可进入官方 docs/quickstart.rst 描述的使用流程。核心三步如下1. 创建分割模型import segmentation_models_pytorch as smp model smp.Unet( encoder_nameresnet34, # 骨干网络可选 mobilenet_v2、efficientnet-b7、mit_b0 等 encoder_weightsimagenet, # 使用 ImageNet 预训练权重初始化编码器 in_channels1, # 输入通道数1灰度图3RGB classes3, # 输出类别数对应你的数据集类别数 )也可以使用统一入口smp.create_model定义于 segmentation_models_pytorch/init.py按名称创建任意架构model smp.create_model( archfpn, # 架构名大小写不敏感unet/fpn/dpt 等 encoder_namemit_b0, encoder_weightsimagenet, in_channels1, classes3, )create_model内部通过MODEL_ARCHITECTURES_MAPPING由__init__.py中 12 个架构类生成完成架构名到类的映射。2. 配置数据预处理为充分利用预训练权重建议按预训练时的数据分布做归一化from segmentation_models_pytorch.encoders import get_preprocessing_fn preprocess_input get_preprocessing_fn(resnet18, pretrainedimagenet)3. 训练循环SMP 模型就是标准的torch.nn.Module可无缝接入任意训练框架for images, gt_masks in dataloader: predicted_mask model(images) loss loss_fn(predicted_mask, gt_masks) loss.backward() optimizer.step()完整的可运行示例见仓库 examples/ 目录例如 examples/binary_segmentation_buildings.py以及多个 Jupyter Notebook牛津宠物二分类、CamVid 多分类、Segformer/DPT/UPerNet 预训练推理、ONNX 导出等。七、常见问题与排查建议1.pip install时反复解析/下载 torch如果环境中已有特定版本的 torch请先安装 torch再安装 SMP或在安装 SMP 时使用--no-deps后手动补齐其他依赖避免 pip 因版本策略重新安装 torch。2. 下载预训练权重失败使用encoder_weightsimagenet时需要网络访问 Hugging Face Hub 或 timm 的权重源。离线环境可先在有网机器上下载权重或改用encoder_weightsNone此时编码器随机初始化。3. 版本号与仓库源码不一致当前仓库源码的版本为0.5.1.dev0见 segmentation_models_pytorch/version.py而 PyPI 发布的为去dev后缀的稳定版本。若你发现smp.__version__与预期不符先确认是通过pipPyPI 版还是git源码版安装的。4. 与旧版本依赖的兼容若你的项目必须运行在较老的 torch/numpy 环境可参考 requirements/minimum.old 中记录的历史最小依赖组合但注意它仅作为兼容性参考新特性可能依赖更新版本的 timm / huggingface-hub。八、继续深入相关文档导航安装完成后建议按以下顺序阅读仓库官方文档docs/quickstart.rst30 秒创建第一个分割模型docs/models.rst12 种模型架构的 API 与参数详解docs/encoders.rst 与 docs/encoders_timm.rst可用骨干网络与对应预训练权重表docs/losses.rst 与 docs/metrics.rst训练常用的损失函数与评估指标docs/save_load.rst模型保存、加载及 Hugging Face Hub 分享README.md项目总览、架构/编码器总表与社区信息以上文档均可从 docs/index.rst 的目录树进入构成完整的官方知识体系。赞分享人工智能深度学习计算机视觉【免费下载链接】segmentation_models.pytorchSemantic segmentation models with 500 pretrained convolutional and transformer-based backbones.项目地址https://gitcode.com/gh_mirrors/se/segmentation_models.pytorch点击查看免费下载相关推荐pytube 安装完全指南从 PyPI 一键安装到源码构建与开发环境搭建pytube 安装完全指南从 PyPI 一键安装到源码构建与开发环境搭建 本文基于 pytube 官方文档 docs/user/install.rst htt网页爬虫PEFT 安装指南从 PyPI、源码到 Windows Arm64 与开发环境的一站式配置PEFT 安装指南从 PyPI、源码到 Windows Arm64 与开发环境的一站式配置 本文是 PEFTParameter Efficient F人工智能大模型微调LoRA【亲测免费】 Segmentation Models PyTorch 安装和配置指南Segmentation Models PyTorch 安装和配置指南 1. 项目基础介绍和主要编程语言 项目基础介绍 Segmentation Models人工智能深度学习计算机视觉上一篇深入解析Norvig的PAIP-Lisp项目逻辑编程的核心思想下一篇使用Checkov进行AWS CDK配置安全扫描的最佳实践创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考