先查 PyTorch 的 MPS 是否可用,再核对本次 Cellpose 任务的 GPU 参数和具体处理流程;MPS 可用不代表整个分割流程都在 GPU 上运行。本周建议先用一张获准用于测试的代表性图像做小规模核验,再根据项目验收要求决定是否扩大测试或更换已验证环境。
正在 Mac 上运行 Cellpose、但不确定是否调用 MPS 的研究生,可以按下面步骤核对后端和运行路径。
负责细胞图像分析的科研人员,可以用代表性样本检查掩膜是否符合项目判据。
维护课题组 macOS 环境的技术管理员,可以据此区分 PyTorch、启动参数与任务流程问题。
Cellpose 4.2.1.1 Mac GPU 未启用:先分清后端、调用与耗时
“任务运行了”只能说明程序执行到了某个阶段,不能单独证明 GPU 已参与计算。排查时要把证据分成三层:
- 后端可用:当前 Python 环境里的 PyTorch 已构建 MPS 支持,且这台 Mac 当前能访问 MPS。
- 本次任务调用:Cellpose 的 GUI、命令行或 Python 代码实际启用了 GPU,并把对应运行交给 MPS。
- 科研结果通过:图像、掩膜和后续分析符合项目预先设定的质量判据。
任意一层没有证据,都不能直接跳到“GPU 正常”或“分割结果可靠”的结论。整体耗时也不是设备使用证明:图像读取、格式转换、掩膜生成、保存和界面响应都可能影响总时间。Cellpose 自己的代码会检查 CUDA 或 MPS,并按检测结果分配设备;所以要结合启动日志和实际任务路径判断,而不是只看 PyTorch 单独报告的状态。可对照其设备分配实现。
| 当前证据 | 更可能的问题 | 下一步 |
|---|---|---|
| PyTorch 显示 MPS 不可用 | 当前构建或系统、设备条件不满足 | 在 Cellpose 使用的同一 Python 环境检查 is_built() 与 is_available() |
| PyTorch 显示可用,但 Cellpose 日志走 CPU | GPU 参数未启用、入口或环境不一致 | 核对命令、解释器、GUI 设置和运行日志 |
| 运行信息显示 MPS,但某个阶段仍慢或报错 | 任务中的部分操作、数据搬运或后处理可能成为限制 | 按模型及 2D/3D 路径拆开复核 |
| 任务完成但掩膜不符合预期 | 参数、输入轴、模型或质量判据问题 | 对照基线图像检查掩膜,不以完成状态代替验收 |
这张表用于定位下一步检查方向,不是性能对照,也不能仅凭某一行替代实际运行记录。
PyTorch MPS 的可用性检查
要确认 Apple Silicon MPS 是否可用,检查代码必须运行在 Cellpose 实际使用的 Python 环境里。终端里另一个环境的检查结果,不能证明 GUI 或笔记本使用的解释器也能访问 MPS。
先在准备运行 Cellpose 的终端执行:
python -c "import sys, torch; print(sys.executable); print(torch.__version__); print(torch.backends.mps.is_built()); print(torch.backends.mps.is_available())"
PyTorch 官方将 is_built() 和 is_available() 区分为两个检查:前者核对当前 PyTorch 安装是否包含 MPS 支持,后者核对运行时是否可用。按PyTorch MPS 后端文档与后端接口说明,应分别判断,不能把“已构建”当成“此刻可用”。
排查时还要确认输出中的 sys.executable 与启动 Cellpose 的 Python 路径一致。环境管理器、图形界面启动器和 Jupyter 内核可能各自指向不同解释器。若结果是 False / True,优先核对当前 macOS 与设备条件;若是 False / False,先处理 PyTorch 安装构建问题;若是 True / True,才进入 Cellpose 的实际调用检查。具体系统要求以你安装的 PyTorch 版本对应的官方说明为准,不要把另一版本文档中的前提直接套用。
即使 MPS 可用,也不保证后续每一个操作都由 GPU 执行。PyTorch 提供在 MPS 不支持某些操作时回退到 CPU 的环境变量;如果配置过 PYTORCH_ENABLE_MPS_FALLBACK,应记录其值,并按对应环境变量文档确认其影响。回退设置可能让任务继续运行,却不能证明全程使用 GPU。
Cellpose 运行入口与参数
Cellpose 在 Apple Silicon Mac 上启用 GPU,应先按该版本的官方安装说明和 CLI 文档核对入口。Cellpose 安装文档给出的命令行方式是启用 --use_gpu;CLI 文档显示该参数默认关闭。因此,只运行默认命令,即使 PyTorch 已检测到 MPS,也不能据此认为本次任务已经请求 GPU。具体参数见安装说明和命令行参数文档。
在终端中可以先用单张测试图像验证调用路径:
python -m cellpose --image_path "/路径/测试图像.tif" --use_gpu --verbose
把 python 换成你确认过的环境解释器;先检查 --help 与当前安装版本的参数是否匹配,再运行。Cellpose 官方在 Apple Silicon 说明中使用 --use_gpu,而 --gpu_device 的参数说明会随版本与设备类型变化;不要仅凭旧教程给出的设备参数推断当前任务已切到 MPS。
如果你从 GUI 启动,先确认界面使用的 GPU 选项,再查看启动信息或运行日志。不要把终端测试成功当成 GUI 环境也已成功:GUI 可能由另一个解释器或独立启动环境运行。Cellpose 的官方发布说明可用于确认你安装的版本与所查文档是否对应;标题中的 4.2.1.1 也应与实际运行版本核对。
分割流程中的局部限制
“Cellpose 的 MPS 能否覆盖整个 3D 分割流程”,不能只用一个是或否回答。需要区分网络推理、掩膜生成、质量计算、数据搬运和文件保存,并确认任务所用模型及版本。PyTorch 的 MPS 文档描述的是后端能力;Cellpose 的 API 则分别列出模型执行和掩膜计算相关函数。后者的设备参数与默认值应按对应版本核对,不能据此把所有 3D 路径归纳成同一种表现。可查阅Cellpose API 文档。
例如,2D 任务的模型推理可能已调用 MPS,但掩膜生成、文件输出或其他阶段仍影响整体时间。3D 任务则还涉及体数据的轴定义、各向异性等设置;Cellpose CLI 将 --do_3D、--z_axis 和 --anisotropy 作为不同参数,说明输入和任务设置本身也会影响结果与处理路径。参数定义可在前述CLI 文档核对。
不要用“活动监视器里 GPU 有占用”作为某个 Cellpose 操作由 MPS 执行的唯一证据,也不要因 3D 比 2D 慢就直接断定 GPU 没启用。若某阶段报错、变慢或设备表现不一致,记录版本、模型、2D/3D 模式、命令参数、输入维度和日志,再用同一任务条件复测。这样才能把个别算子或流程环节的问题,与整个后端不可用区分开来。
代表性图像与科研结果验收
MPS 可用、Cellpose 调用了 MPS、任务生成了输出,都不等于结果已通过科研验收。应选取项目允许用于测试的代表性图像,并将本次掩膜与课题组的既有基线、标注或分析要求对照。涉及受限数据时,先遵守机构的数据审批和存储规则,不要为了排查将图像上传到未经批准的环境。
建议按以下顺序操作:
- 记录运行条件:保存 Cellpose 与 PyTorch 版本、Python 解释器路径、模型名称、输入维度、关键参数和启动日志。
- 选定测试样本:使用获准的代表性图像,覆盖项目关注的细胞类型、成像条件或易错区域;样本选择依据由项目方案确定。
- 单独验证设备状态:在同一解释器中运行 MPS 检查代码,保留输出。若不可用,先停止把问题归因于 Cellpose 的模型或图像。
- 核对本次启动:使用与生产任务一致的 CLI、GUI 或 Python 入口,确认 GPU 参数已启用,并检查 Cellpose 是否报告实际设备。
- 分开复测 2D 与 3D:项目涉及哪类任务,就分别用对应输入、模型和参数检查;不要用 2D 成功推断 3D 流程也适用。
- 比对分割结果:检查细胞边界、漏分、过分割、标签数量或项目规定的统计指标。验收阈值应来自你的研究方案、标注规范或已验证基线,而不是从一次试跑反推。
- 归档可复核材料:保存原始测试图像的合规副本、参数、日志和输出掩膜,确保其他成员能重现这次判断。
Cellpose 输出的掩膜文件包含逐像素标签等信息;可按输出文件说明核对结果内容。对科研项目而言,任务完成只证明程序运行到了输出阶段,是否通过仍取决于事先定义的判据。不要无依据地宣称 MPS 与其他设备的性能相同,或结果必然一致。
补充 macOS 验证环境的决策
当项目必须在 Apple Silicon 与 MPS 条件下验证,而实验室没有合适的 Mac 时,可以把远程 Mac 作为一种待核验的环境路径。先确认实际可用芯片、macOS 与 PyTorch 条件、Cellpose 运行入口、数据管理审批和访问方式;没有核验这些条件,就不能承诺特定任务可用,也不能将远程访问等同于本地环境验收。
- ✅ 适合补充验证:你需要阶段性确认 Mac 上的 MPS 调用或复现特定 macOS 路径,且项目允许在该环境处理测试数据。
- ⚠️ 先做合规与配置核验:图像含受限数据、访问方式未获批准,或尚未确认租用环境所提供的芯片与软件条件。
- ❌ 不宜直接替代现有计算环境:长期稳定的大负载项目、需要专用物理接口,或验收规则要求在指定本地设备上完成。
若你当前使用的 Linux/Windows 环境无法验证 Apple Silicon MPS,缺少相应的 macOS 运行路径,也不能单独证明该路径下的结果表现;但这并不意味着现有环境不适合其他分析任务。你可先阅读 osxmesh 的 Mac 环境支持说明,核对具体环境和访问条件;涉及研究图像时,也要先遵守机构的数据规则,并查看 osxmesh 的隐私说明。
若项目确实需要阶段性的 Apple Silicon macOS 验证,远程租赁可以减少先购买实机的投入,但前提是实际配置、运行条件和数据审批都满足要求。它不能代替对芯片能力和 Cellpose 任务的验证;如果你需要长期稳定重负载或专用物理接口,本地购置或实验室指定设备可能更合适。你可以先查看 osxmesh 的方案详情,确认可用环境后再判断是否适合这次科研验证。
为 MPS 排查准备一台真实 Mac 环境
通过 osxmesh 租用独享 Apple Silicon Mac,在原生 macOS 环境中检查 PyTorch 的 MPS 状态与实际任务表现。
租用云端 Mac