AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘

这篇具有很好参考价值的文章主要介绍了AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述

安装完apex后,调用的是时候出现如下错误:

  File "/home/shuyuan/anaconda3/envs/shuyuan/lib/python3.8/site-packages/apex/transformer/pipeline_parallel/schedules/__init__.py", line 3, in <module>
    from apex.transformer.pipeline_parallel.schedules.fwd_bwd_no_pipelining import (
  File "/home/shuyuan/anaconda3/envs/shuyuan/lib/python3.8/site-packages/apex/transformer/pipeline_parallel/schedules/fwd_bwd_no_pipelining.py", line 10, in <module>
    from apex.transformer.pipeline_parallel.schedules.common import Batch
  File "/home/shuyuan/anaconda3/envs/shuyuan/lib/python3.8/site-packages/apex/transformer/pipeline_parallel/schedules/common.py", line 9, in <module>
    from apex.transformer.pipeline_parallel.p2p_communication import FutureTensor
  File "/home/shuyuan/anaconda3/envs/shuyuan/lib/python3.8/site-packages/apex/transformer/pipeline_parallel/p2p_communication.py", line 25, in <module>
    from apex.transformer.utils import split_tensor_into_1d_equal_chunks
  File "/home/shuyuan/anaconda3/envs/shuyuan/lib/python3.8/site-packages/apex/transformer/utils.py", line 11, in <module>
    torch.distributed.all_gather_into_tensor = torch.distributed._all_gather_base
AttributeError: module 'torch.distributed' has no attribute '_all_gather_base'

解决方法

注释下面的代码:

if "reduce_scatter_tensor" not in dir(torch.distributed):
    torch.distributed.reduce_scatter_tensor = torch.distributed._reduce_scatter_base
if "all_gather_into_tensor" not in dir(torch.distributed):
    torch.distributed.all_gather_into_tensor = torch.distributed._all_gather_base

路径:
apex/contrib/optimizers/distributed_fused_lamb.py
apex/transformer/tensor_parallel/layers.py
apex/transformer/tensor_parallel/utils.py
apex/transformer/tensor_parallel/mappings.py

接下来添加环境变量。
执行命令vi ~/.bashrc打开文件,然后,按i键进入编辑模式。
在末尾添加:

export TORCH_CUDA_ARCH_LIST="8.0"  # CUDA11.X,对应的算力为8.0

然后,按ESC键,退出编辑模型,按Shift+;输入:,最后再按wq键,保存并退出。
再执行:

source ~/.bashrc

更新配置
接下来安装apex
进入apex的根目录,执行命令:

pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./

等待编译和安装。

摘要

本专栏是讲解如何改进Yolov8的专栏。改进方法采用了最新的论文提到的方法。改进的方法包括:增加注意力机制、更换卷积、更换block、更换backbone、更换head、更换优化器等;每篇文章提供了一种到N种改进方法。

评测用的数据集是我自己标注的数据集,里面包含32种飞机。每种改进方法我都做了测评,并与官方的模型做对比。

代码和PDF版本的文章,我在验证无误后会上传到百度网盘中,方便大家下载使用。

这个专栏,求质不求量,争取尽心尽力打造精品专栏!!!

谢谢大家支持!!!
AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘,疑难问题,python

YoloV8改进策略:基于分层注意力的FasterViT,让YoloV8实现性能的飞跃

YoloV8改进策略:基于分层注意力的FasterViT,让YoloV8实现性能的飞跃
这篇文章向大家展示如何使用FasterViT改进YoloV8,我尝试了几种方法,选出了三种效果比较好的方法推荐给大家。
FasterViT结合了cnn的快速局部表示学习和ViT的全局建模特性的优点。新提出的分层注意力(HAT)方法将具有二次复杂度的全局自注意力分解为具有减少计算成本的多级注意力。我们受益于基于窗口的高效自我关注。每个窗口都可以访问参与局部和全局表示学习的专用载体Token。在高层次上,全局的自我关注使高效的跨窗口通信能够以较低的成本实现。FasterViT在精度与图像吞吐量方面达到了SOTA Pareto-front。
AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘,疑难问题,python

YoloV8改进策略:InceptionNext主干替换YoloV8和YoloV5的主干

YoloV8改进策略:InceptionNext主干替换YoloV8和YoloV5的主干

这篇文章主要讲解如何使用InceptionNext主干网络替换YoloV8和YoloV5的主干。更改了InceptionNext网络结构,和Yolov5、YoloV8的架构。
AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘,疑难问题,python

YoloV8改进策略:轻量级的CloFormer助力Yolov8在速度和精度上实现双双提升

YoloV8改进策略:轻量级的CloFormer助力Yolov8在速度和精度上实现双双提升

CloFormer是清华大学在今年发表的轻量级主干网络,引入了AttnConv,一种attention风格的卷积算子。所提出的AttnConv使用共享权重来聚合局部信息,并配置精心设计的上下文感知权重来增强局部特征。AttnConv和普通attention的结合使用池化来减少CloFormer中的FLOPs,使模型能够感知高频和低频信息。
AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘,疑难问题,python

YoloV8改进策略:InceptionNeXt和YoloV8完美结合,让YoloV8大放异彩

YoloV8改进策略:InceptionNeXt和YoloV8完美结合,让YoloV8大放异彩

InceptionNeXt是今年颜水成团队发布的一篇论文,将ConvNext和Inception的思想融合,即IncepitonNeXt。InceptionNeXt-T实现了比convnext - t高1.6倍的训练吞吐量,并在ImageNet- 1K上实现了0.2%的top-1精度提高。

AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘,疑难问题,python

YoloV8改进策略:新出炉的EMA注意力机制助力YoloV8更加强大

YoloV8改进策略:新出炉的EMA注意力机制助力YoloV8更加强大

EMA注意力机制是今年新的高效的多尺度注意力模块。以保留每个通道上的信息和降低计算开销为目标,将部分通道重塑为批量维度,并将通道维度分组为多个子特征,使空间语义特征在每个特征组中均匀分布。具体来说,除了对全局信息进行编码以重新校准每个并行分支中的通道权重外,还通过跨维度交互进一步聚合两个并行分支的输出特征,以捕获像素级成对关系。
AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘,疑难问题,python

YoloV8改进策略:VanillaNet极简主义网络,大大降低YoloV8的参数

YoloV8改进策略:VanillaNet极简主义网络,大大降低YoloV8的参数

VanillaNet,一个包含优雅设计的神经网络架构。通过避免高深度,shotcut和复杂的操作,如自主意力,VanillaNet令人耳目一新的简洁,但非常强大。每一层都被精心制作得紧凑而直接,非线性激活函数在训练后被修剪以恢复原始结构。VanillaNet克服了固有复杂性的挑战,使其成为资源受限环境的理想选择。其易于理解和高度简化的架构为高效部署提供了新的可能性。大量的实验表明,VanillaNet提供的性能与著名的深度神经网络和视觉转换器相当,展示了极简主义在深度学习中的力量。VanillaNet的这一富有远见的旅程具有重新定义景观和挑战基础模型现状的巨大潜力,为优雅有效的模型设计开辟了一条新的道路。

AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘,疑难问题,python

YoloV8改进策略:RFAConv模块即插即用,实现YoloV8丝滑上分

YoloV8改进策略:RFAConv模块即插即用,实现YoloV8丝滑上分
RFAConv是一种新的注意力机制,称为感受野注意力(RFA)。卷积块注意力模块(CBAM)和协调注意力模块(CA)只关注空间特征,不能完全解决卷积核参数共享的问题,但在RFA中,感受野空间特征不仅集中,而且为大尺寸卷积核提供了良好的注意力权重。RFA设计的感受野注意力卷积运算(RFAConv)可以被认为是取代标准卷积的一种新方法,它带来的计算成本和许多参数几乎可以忽略不计。由于作者没有开源我自己复现了一版,并尝试将其加入到YoloV8网络中。
AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘,疑难问题,python

YoloV8改进策略:让SeaFormer走进Yolov8的视野,轻量高效的注意力模块展现出无与伦比的魅力

YoloV8改进策略:让SeaFormer走进Yolov8的视野,轻量高效的注意力模块展现出无与伦比的魅力

SeaFormer使用压缩轴和细节增强的方法设计了一个通用的注意力块。它可以进一步用于创建一系列具有卓越成本效益的骨干体系结构。再加上一个轻分割头,我们在基于arm的移动设备上在ADE20K和cityscape数据集上实现了分割精度和延迟之间的最佳权衡。关键的是,我们以更好的性能和更低的延迟击败了适合移动设备的竞争对手和基于transformer的对手,而且没有花哨的东西。
AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘,疑难问题,python

YoloV8改进策略:将DCN v1与v2运用到YoloV8中,化身成上分小黑子

YoloV8改进策略:将DCN v1与v2运用到YoloV8中,化身成上分小黑子

尝试用DCNv1与DCNv2代替普通的卷积!
AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘,疑难问题,python

YoloV8改进策略:基于双层路由注意力的视觉Transformer提升YoloV8的检测能力

YoloV8改进策略:基于双层路由注意力的视觉Transformer提升YoloV8的检测能力
双层路由注意力实现具有内容感知的更灵活的计算分配。利用稀疏性来节省计算和内存,同时只涉及适用于GPU的密集矩阵乘法。用所提出的双层路由注意力建立了一个新的通用视觉transformer,称为BiFormer。
AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘,疑难问题,python

YoloV8改进策略:来自谷歌最新的优化器——Lion,在速度和精度上双双提升。Adam表示年轻人不讲武德

YoloV8改进策略:来自谷歌最新的优化器——Lion,在速度和精度上双双提升。Adam表示年轻人不讲武德

Lion将ViT在ImageNet上的准确率提高了2%,并在JFT上节省了高达5倍的预训练计算。在视觉-语言对比学习方面,在ImageNet上实现了88.3%的零样本和91.1%的微调精度,分别超过了之前的最佳结果2%和0.1%。在扩散模型上,Lion通过获得更好的FID分数并将训练计算量减少了2.3倍,超越了Adam。在自回归、掩码语言建模和微调方面,Lion表现出与Adam类似或更好的性能。对Lion的分析表明,其性能增益随着训练批大小的增加而增长。由于符号函数产生的更新范数更大,它还需要比Adam更小的学习率。

YoloV8改进策略:Conv2Former与YoloV8深度融合,极简网络,极高性能

YoloV8改进策略:Conv2Former与YoloV8深度融合,极简网络,极高性能
Conv2Former是在ConvNeXt基础上,做了进一步的优化,性能得到了提升。
AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘,疑难问题,python

YoloV8改进策略:将ConvNextV2与YoloV8激情碰撞,能迸发出什么样的火花呢?

YoloV8改进策略:将ConvNextV2与YoloV8激情碰撞,能迸发出什么样的火花呢

ConvNextV2将一个全卷积掩码自编码器框架和一个新的全局响应归一化(GRN)层,可以添加到ConvNeXt架构中,以增强通道间的特征竞争,它显著提高了纯ConvNets在各种识别基准上的性能,包括ImageNet分类、COCO检测和ADE20K分割。

AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘,疑难问题,python

YoloV8改进策略:将CIoU替换成Wise-IoU,幸福涨点,值得拥有,还支持EIoU、GIoU、DIoU、SIoU无缝替换。

YoloV8改进策略:将CIoU替换成Wise-IoU,幸福涨点,值得拥有,还支持EIoU、GIoU、DIoU、SIoU无缝替换。
这篇文章讲述如何在yolov8中,使用Wise-IoU涨点。首先,翻译了论文,让大家了解什么是Wise IoU,以及Wise IoU的三个版本。接下来讲解如何在yolov8中添加Wise IoU。

AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘,疑难问题,python

YoloV8改进策略:增加分支,减少漏检

YoloV8改进策略:增加分支,减少漏检

通过增加一个分支,来提高小目标的检测
AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘,疑难问题,python

YoloV8改进策略:将FasterNet与YoloV8深度融合,打造更快更强的检测网络

YoloV8改进策略:将FasterNet与YoloV8深度融合,打造更快更强的检测网络
fastternet,这是一种新的神经网络家族,它在各种设备上获得了比其他网络更高的运行速度,而不影响各种视觉任务的准确性。

AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘,疑难问题,python

Yolov8网络详解与实战(附数据集)

Yolov8网络详解与实战(附数据集)
AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘,疑难问题,python文章来源地址https://www.toymoban.com/news/detail-527564.html

到了这里,关于AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python, torch. 遇到AttributeError: module ‘distutils‘ has no attribute ‘version‘ 报错。

    1.已经安装了pip install tensorboard 出现报错   在使用torch.utils.tensorboard时,出现错误:   出错语句 from torch.utils.tensorboard import SummaryWriter   AttributeError: module \\\'distutils\\\' has no attribute \\\'version\\\' 2.问题原因 当前tensorboard的版本和你安装的pytorch版本不匹配,tensorboard版本太      高,

    2024年02月11日
    浏览(42)
  • AttributeError: module ‘torch.nn‘ has no attribute ‘SiLU‘问题的解决办法

    AttributeError: module \\\'torch.nn\\\' has no attribute \\\'SiLU\\\'        这个问题的原因是这个版本的torch中的torch.nn函数表里面没有这个SiLU函数,需要更高版本的torch,在官方的文档中我们就可以查看这个版本里有没有包含这个模块。 官方文档1.1.0    红框选择 torch 版本,我的版本是1.1.0,搜

    2024年02月13日
    浏览(55)
  • PyTorch AttributeError: module ‘torch._C‘ has no attribute ‘_cuda_setDevice‘

    这个问题说简单也很简单,大概率是你的pytorch安装了cpu版本...但现在默认安装下来就是cpu版本,可以在python中输入下面两行测试以下是不是不可用,如果显示False,那么就是不可用。 然后可以conda list看一下pytorch的版本,如果是cpu的版本,那么可以参考另一个写的很详细的博

    2024年02月13日
    浏览(43)
  • 解决AttributeError: module ‘keras‘ has no attribute ……

    在成功解决AttributeError: module ‘keras‘ has no attribute ‘utils‘_new1998的博客-CSDN博客这篇博客中博主有提到如何解决这一问题,其中就是要把 更改成为 而博主不知道其中原因,原因其实是在TensorFlow 2.4及以上版本中, import keras 的方式已经被弃用,取而代之的是 import tensorflow.k

    2024年02月11日
    浏览(46)
  • AttributeError: module ‘collections‘ has no attribute ‘MutableMapping‘

    今天在装live server时遇到如下两个问题。 module ‘collections’ has no attribute ‘MutableSet’ AttributeError: module ‘collections’ has no attribute ‘MutableMapping’ 部分错误结果如下: 网上找了好多都是把问题贴出来然后就没下文了,琢磨了三四个小时幸亏解决了!!应该是python 3.10 那些 M

    2024年02月13日
    浏览(33)
  • AttributeError: module ‘distutils‘ has no attribute ‘version‘

    问题: AttributeError: module ‘distutils’ has no attribute ‘version’. 解决: setuptools版本问题”,版本过高导致的问题;setuptools版本 第一步: pip uninstall setuptools 【使用pip,不能使用 conda uninstall setuptools ; 【不能使用conda的命令,原因是,conda在卸载的时候,会自动分析与其相关的库

    2024年02月16日
    浏览(48)
  • AttributeError: module ‘numpy‘ has no attribute ‘float‘

    出现这个问题的原因是:从numpy1.24起删除了numpy.bool、numpy.int、numpy.float、numpy.complex、numpy.object、numpy.str、numpy.long、numpy.unicode类型的支持。解决上诉问题主要有两种方法: 安装numpy1.24之前的版本 可以用python内置类型或者np.ndarray类型替换: np.float替换为float或者np.float64/np.fl

    2024年02月11日
    浏览(41)
  • AttributeError: module ‘numpy‘ has no attribute ‘bool‘解决

    问题原因:在numpy的1.24版本已经弃用了np.bool这个名称,取而代之的是np.bool_ 解决方法: 1.点击出错文件 2.将np.bool更改为np.bool_

    2024年02月12日
    浏览(101)
  • 解决AttributeError: module tensorflow has no attribute placeholder

    目录 解决AttributeError: module \\\'tensorflow\\\' has no attribute \\\'placeholder\\\' 方法一:升级TensorFlow版本 方法二:使用tf.compat.v1.placeholder替代 方法三:重写代码 应用场景 示例代码 Placeholder 创建和使用placeholder 为placeholder提供数值 placeholder的应用场景 如果你在使用TensorFlow时遇到了\\\"AttributeEr

    2024年02月05日
    浏览(43)
  • 解决AttributeError: module ‘serial‘ has no attribute ‘Serial‘

    最近在搞上位机时遇到了报错AttributeError: module ‘serial’ has no attribute ‘Serial’,翻译过来就是serial类没有Serial对象。然后卡了一个小时才解决,试了网上很多方法,最后才发现报错原因,这问题python也有责任。 下面说下一般的解决方法。 python3之后串口都改为pyserial,seria

    2024年02月02日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包