
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'})