前提,cuda 11.6,pytorch 1.9.0,python 3.8
torch 没有autocast 这个属性,1.6.0版本以上的pytorch才有,我的版本是1.9.0,因为源代码说的是1.8.0以上都行,我自己试过很多个版本了,也升级过最新的,最新的又显示,我的cuda driver too old ,搞一下午没整出来

解决方法如下:

with torch.autocast(device.type,enabled=use_fp16): with torch.cuda.amp.autocast(enabled=use_fp16):

我是偶然才发现这个问题的,无语了、、、、、

注意两句话参数不一样,传参的时候别搞错了

https://zhuanlan.zhihu.com/p/165152789 https://zhuanlan.zhihu.com/p/176998729 https://py torch .org/docs/stable/amp.html https://py torch .org/docs/stable/notes/amp_examples.html#amp-examples py torch 版本 有点旧,更新一下就好了,我直接更新到1.7 import torch print( torch ._ 这项来自斯坦福大学、加州大学伯克利分校、加州大学圣迭戈分校和 Meta 的研究提出了一个新颖的序列建模方法,称为测试时训练(Test-Time Training, TTT)层。TTT 层通过用机器学习模型取代 RNN 的隐藏状态,并使用输入 token 的实际梯度下降来压缩上下文。研究表明,这种方法在性能上可以优于现有的 Transformer 和 Mamba 架构。 在环境变量中再把以下两行(v10.0是cuda 版本 号,根据自己下载的 版本 对应填入)行数因为是改后再看的可能有几行的差距。4,还有一个关于RMSprop报错的。train.py第115行。train.py第79行。分别添加进去,就行了。 device= torch .device("cuda" if torch .cuda.is_available() else "cpu"), AttributeError : module ' torch ' has no attribute 'device' 导入 torch 后,通过 torch .__version__语句查看时出现如标题所示的报错。在导入 torch 的geometric库前,需查看电脑安装的 torch 版本 。解决方法是version前后是2个“_”,添加后即可查看。 解决方法:先通过别的 torch 版本 (后续统称为低 版本 ,即2.0之前)去下载 ‘_six.py’ 文件,然后将该文件移植在自己的 torch 包(后续统称为高i 版本 ,即2.0之后)中,除此外,还需要在 torch 的初始化文件进行相关配置。2. 在低 版本 中导入 torch ,然后按下ctrl、点击 torch ,在__init__文件夹下,ctrl+f搜索 _six 然后将代码复制下来,同样移植到高 版本 中。 torch 版本 :2.0(可以通过 torch .__version__)去检查一下自己的 torch 版本 ) 这是因为 torch 1.8.1是最新版很多接口发生了变化下载旧 版本 可以解决这个 问题 。 pip install torch ==1.1.0 torch vision==0.3.0 -f 由于最近的程序对速度要求比较高,想要快速出结果,因此特地学习了一下混合精度运算和并行化操作,由于已经有很多的文章介绍相关的原理,因此本篇只讲述如何应用 torch 实现混合精度运算、数据并行和分布式运算,不具体介绍原理。 自动混合精度训练(auto Mixed Precision,AMP)可以大幅度降低训练的成本并提高训练的速度。在此之前,自动混合精度运算是使用NVIDIA开发的Apex工具。从Py Torch 1.6.0开始,Py Torch 已经自带了AMP模块,因此接下来主要对Py Torch 自带的a