You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SegmentEveryGrain时遇UnboundLocalError问题求助

解决SegmentEveryGrain中predict_large_image出现UnboundLocalError的问题

问题描述

使用SegmentEveryGrain工具运行“Run segmentation on large image (new!)”代码块时,调用seg.predict_large_image()触发以下错误:

UnboundLocalError: local variable 'all_coords' referenced before assignment

错误回溯信息:

UnboundLocalError                         Traceback (most recent call last)
Cell In[8], line 4
      2 Image.MAX_IMAGE_PIXELS = None # needed if working with very large images
      3 fname = "W:\\_Working\\HI_Data_2024\\_Segmentation\\images\\20240722_Waimea_patch2.tif"
----> 4 all_grains, image_pred, all_coords = seg.predict_large_image(fname, model, sam, min_area=400.0, patch_size=2000, overlap=200)

排查与解决方法

  • 提前初始化变量
    找到predict_large_image函数的源码,在函数开头直接初始化all_coords为空列表,避免分支逻辑跳过赋值导致的错误:

    def predict_large_image(...):
        all_coords = []  # 提前初始化变量
        # 原有函数逻辑代码
    
  • 验证输入图像有效性
    确认输入的tif图像没有损坏,或是否存在全黑/全白等无有效颗粒的极端情况——这类场景会导致代码跳过all_coords的赋值分支。可以先替换为项目示例中的测试图像,验证是否能正常执行。

  • 核对依赖版本
    严格按照项目要求安装依赖,避免版本不匹配导致的逻辑异常。执行以下命令重新安装requirements.txt中的依赖:

    pip install -r requirements.txt
    
  • 调整参数设置
    检查patch_size和overlap参数是否合理:如果patch尺寸远超图像实际大小,会导致处理分支异常。可以先缩小patch_size(比如改为500)测试,确认是否能正常运行。

内容的提问来源于stack exchange,提问作者nc_geo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 12:42:38