Pytorch实现tensor序列化和并行化的示例详解

 更新时间:2023年12月08日 11:27:28   作者:怎么开心怎么玩  
这篇文章主要介绍了Pytorch实现tensor序列化和并行化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,感兴趣的同学们下面随着小编来一起学习学习吧

Pytorch 实现 tensor 序列化和反序列化

序列化 Serialization

保存一个对象到一个硬盘文件上

torch.save(obj, f, pickle_mode, pickle_protocol)

参数:

  • obj – 保存对象
  • f - 类文件对象 (返回文件描述符)或一个保存文件名的字符串
  • pickle_module – 用于 pickling 元数据和对象的模块
  • pickle_protocol – 指定 pickle protocal 可以覆盖默认参数

从磁盘文件中读取一个通过 torch.save()保存的对象

torch.load(f, map_location=None, pickle_mode)

torch.load() 可通过参数 map_location 动态地进行内存重映射,使其能从不动设备中读取文件。一般调用时,需两个参数: storage 和 location tag。 返回不同地址中的 storage,或着返回 None (此时地址可以通过默认方法进行解析)。 如果这个参数是字典的话,意味着其是从文件的地址标记到当前系统的地址标记的映射。 默认情况下,location tags 中 "cpu"对应 host tensors,‘cuda:device_id’ (e.g.‘cuda:2’) 对应 cuda tensors。 用户可以通过 register_package 进行扩展,使用自己定义的标记和反序列化方法。

  • f – 类文件对象 (返回文件描述符)或一个保存文件名的字符串
  • map_location – 一个函数或字典规定如何 remap 存储位置
  • pickle_module – 用于 unpickling 元数据和对象的模块 (必须匹配序列化文件时的 pickle_module )

并行化 Parallelism

torch.get_num_threads
torch.get_num_threads() → int
#获得用于并行化 CPU 操作的 OpenMP 线程数
torch.set_num_threads
torch.set_num_threads(int)
#设定用于并行化 CPU 操作的 OpenMP 线程数

以上就是Pytorch实现tensor序列化和并行化的示例详解的详细内容,更多关于Pytorch tensor序列化和并行化的资料请关注脚本之家其它相关文章!

相关文章

最新评论