东方耀AI技术分享

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2867|回复: 0
打印 上一主题 下一主题

[课堂笔记] apex安装、使用以及遇到的错误

[复制链接]

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14439
QQ
跳转到指定楼层
楼主
发表于 2021-11-25 13:18:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
apex安装、使用以及遇到的错误


NameError: name 'apex' is not defined


A PyTorch Extension: Tools for easy mixed precision and distributed training in Pytorch




Linux系统 ubuntu


1.安装流程(按顺序使用如下命令)


git clone https://github.com/NVIDIA/apex


cd apex(目录下有setup.py文件的)


pip3 install -v --no-cache-dir ./


Successfully built apex
Installing collected packages: apex


Successfully installed apex-0.1




注意:不能直接使用pip3 install apex来安装


2. 使用方法


只需要在原模型训练的代码中修改三处


(1)添加 from apex import amp;


(2)在定义完model和optimizer后,添加 model, optimizer = amp.initialize(model, optimizer, opt_level="O1");注意是字母O


(3)在模型训练部分代码中,注释掉 loss.backward(),使用如下代码来替换:


with amp.scale_loss(loss, optimizer) as scaled_loss:
       scaled_loss.backward()




报错:


RuntimeError: Found buffer total_ops with type torch.DoubleTensor, expected torch.cuda.FloatTensor.
When using amp.initialize, you need to provide a model with buffers
located on a CUDA device before passing it no matter what optimization level
you chose. Use model.to('cuda') to use the default device.


model.to(config.device)   # 加了这一行就可以了 即使前面加过

让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|人工智能工程师的摇篮 ( 湘ICP备2020019608号-1 )

GMT+8, 2024-5-7 21:42 , Processed in 0.180124 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表