pytorch分布式卡住

2023-11-07

在一台 A100 的实验室用单机多卡的方式跑 MoCoGAN-HD 时,发现其在跑到 main_worker 打完这行的 log 之后就卡住不动。手动 Ctrl + C:

------------ Options -------------
G_step: 5
batchSize: 4
beta1: 0.5
beta2: 0.999
checkpoints_dir: checkpoints/my_dataset
cross_domain: True
dataroot: /home/itom/data3/my_dataset/train-frames
display_freq: 100
dist_backend: nccl
dist_url: tcp://localhost:10003
gpu: None
h_dim: 384
img_g_weights: pretrained/checkpoint.pkl
isPCA: False
isTrain: True
l_len: 256
latent_dimension: 512
load_pretrain_epoch: -1
load_pretrain_path: pretrained_models
lr: 0.0001
moco_m: 0.999
moco_t: 0.07
multiprocessing_distributed: True
n_frames_G: 16
n_mlp: 8
n_pca: 384
name: my_dataset
nc: 3
norm_D_3d: instance
num_D: 2
print_freq: 5
q_len: 4096
rank: 0
resize_style_gan_size: None
save_epoch_freq: 10
save_latest_freq: 1000
save_pca_path: pca_stats/my_dataset
sg2_ada: False
style_gan_size: [512, 256]
time_step: 5
total_epoch: 500
video_frame_size: 128
w_match: 1.0
w_residual: 0.2
workers: 8
world_size: 1
-------------- End ----------------
Use GPU: 0 for training
Use GPU: 1 for training
^CTraceback (most recent call last):
  File "train_sg2_ada.py", line 243, in <module>
    main()
  File "train_sg2_ada.py", line 48, in main
    args=(ngpus_per_node, args))
  File "/home/itom/miniconda3/envs/py37_pt171/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 199, in spawn
    return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
  File "/home/itom/miniconda3/envs/py37_pt171/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 157, in start_processes
    while not context.join():
  File "/home/itom/miniconda3/envs/py37_pt171/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 77, in join
    timeout=timeout,
  File "/home/itom/miniconda3/envs/py37_pt171/lib/python3.7/multiprocessing/connection.py", line 921, in wait
    ready = selector.select(timeout)
  File "/home/itom/miniconda3/envs/py37_pt171/lib/python3.7/selectors.py", line 415, in select
    fd_event_list = self._selector.poll(timeout)
KeyboardInterrupt


^CError in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/home/itom/miniconda3/envs/py37_pt171/lib/python3.7/multiprocessing/popen_fork.py", line 28, in poll
    pid, sts = os.waitpid(self.pid, flag)
KeyboardInterrupt

通过手动 print 发现是卡在 dist.init_process_group 这里,此时 nvidia-smi 有占用,但只有 2k+MB,明显没启动完。同学说换用 gloo backend,开头是在 shell 改环境变量:

PL_TORCH_DISTRIBUTED_BACKEND=gloo \
CUDA_HOME=/usr/local/cuda \
python -W ignore train.py ...

无效,还是卡住。注意到其 train_options.py 中有个 –dist_backend 参数,默认值是 nccl,换用命令行指定:

CUDA_HOME=/usr/local/cuda \
python -W ignore train.py --dist_backend gloo ...

可以了。即:

# import torch.distributed as dist

dist.init_process_group(backend="gloo", # 这里改成 gloo
    init_method=args.dist_url, world_size=args.world_size, rank=args.rank)

它的代码基于 rosinality/stylegan2-pytorch,说不定用这份代码如果卡住了也可以参考。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pytorch分布式卡住 的相关文章

  • 在 Pytorch 中获取负片(倒置)图像

    我想直接从数据加载器获取图像的负片并将其作为张量提供 有我可以使用的库吗 我试过火炬transforms并没有找到任何 不要费力 只需使用255 image它会给你一个负面的形象 试试吧
  • 在 Pytorch 中执行优化时如何对变量应用界限?

    我正在尝试使用 Pytorch 进行非凸优化 试图最大化我的目标 因此在 SGD 中最小化 我想限制因变量 x gt 0 并且 x 值的总和小于 1000 我认为我已经以斜坡惩罚的形式正确实施了惩罚 但我正在努力解决 x 变量的边界问题 在
  • 用我自己的值初始化pytorch卷积层

    我想知道是否有办法用我自己的值初始化 pytorch 卷积过滤器 例如 我有一个元组 0 8423 0 3778 3 1070 2 6518 我想用这些值初始化 2X2 过滤器 我该怎么做 我查找了一些答案 但他们大多使用火炬正态分布和其他
  • 通过 Conda 安装 PyTorch

    目标 使用 pytorch 和 torchvision 创建 conda 环境 Anaconda 导航器 1 8 3 python 3 6 MacOS 10 13 4 我尝试过的 在Navigator中 创建了一个新环境 尝试安装 pyto
  • RuntimeError:维度指定为 0 但张量没有维度

    我试图使用 MNIST 数据集实现简单的 NN 但我不断收到此错误 将 matplotlib pyplot 导入为 plt import torch from torchvision import models from torchvisi
  • 预训练 Transformer 模型的配置更改

    我正在尝试为重整变压器实现一个分类头 分类头工作正常 但是当我尝试更改配置参数之一 config axis pos shape 即模型的序列长度参数时 它会抛出错误 Reformer embeddings position embeddin
  • 查找张量中沿轴的非零元素的数量

    我想找到沿特定轴的张量中非零元素的数量 有没有 PyTorch 函数可以做到这一点 我尝试使用非零 http pytorch org docs master torch html highlight nonzero torch nonzer
  • 如何在 google colab 中运行 matlab .m 文件

    我目前正在尝试运行这个存储库https github com Fanziapril mvfnet https github com Fanziapril mvfnet这需要一个步骤 Run the Matlab ModelGeneratio
  • 在pytorch中使用tensorboard,但得到空白页面?

    我在pytorch 1 3 1中使用tensorboard 并且我在张量板的 pytorch 文档 https pytorch org docs stable tensorboard html 运行后tensorboard logdir r
  • 如何避免 PyTorch 中的“CUDA 内存不足”

    我认为对于 GPU 内存较低的 PyTorch 用户来说 这是一个非常常见的消息 RuntimeError CUDA out of memory Tried to allocate X MiB GPU X X GiB total capac
  • torch-1.1.0-cp37-cp37m-win_amd64.whl 在此平台上不受支持的滚轮

    我在开发 RNN 时需要使用 pyTorch 每当我尝试安装它时 我都会收到一条错误消息 指出 torch 1 1 0 cp37 cp37m win amd32 whl 在此平台上不受支持 pip3安装https download pyto
  • 为什么 RNN 需要两个偏置向量?

    In Pytorch RNN 实现 http pytorch org docs master nn html highlight rnn torch nn RNN 有两个偏差 b ih and b hh 为什么是这样 它与使用一种偏差有什么
  • 一次热编码期间出现 RunTimeError

    我有一个数据集 其中类值以 1 步从 2 到 2 i e 2 1 0 1 2 其中 9 标识未标记的数据 使用一种热编码 self one hot encode labels 我收到以下错误 RuntimeError index 1 is
  • 为什么 pytorch matmul 在 cpu 和 gpu 上执行时得到不同的结果?

    我试图找出 numpy pytorch gpu cpu float16 float32 数字之间的舍入差异 而我发现的内容让我感到困惑 基本版本是 a torch rand 3 4 dtype torch float32 b torch r
  • Blenderbot 微调

    我一直在尝试微调 HuggingFace 的对话模型 Blendebot 我已经尝试过官方拥抱脸网站上给出的传统方法 该方法要求我们使用 trainer train 方法来完成此操作 我使用 compile 方法尝试了它 我尝试过使用 Py
  • 如何计算 CNN 第一个线性层的维度

    目前 我正在使用 CNN 其中附加了一个完全连接的层 并且我正在使用尺寸为 32x32 的 3 通道图像 我想知道是否有一个一致的公式可以用来计算第一个线性层的输入尺寸和最后一个卷积 最大池层的输入 我希望能够计算第一个线性层的尺寸 仅给出
  • 如何使用pytorch构建多任务DNN,例如超过100个任务?

    下面是使用 pytorch 为两个回归任务构建 DNN 的示例代码 这forward函数返回两个输出 x1 x2 用于大量回归 分类任务的网络怎么样 例如 100 或 1000 个输出 对所有输出 例如 x1 x2 x100 进行硬编码绝对
  • 在 Pytorch 中估计高斯模型的混合

    我实际上想估计一个以高斯混合作为基本分布的归一化流 所以我有点被火炬困住了 但是 您可以通过估计 torch 中高斯模型的混合来在代码中重现我的错误 我的代码如下 import numpy as np import matplotlib p
  • 如何使用 pytorch 同时迭代两个数据加载器?

    我正在尝试实现一个接收两张图像的暹罗网络 我加载这些图像并创建两个单独的数据加载器 在我的循环中 我想同时遍历两个数据加载器 以便我可以在两个图像上训练网络 for i data in enumerate zip dataloaders1
  • Pytorch 与 joblib 的 autograd 问题

    将 pytorch 的 autograd 与 joblib 混合似乎存在问题 我需要并行获取大量样本的梯度 Joblib 与 pytorch 的其他方面配合良好 但是 与 autograd 混合时会出现错误 我做了一个非常小的例子 显示串行

随机推荐

  • 重装系统全流程

    重点 下载镜像网址 下载 Windows 10 microsoft com 不过不用下载 你的美均相U盘里面有下载好的Win10系统 重点注意 重启后拔优盘 安装时不要联网
  • 钱包终局之战:无私钥的未来

    从最日常和高频的注册 登陆 授权环节 降低 Web2 用户参与门槛 作者 Loopy Lu 编辑 郝方舟 出品 Odaily星球日报 ID o daily Web3 革命已经掀起 但从 Web2 迈进 Web3 的用户似乎并没有我们想象的多
  • 每天进步一点点——Linux中的文件描述符与打开文件之间的关系

    转载请说明出处 http blog csdn net cywosp article details 38965239 1 概述 在Linux系统中一切皆可以看成是文件 文件又可分为 普通文件 目录文件 链接文件和设备文件 文件描述符 fil
  • out can't be used with non-varying FragColor

    因为片段着色器缺少glsl的版本号 加上版本号就可以了 version 330 不能缺少 in vec2 TexCoord0 out vec4 FragColor uniform sampler2D gSampler void main F
  • Intel E810 Advanced RSS介绍

    一 Advanced RSS的特性 Legacy的RSS是对普通五元组 src ip dst ip src port dst port protocol 进行哈希 而且默认情况下是对报文的五元组同时进行哈希 Intel E810对RSS做了
  • 元件科普之稳压管

    1 简述 稳压二极管 英文名称Zener diode 又叫齐纳二极管 利用PN结反向击穿状态 其电流可在很大范围内变化而电压基本不变的现象 制成的起稳压作用的二极管 此二极管是一种直到临界反向击穿电压前都具有很高电阻的半导体器件 在这临界击
  • SpringBoot 接入 ELK - 动态索引详解

    1 说明 1 docker环境需要java maven环境 检查这两个 java version mvn version 2 本次ELK是使用docker运行的 ELK极其耗内存 服务器内存在4G及以内的 不建议安转 2 Linux mav
  • 【场景生成与削减】基于蒙特卡洛法场景生成及启发式同步回带削减风电、光伏、负荷研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 相关知识 基于概率距离削减法 蒙特卡洛削减
  • 数组函数some()、every()用法

    这两个方法用的其实并不多 但遇到了还是记录一下 some every 是用于判断数组的 1 some 不创建新数组 不改变原数组 判断为true则马上return true 否则return false let arr 1 2 3 4 5
  • UE4中常用的C++关键字:override

    override 描述 override保留字表示当前函数重写了基类的虚函数 目的 1 在函数比较多的情况下可以提示读者某个函数重写了基类虚函数 表示这个虚函数是从基类继承 不是派生类自己定义的 2 强制编译器检查某个函数是否重写基类虚函数
  • LeetCode 547. 朋友圈数量--无向连通图

    解析 方法一 DFS 遍历所有人 对于每一个人 寻找他的好友 找到好友后再找这个好友的好友 这样深度优先遍历下去 设置一个visited记录是否已经遍历了这个人 因为如果m个人最多m个朋友圈 设置后visited后 相同的朋友圈会检测到vi
  • 记录一些遇见的bug——项目启动报错Parameter 1 of constructor in com.example.filter.SimpleGlobalFilter required a bea

    记录一些遇见的bug 项目启动报错Parameter 1 of constructor in com example filter SimpleGlobalFilter required a bean of type org springf
  • angular2.0最新版环境搭建与常见问题

    第一步 安装Node js npm 安装Node js的时候自动就安装了npm 第二部 安装npm 由于npm官网镜像访问太慢 我们使用淘宝的npm镜像 在node命令窗口 windows的cmd linux的终端 npm install
  • 八数码深度优先搜索_Part 05:深度与广度优先搜索

    这节课重点学习深度优先搜索算法 简称为 DFS 和广度优先搜索算法 简称为 BFS DFS 和 BFS 经常在算法面试题当中出现 在整个算法面试知识点中所占的比重非常大 应用最多的地方就是对图进行遍历 树也是图的一种 深度优先搜索 Dept
  • 转:【Python3网络爬虫开发实战】6.4-分析Ajax爬取今日头条街拍美图

    摘要 本节中 我们以今日头条为例来尝试通过分析Ajax请求来抓取网页数据的方法 这次要抓取的目标是今日头条的街拍美图 抓取完成之后 将每组图片分文件夹下载到本地并保存下来 1 准备工作 在本节开始之前 请确保已经安装好requests库 如
  • Android Studio 太卡解决方法

    第一种情况 C盘快要满了 自行解决 第二种 修改Java 虚拟机启动时的参数 用于限制最大堆内存 在Android Studio Help gt Edit Custom VM Option 打开 在这里加上 Xmx2g 或者 Xmx4g 如
  • 【机器人学】机器人开源项目KDL源码学习:(2)牛顿拉普森迭代法求机器人的数值解

    对于串联机器人来说 求逆解的难度要大于求正解 市面上的工业机器人一般是利用的是利用解析法求封闭解 机器人有封闭解是有条件的 Pieper法则 另一种求逆解的方法是利用迭代法求数值解 适用于不满足Pieper法则的构型 特别适用于运动学冗余的
  • K8s ❉ 报错cannot stat ‘/etc/kubernetes/admin.conf’

    现象 报错提示 cannot stat etc kubernetes admin conf No such file or directory 解决方式 从master节点拷贝过来 master节点执行 root master scp et
  • 相机标定精度研究

    张建贺实验设计 1 外参重复性精度测试 同内参 不同外参特征点 9选择4 组合 1 外参几乎没有什么重复性误差 只要4对都正确 则刚性匹配基本正确 解释 激光点云到相机 转换本身的刚性匹配 而相机坐标系到图像坐标系是非刚性匹配 不同内参 同
  • pytorch分布式卡住

    在一台 A100 的实验室用单机多卡的方式跑 MoCoGAN HD 时 发现其在跑到 main worker 打完这行的 log 之后就卡住不动 手动 Ctrl C Options G step 5 batchSize 4 beta1 0