如何在SageMaker Notebooks中上传本地整个文件夹?
SageMaker Notebooks 上传整个本地目录的可行方案
SageMaker Notebooks 默认的经典界面上传控件不支持直接选中文件夹,仅支持单文件选择,可通过以下几种实测可用的方式实现整目录上传:
方法1:压缩后上传解压(最通用,零额外配置)
- 本地将需要上传的目标文件夹压缩为
.zip格式压缩包 - 通过界面自带的上传按钮,将单个压缩包上传到Notebook实例的目标路径
- 在Notebook的代码单元中执行解压命令即可还原完整目录结构:
!unzip 你上传的压缩包名.zip -d ./解压后存放的目标路径
解压完成后可手动删除压缩包释放实例存储空间。
- 本地将需要上传的目标文件夹压缩为
方法2:JupyterLab 拖拽上传(适合小体积文件夹)
切换到SageMaker内置的JupyterLab操作界面(经典Notebook界面不支持该特性),直接从本地资源管理器选中整个文件夹,拖拽到JupyterLab左侧的文件浏览面板,系统会自动递归上传文件夹内所有文件、保留原有目录结构,无需手动逐个选择文件。方法3:S3中转同步(适合大体积文件夹/大量文件场景)
- 本地安装并配置好AWS CLI,使用的账号需要和SageMaker实例有对应S3桶的读写权限
- 本地执行同步命令将整个文件夹上传到对应S3路径:
aws s3 sync 本地待上传文件夹的绝对路径 s3://你的SageMaker实例绑定的S3桶名/自定义存储路径/ - 回到SageMaker Notebook中执行同步命令,将S3上的目录拉取到实例本地存储即可:
!aws s3 sync s3://你的S3桶名/自定义存储路径/ ./Notebook内的目标存储路径/
注意:如果文件夹内零散小文件较多,优先选择压缩上传或者S3同步的方式,直接拖拽上传容易因为请求过多出现传输中断、文件缺失的问题。
内容的提问来源于stack exchange,提问作者saman jahangiri
相关产品推荐
相关产品推荐

