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

AWS Lambda运行StarDist2D实例时出现只读文件系统错误排查

AWS Lambda中StarDist2D实例化只读文件系统错误解决方案

问题说明

在AWS Lambda容器中运行深度学习推理时,从S3下载模型流程正常,但实例化StarDist2D(conf)对象时触发以下错误:

OSError:[Errno 30]Read-only file system:'2024-04-05-06-15-30.176066'

错误信息中的时间戳文件名是StarDist尝试生成的临时/缓存文件,因Lambda容器的只读文件系统限制导致写入失败。

原因分析

AWS Lambda容器仅允许在/tmp目录执行写入操作,其余目录均为只读状态。StarDist默认会在当前工作目录(Lambda默认路径为/var/task,属于只读目录)生成临时日志、缓存或模型相关文件,因此触发权限错误。

解决方案

方案1:修改StarDist Config2D配置,指定可写目录

在实例化Config2D时,添加basedir参数,将其指向/tmp下的自定义目录,让StarDist将所有需要写入的文件放在该路径:

conf = Config2D (
    n_rays       = n_rays,
    grid         = grid,
    use_gpu      = use_gpu,
    n_channel_in = n_channel,
    train_patch_size = (768,768),
    basedir='/tmp/stardist_cache'  # 指定可写的缓存目录
)

方案2:全局设置Python临时目录环境变量

在Lambda函数开头设置TMPDIR环境变量,让所有依赖库(包括StarDist)默认使用/tmp作为临时文件目录:

import os
os.environ['TMPDIR'] = '/tmp'

额外代码优化提示

你的代码中重复定义了download_model_from_s3函数,建议删除重复定义,避免潜在的逻辑冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 13:04:52