Paddle 如何将一个Tensor在内存中(不要保存到硬盘)序列化成可以通过网络传输的二进制格式?

kqhtkvqz  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(44)

请提出你的问题 Please ask your question

你好飞桨同学,

我的需求,是将一个 paddle.Tensor 序列化成可以在网络中传输的二进制格式数据。

1 我知道 paddle.save 可以将tensor序列化保存到磁盘上,但我们不想耗费保存加载硬盘的时间。
2 我知道 paddle.distributed.send/recv 可以通过分布式机制在2个分布式节点间传输tensor,但它的前提是需要为传输的2个机器建立分布式集群后才能使用,这不符合我们的业务要求。
3 我通过咨询ChatGPT,它告诉我曾经paddle提供过 paddle.fluid.core.create_stream_writer(), 可以将tensor直接在序列化并保留在内存中,无需存在硬盘,但我安装 paddlepaddle-gpu==2.6.0后, 报错 没有该API。我知道 paddle 2.6 把 fluid 改成了 base,但是我尝试调用 paddle.base.core.create_stream_writer() 也没有这个API。

请问有什么办法可以支持我的需求吗?也就是将一个tensor序列化成可以直接在网络中传输的二进制数据,并且保留在内存中,不要保存在硬盘上?

感谢

2fjabf4q

2fjabf4q1#

how to serialize a tensor object and keep it in memory instead of save to disk?

相关问题