1 minute read

序列化 Serialization

参数:  means (Tensor) – 每个元素的均值  std (float, optional) – 所有分布的标准差  out (Tensor) – 可选的输出张量 例子: >>> torch.normal(means=torch.arange(1, 6))

1.1681 2.8884 3.7718 2.5616 4.2500 [torch.FloatTensor of size 5]

Advertisement

torch.saves[source]

torch.save(obj, f, pickle_module=<module 'pickle' from '/home/jenkins/miniconda/lib/python3.5/pickle.py'>, pickle_protocol=2) 保存一个对象到一个硬盘文件上 参考: Recommended approach for saving a model 参数:  obj – 保存对象  f - 类文件对象 (返回文件描述符)或一个保存文件名的字符串  pickle_module – 用于 pickling 元数据和对象的模块  pickle_protocol – 指定 pickle protocal 可以覆盖默认参数 torch.load[source]

torch.load(f, map_location=None, pickle_module=<module 'pickle' from '/home/jenkins/miniconda/lib/python3.5/pickle.py'>) 从磁盘文件中读取一个通过 torch.save()保存的对象。 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 ) 例子: >>> torch.load('tensors.pt') # Load all tensors onto the CPU >>> torch.load('tensors.pt', map_location=lambda storage, loc: storage) # Map tensors from GPU 1 to GPU 0 >>> torch.load('tensors.pt', map_location={'cuda:1':'cuda:0'})

This article is from: