首页 文章

在Sagemaker模型培训中,设备上没有剩余空间

提问于
浏览
1

我正在使用AWS Sagemaker在p2实例上运行Docker镜像的自定义算法运行(有点类似于https://github.com/awslabs/amazon-sagemaker-examples/blob/master/advanced_functionality/scikit_bring_your_own/scikit_bring_your_own.ipynb

在训练过程结束时,我尝试将我的模型写入输出目录,该目录通过Sagemaker(如教程中)安装,如下所示:

model_path = "/opt/ml/model"
model.save(os.path.join(model_path, 'model.h5'))

不幸的是,显然模型随着时间的推移变得太大,我得到以下错误:

RuntimeError:关闭文件时出现问题(文件写入失败:时间=星期四7月26日00:24:48 2018 00:24:49,文件名='model.h5',文件描述符= 22,错误= 28,错误消息='否设备上留下的空间',buf = 0x1a41d7d0,总写[...]

因此,我所有的GPU时间浪费了 . 我怎样才能防止这种情况再次发生?有谁知道我存储在Sagemaker /挂载目录中的模型的大小限制是多少?

2 回答

  • 1

    使用 Estimators 训练模型时,它可能是defaults to 30 GB of storage,这可能还不够 . 您可以在构造函数上使用 train_volume_size param来增加此值 . 尝试使用大数字(如100GB)并查看模型的大小 . 在后续作业中,您可以将值调低到更接近实际需要的值 .

    存储费用$0.14 per GB-month of provisioned storage . 部分使用按比例分配,因此给自己一些额外的空间是一个廉价的保险政策,以防止用尽存储空间 .

  • 0

    在SageMaker Jupyter笔记本中,您可以通过运行 !df -h 来检查文件系统上的可用空间 . 对于特定路径,请尝试类似 !df -h /opt 的内容 .

相关问题