代码之家  ›  专栏  ›  技术社区  ›  TheMP

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

  •  1
  • TheMP  · 技术社区  · 6 年前

    我在p2实例上使用Docker映像附带的自定义算法和AWS Sagemaker(有点类似 https://github.com/awslabs/amazon-sagemaker-examples/blob/master/advanced_functionality/scikit_bring_your_own/scikit_bring_your_own.ipynb )

    在培训过程结束时,我试图将我的模型写到output目录,该目录通过Sagemaker(如教程中所示)安装,如下所示:

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

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

    运行时错误:关闭文件时出现问题(文件写入失败:time=Thu Jul 2018年26:00:24:48

    00:24:49,文件名='model.h5',文件描述符=22,错误号=28, 错误消息='设备上没有剩余空间',buf=0x1a41d7d0,总计 写[…]

    所以我所有的GPU时间都浪费了。我怎样才能防止这种情况再次发生?有人知道我存储在Sagemaker/挂载目录中的模型的大小限制吗?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Trenton    6 年前

    当你训练一个模特 Estimators ,它 defaults to 30 GB of storage ,这可能还不够。你可以使用 train_volume_size 参数来增加这个值。尝试使用一个大的ish数字(比如100GB),看看你的型号有多大。在随后的工作中,可以将值调低到更接近实际需要的值。

    存储成本 $0.14 per GB-month of provisioned storage . 部分使用是按比例分配的,所以给自己一些额外的空间是一个廉价的保险单,以防存储空间耗尽。

        2
  •  0
  •   Lakshay Sharma    6 年前

    在SageMaker Jupyter笔记本中,您可以通过运行 !df -h . 对于特定的路径,可以尝试 !df -h /opt .