【深度学习】模型如何加载至 cpu 和 gpu

news/2024/11/29 7:35:03/

【深度学习】模型如何加载至 cpu 和 gpu

文章目录

  • 【深度学习】模型如何加载至 cpu 和 gpu
    • 1. 采用 from_pretrained 的方式
    • 2. 采用 load_state_dict 的方式
    • 参考

1. 采用 from_pretrained 的方式

这种情况下,BertMoldel.from_pretrained() 是会 load 在 cpu 上的,内部 map_location 默认设置成 cpu,如果想要部署在gpu,执行下面三句话。

BertMoldel.from_pretrained()
device=torch.device(’cuda’)
model.to(device) 

2. 采用 load_state_dict 的方式

  • 如果不加map_location,默认是按照保存模型时的位置来进行load的。即,

    • 当你保存模型时,用的gpu,那么你load的时候也是加载到gpu上;
    • 当你保存模型时,用的cpu,那么你load的时候也是加载到cpu上;
  • 加上map_location

    • 部署在 哪里可以指定,如果想部署到 gpu,无需修改第一行,直接再加入4.5行。
state_dict=torch.load(model_path, map_location='cpu')
#部署到 gpu,把上面改为map_location='gpu'model.load_state_dict(state_dict)
#已在CPU上加载,下面两句也可加入GPUdevice=torch.device(’cuda’)
model.to(device)

参考

【1】https://blog.csdn.net/M_TDM/article/details/129436122


http://www.ppmy.cn/news/61633.html

相关文章

归排、计排深度理解

归并排序:是创建在归并操作上的一种有效的排序算法。算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。归并排序思路简单,速度仅次于快速排序,为稳定排序算法&#…

SpringCloud 分布式事务组件之Seata

目录 背景介绍什么是分布式事务什么叫做逆向补偿呢互联网最流行的分布式事务组件seata总结 背景 大家好,今天给大家分享一个在2022年出去面试Java几乎必问的一个技术,那就是seata。什么??你才看了第一句话心里有闪现了无数个问…

面了一圈,还没拿到offer.....

最近收到很多小伙伴的留言,金三银四过完了一个offer都没收到。还有遇到那种特别喜欢怼人的面试官,直接面到怀疑人生,真是让人费解。。。 其实面试受打击是正常的,关键是要在面试中总结自己的不足!提前做好面试准备和技…

数控新代系统解锁解密 数控机床车床使用期限破解

时效性保证了良好的用户体验,根据经验在交易环节,延迟越低转化效果也会越好。传统的直播延迟问题已经成为了一个不容忽视的问题,高延迟不仅破坏了用户的观看体验,也让主播难以实时获取到用户的反馈。为了进一步优化直播时效体验&a…

自行车和电动自行车上亚马逊标准有什么区别?UL2849,16CFR1512

自行车 自行车是一种两轮的或三轮的交通工具,完全靠人力驱动后轮前进。本政策所涵盖的自行车包括当座位调整到最高位置时,座位离地面超过 25 英寸的自行车,以及座位高度为 25 英寸或以下的人行道自行车。本政策也适用于公路使用的卧式自行车…

Okta 即代码:云原生时代的身份管理

我们为什么应该将 Okta 配置作为代码进行管理? 对于需要跨多个应用程序和环境管理对其数字资源的访问的组织来说,Okta 可能是最受欢迎的选择,因为它提供了一系列使其在身份验证和授权方面很受欢迎的功能,例如: 单点登…

高级IO涉及的编程模型

目录 五种IO模型引入IO模型阻塞IO非阻塞IO信号驱动IOO多路转接异步IO IO重要概念同步通信 vs 异步通信阻塞 vs 非阻塞 其他高级IO 非阻塞IOfcntl基于fcntl将文件描述符设置为非阻塞轮询方式读取标准输入 I/O多路转接之select初识selectselect函数原型参数timeout取值fd_set结构…

Ubuntu多卡服务器、普通用户安装paddlepaddle环境

Ubuntu多卡服务器、普通用户安装paddlepaddle环境 1. 建立conda虚拟环境2. 安装paddlepaddle gpu版本2.1 选择cuda版本2.2 安装paddle 3. 验证及排错3.1 验证方法3.2 第一次报错:cuda问题3.3 第二次报错:NCCL问题(多卡) 4. 设置环…