我正在使用 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: Problems closing file (file write failed: time = Thu Jul 26 00:24:48 2018
00:24:49 , filename = 'model.h5', file descriptor = 22, errno = 28, error message = 'No space left on device', buf = 0x1a41d7d0, total write[...]
所以我所有的 GPU 时间都被浪费了。我怎样才能防止这种情况再次发生?有谁知道我存储在 Sagemaker/mounted 目录中的模型的大小限制是多少?
最佳答案
当您使用估计器
训练模型时,它defaults to 30 GB of storage ,这可能还不够。您可以在构造函数中使用 train_volume_size
参数来增加此值。尝试使用较大的数字(例如 100GB),看看您的模型有多大。在后续工作中,您可以将该值调低到更接近您实际需要的值。
存储成本$0.14 per GB-month of provisioned storage 。部分使用是按比例分配的,因此给自己一些额外的空间是防止存储空间不足的廉价保险策略。
关于amazon-web-services - Sagemaker 模型训练中设备上没有剩余空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51533650/