ITADN

[Feature] paddle.save / paddle.load 支持 io.BytesIO(内存读写)

#78766ClosedSebastian-dong 创建于 2026-04-23
type/feature-requeststatus/close
S
Sebastian-dongcommented
### 需求描述 Feature Description 最近在做训练服务和单测时,想把模型状态直接在内存里传递,不走临时文件。 虽然现在 `paddle.save` / `paddle.load` 在文件路径场景很好用,但在 `io.BytesIO` 场景不太顺手,所以想提个需求。 #### 典型场景 - 单测里减少磁盘 I/O(更快也更干净) - 服务端把状态通过内存缓冲区中转(比如网络传输前后) - 某些运行环境不方便写临时文件 #### 期望效果 ```python import io import paddle x = paddle.randn([2, 3]) buffer = io.BytesIO() paddle.save(x, buffer) # 期望支持写入内存 buffer.seek(0) y = paddle.load(buffer) # 期望支持从内存读取 print((x - y).abs().max()) # 期望接近 0 ``` 如果这个方向可行,建议顺便补几条测试: - Tensor round-trip - dict(包含多个 Tensor)round-trip - 非法 file-like 对象时给清晰报错 ### 替代实现 Alternatives 现在我这边的绕行方案是: - tempfile 写临时文件 - 再 paddle.load 读回来 能用,但有额外 I/O 和清理成本,所以还是希望框架能直接支持内存 buffer 场景。
关闭于 2026-04-25 0 条评论