如何从GCP的Jupyter Notebook Instance下载大体积模型文件
大体积文件从Jupyter Notebook Instance导出的可行方案
方法1:拆分压缩分块下载(最通用,无需额外权限)
先在Jupyter的终端或Notebook代码单元格中执行压缩+拆分命令,避免单次传输大文件触发截断限制:
- 压缩原模型文件:
tar -zcvf trained_model.tar.gz /path/to/your/model_file - 将压缩包拆分为200MB的小块(可根据实际截断阈值调整块大小):
split -b 200m trained_model.tar.gz model_part_ - 逐一下载所有生成的
model_part_前缀的小文件到本地 - 本地合并解压:
- Linux/macOS终端执行:
cat model_part_* > trained_model.tar.gz && tar -zxvf trained_model.tar.gz - Windows cmd执行:
copy /b model_part_* trained_model.tar.gz
之后手动解压压缩包即可
- Linux/macOS终端执行:
- 压缩原模型文件:
方法2:断点续传下载(适用于拥有实例公网访问权限的场景)
绕过Jupyter网页下载的大小限制,直接启动临时HTTP服务配合断点续传工具下载:
- 在Jupyter终端中进入模型文件所在目录,执行命令启动临时文件服务:
python3 -m http.server 19999(端口可替换为任意未被占用的端口) - 本地执行下载命令,支持断点续传,中途断网无需重下:
wget -c http://<你的实例公网IP>:19999/trained_model.tar.gz - 下载完成后关闭Jupyter端的临时HTTP服务即可
- 在Jupyter终端中进入模型文件所在目录,执行命令启动临时文件服务:
方法3:代码分块导出(适用于无终端权限,仅能运行Notebook代码的场景)
直接在Notebook中运行Python代码拆分文件,逐一导出小块后本地合并:
# 配置每块大小为100MB,可根据实际情况调整 CHUNK_SIZE = 100 * 1024 * 1024 file_path = "/path/to/your/model_file" with open(file_path, "rb") as f: chunk_idx = 0 while True: chunk = f.read(CHUNK_SIZE) if not chunk: break with open(f"model_chunk_{chunk_idx}.bin", "wb") as chunk_f: chunk_f.write(chunk) chunk_idx += 1下载所有
model_chunk_前缀的文件到本地后,执行方法1中的合并命令即可恢复原文件。
校验提示:所有方法操作完成后,可在云端执行
md5sum /path/to/your/model_file得到原文件哈希值,本地恢复文件后执行对应MD5校验命令对比哈希值,二者一致则证明文件完整无损坏。
内容的提问来源于stack exchange,提问作者Anna
相关产品推荐
相关产品推荐

