当前位置:网站首页>torch.load()
torch.load()
2022-07-30 05:38:00 【向大厂出发】
1、torch.load()作用:用来加载torch.save() 保存的模型文件。
torch.load()先在CPU上加载,不会依赖于保存模型的设备。如果加载失败,可能是因为没有包含某些设备,比如你在gpu上训练保存的模型,而在cpu上加载,可能会报错,此时,需要使用map_location来将存储动态重新映射到可选设备上,比如map_location=torch.device('cpu'),意思是映射到cpu上,在cpu上加载模型,无论你这个模型从哪里训练保存的。
一句话:map_location适用于修改模型能在gpu上运行还是cpu上运行。如果map_location是可调用的,那么对于每个带有两个参数的序列化存储,它将被调用一次:storage和location。存储参数将是存储的初始反序列化,驻留在CPU上。每个序列化存储都有一个与之关联的位置标记,它标识保存它的设备,这个标记是传递给map_location的第二个参数。内置的位置标签是“cpu”为cpu张量和“cuda:device_id”(例如:device_id)。“cuda:2”)表示cuda张力。map_location应该返回None或一个存储。如果map_location返回一个存储,它将被用作最终的反序列化对象,已经移动到正确的设备。否则,torch.load()将退回到默认行为,就好像没有指定map_location一样。
如果map_location是一个torch.device对象或一个包含设备标签的字符串,它表示所有张量应该被加载的位置。
2、使用
torch.load(f, map_location=None, pickle_module=<module 'pickle' from '/opt/conda/lib/python3.6/pickle.py'>, **pickle_load_args)1)f – 类文件对象(必须实现read()、readline()、tell()和seek()),或包含文件名的字符串或 os.PathLike 对象
2)map_location – 一个函数、字符串或字典,指定如何重新映射存储位置torch.device
3)pickle_module – 用于解封元数据和对象的模块(必须与pickle_module用于序列化文件的模块匹配)
4)pickle_ load _args –(仅限 Python 3)传递给 and的可选关键字参数,例如 .pickle_module.load()pickle_module.Unpickler()errors=...3、例子
一般情况下,加载模型,主要用于预测新来的一组样本。预测的主要流程包括:输入数据——预处理——加载模型——预测得返回值(类别或者是属于某一类别的概率)
def predict(test_data, model_path, config):
‘’‘
input:
test_data:测试数据
model_path:模型的保存路径 model_path = './save/20201104_204451.ckpt'
output:
score:模型输出属于某一类别的概率
’‘’
data = process_data_for_predict(test_data)#预处理数据,使得数据格式符合模型输入形式
model = torch.load(model_path)#加载模型
score = model(data)#模型预测
return score #返回得分参考:
2) pytorch(一)模型加载函数torch.load()_凝眸伏笔的博客-CSDN博客_python torch.load
边栏推荐
- 子查询作为检索表时的不同使用场景以及是否需要添加别名的问题
- 839. 模拟堆
- SOA(面向服务架构)是什么?
- Summary of SQL classic interview questions in 2022 (with analysis)
- JVM之GC 调优工具 Arthas 实战使用(二)
- navicat连接MySQL报错:1045 - Access denied for user ‘root‘@‘localhost‘ (using password YES)
- 分布式事务之 Seata框架的原理和实战使用(三)
- 腾讯面试居然跟我扯了半小时的CountDownLatch
- 个人博客系统(附源码)
- This dependency was not found:
猜你喜欢
随机推荐
839. Simulated heap
Graphic mirror symmetry (schematic diagram)
How is crawler data collected and organized?
Falling ants (Peking University entrance exam questions)
Oracle补丁体系及Opatch工具介绍
解决没有配置本地nacos但是一直发生localhost8848连接异常的问题
Learn FPGA from the underlying structure (6) ---- Distributed RAM (DRAM, Distributed RAM)
Error: listen EADDRINUSE: address already in use 127.0.0.1:3000
HCIP-第九天-BGP(边界网关协议)
Basic syntax of MySQL DDL and DML and DQL
idea设置自动带参数的方法注释(有效)
[Koltin Flow (1)] Five ways to create flow
“tensorflow.keras.preprocessing“ has no attribute “image_dataset_from_directory“
It's time to have to learn English, give yourself multiple paths
MySQL(4)
MySQL 有这一篇就够(呕心狂敲37k字,只为博君一点赞!!!)
MySQL 用户授权
My first understanding of MySql, and the basic syntax of DDL and DML and DQL in sql statements
Memories · The last system design in the university era
I went to meet some successful people worth tens of millions on May 1st, and I have some new ideas and inspirations
https://pytorch.org/docs/stable/generated/torch.load.html?highlight=torch%20load#torch.load

![[GO语言基础] 一.为什么我要学习Golang以及GO语言入门普及](/img/ac/80ab67505f7df52d92a206bc3dd50e.png)






