我正在尝试自动化 AWS Sagemaker 作为一系列深度学习实验的基础。
我当前的方法使用 Estimators,如代码片段所示:
import hydra
from omegaconf import omegaconf
from sagemaker.pytorch.estimator import PyTorch
@hydra.main(config_path="setting/", config_name="setting.yaml", version_base=None)
def run_on_sagemaker(params):
role = "<your sagemaker arn role>"
estimator = PyTorch(
entry_point=params.sagemaker.entry_point,
role=role,
framework_version=params.sagemaker.framework_version,
py_version=params.sagemaker.py_version,
instance_type=params.sagemaker.instance_type,
instance_count=params.sagemaker.instance_count,
volume_size=params.sagemaker.volume_size,
hyperparameters=omegaconf.OmegaConf.to_container(params, resolve=True, throw_on_missing=True)
)
estimator.fit()
if __name__ == '__main__':
run_on_sagemaker()
但是,在构建指示的 Pytorch docker 映像时,Sagemaker 似乎无法正确安装所有依赖项。
因此,是否可以显式声明(例如通过 Dockerfile)如何创建 Docker 镜像?