torch.save(obj, f, pickle_module=<module 'pickle' from'/home/jenkins/miniconda/lib/python3.5/pickle.py'>,
pickle_protocol=2)
保存一个对象到一个硬盘文件上。
>>> # Save to file
>>> x = torch.tensor([0, 1, 2, 3, 4])
>>> torch.save(x, 'tensor.pt')
>>> # Save to io.BytesIO buffer
>>> buffer = io.BytesIO()
>>> torch.save(x, buffer)
参数:
--obj:保存对象
--f:类文件对象(返回文件描述符)或一个保存文件名的字符串
--pickle_module:用于pickling元数据和对象的模块
--pickle_protocol:指定pickle protocal可以覆盖默认参数
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'})
并行化
torch.get_num_threads() -->int 获得用于并行化CPU操作的OpenMP线程数。
torch.set_num_threads(int) 设定用于并行化 CPU 操作的 OpenMP 线程数

被折叠的 条评论
为什么被折叠?



