我在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,filename = 'model.h5',文件描述符= 22,错误号= 28,错误消息=‘设备上没有剩余空间’,buf = 0x1a41d7d0,总写入...
所以我所有的GPU时间都被浪费了。我如何才能防止这种情况再次发生?有人知道我存储在Sagemaker/mounted目录上的模型的大小限制是多少吗?
发布于 2018-10-16 03:27:35
当你用Estimators
训练一个模型时,它是defaults to 30 GB of storage的,这可能还不够。您可以在构造函数上使用train_volume_size
参数来增加此值。试着使用一个大一点的数字(比如100 is ),看看你的模型有多大。在后续工作中,您可以将值调整为更接近您实际需要的值。
发布于 2018-07-31 10:31:22
在SageMaker Jupyter notebook中,您可以通过运行!df -h
来检查文件系统上的可用空间。对于特定的路径,可以尝试使用类似于!df -h /opt
的命令。
https://stackoverflow.com/questions/51533650
复制相似问题