当前位置: 首页 > news >正文

网络优化公司江西seo网站排名优化

网络优化公司,江西seo网站排名优化,python前端开发需要学哪些东西,手机网站meta1、DataParallel 如果当前有4个GPU#xff0c;batch_size16#xff0c;那么模型将被复制到每一个GPU上#xff0c;在前向传播时#xff0c;每一个gpu将分到4个batch#xff0c;每个gpu独立计算依据分到的batch计算出结果的梯度#xff0c;然后将梯度返回到第一个GPU上batch_size16那么模型将被复制到每一个GPU上在前向传播时每一个gpu将分到4个batch每个gpu独立计算依据分到的batch计算出结果的梯度然后将梯度返回到第一个GPU上第一个GPU再进行梯度融合、模型更新。在下一次前向传播的时候将更新后的模型再复制给每一个GPU。 1、DP在每个训练批次batch中因为模型的权重都是在 一个进程上先算出来 然后再把他们分发到每个GPU上所以网络通信就成为了一个瓶颈而GPU使用率也通常很低。 2、因为它在每一次的前向传播的时候把模型也复制了即每次更新都复制一遍模型并且单进程多线程会造成GIL contention全局解释器锁争用 这里进程计算权重使通信成为瓶颈造成了大量的时间浪费因此引入了DDP。 2、DistributedDataParallel DDP采用多进程控制多GPU共同训练模型一份代码会被pytorch自动分配到n个进程并在n个GPU上运行。 DDP运用Ring-Reduce通信算法在每个GPU间对梯度进行通讯交换彼此的梯度从而获得所有GPU的梯度。对比DP不需要在进行模型本体的通信因此可以加速训练。 参考https://zhuanlan.zhihu.com/p/489011749 在所有节点上运行命令来初始化上面创建的 DDP 作业 torchrun --nnodes****2 --nproc_per_node****8 --rdzv_id****100 --rdzv_backend****c10d --rdzv_endpoint****$MASTER_ADDR:29400 elastic_ddp.py 这里torchrun将启动8个进程并调用elastic_ddp.py 其启动的节点上的每个进程但用户还需要应用slurm等集群管理工具才能在2个节点上实际运行此命令。 srun --nodes2 ./torchrun_script.sh 启动脚本 无论 DDP 应用程序如何启动每个进程都需要一种机制来了解其rank等使用torch提供的分布式脚本可以通过环境变量将世界大小、全局等级、主地址和主端口以及本地等级作为命令行参数传递给每个实例初始化的时候选择环境变量初始化就很方便 就不应该使用启动子进程torch.multiprocessing.spawn 了。 torch.distributed.launch python -m torch.distributed.launch --nproc_per_node 8 test.py https://github.com/pytorch/pytorch/blob/main/torch/distributed/launch.py import torchimport os import timeprint(|| MASTER_ADDR:,os.environ[MASTER_ADDR],|| MASTER_PORT:,os.environ[MASTER_PORT],|| LOCAL_RANK:,os.environ[LOCAL_RANK],|| RANK:,os.environ[RANK], || WORLD_SIZE:,os.environ[WORLD_SIZE])单机启动八个worker的运行结果 /home $ python -m torch.distributed.launch --nproc_per_node 8 test.py 2 ↵ ***************************************** Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed. ***************************************** || MASTER_ADDR: 127.0.0.1 || MASTER_PORT: 29500 || LOCAL_RANK: 0 || RANK: 0 || WORLD_SIZE: 8 || MASTER_ADDR: 127.0.0.1 || MASTER_PORT: 29500 || LOCAL_RANK: 1 || RANK: 1 || WORLD_SIZE: 8 || MASTER_ADDR: 127.0.0.1 || MASTER_PORT: 29500 || LOCAL_RANK: 5 || RANK: 5 || WORLD_SIZE: 8 || MASTER_ADDR: 127.0.0.1 || MASTER_PORT: 29500 || LOCAL_RANK: 4 || RANK: 4 || WORLD_SIZE: 8 || MASTER_ADDR: 127.0.0.1 || MASTER_PORT: 29500 || LOCAL_RANK: 3 || RANK: 3 || WORLD_SIZE: 8 || MASTER_ADDR: 127.0.0.1 || MASTER_PORT: 29500 || LOCAL_RANK: 2 || RANK: 2 || WORLD_SIZE: 8 || MASTER_ADDR: 127.0.0.1 || MASTER_PORT: 29500 || LOCAL_RANK: 6 || RANK: 6 || WORLD_SIZE: 8 || MASTER_ADDR: 127.0.0.1 || MASTER_PORT: 29500 || LOCAL_RANK: 7 || RANK: 7 || WORLD_SIZE: 8多机 /home# python -m torch.distributed.launch --nproc_per_node 8 --nnodes 2 --node_rank 0 --master_addr 替换成你的IP地址 --master_port 1234 test.py|| MASTER_ADDR: IP地址 || MASTER_PORT: 1234 || LOCAL_RANK: 3 || RANK: 3 || WORLD_SIZE: 16 || MASTER_ADDR: IP地址 || MASTER_PORT: 1234 || LOCAL_RANK: 4 || RANK: 4 || WORLD_SIZE: 16 || MASTER_ADDR: IP地址 || MASTER_PORT: 1234 || LOCAL_RANK: 5 || RANK: 5 || WORLD_SIZE: 16 || MASTER_ADDR:|| MASTER_ADDR: IP地址 IP地址|| MASTER_PORT: || MASTER_PORT:1234 1234|| LOCAL_RANK: || LOCAL_RANK:1 7|| RANK: || RANK:1 7|| WORLD_SIZE: || WORLD_SIZE:16 16 || MASTER_ADDR: IP地址 || MASTER_PORT: 1234 || LOCAL_RANK: 6 || RANK: 6 || WORLD_SIZE: 16 || MASTER_ADDR: IP地址 || MASTER_PORT: 1234 || LOCAL_RANK: 2 || RANK: 2 || WORLD_SIZE: 16 || MASTER_ADDR: IP地址 || MASTER_PORT: 1234 || LOCAL_RANK: 0 || RANK: 0 || WORLD_SIZE: 16第二个机器运行同样的命令除了noderank❯ python -m torch.distributed.launch --nproc_per_node 8 --nnodes 2 --node_rank 1 --master_addr IP地址 --master_port 1234 test.py***************************************** || MASTER_ADDR: IP地址 || MASTER_PORT: 1234 || LOCAL_RANK: 0 || RANK: 8 || WORLD_SIZE: 16 || MASTER_ADDR: IP地址 || MASTER_PORT: 1234 || LOCAL_RANK: 1 || RANK: 9 || WORLD_SIZE: 16 || MASTER_ADDR: IP地址 || MASTER_PORT: 1234 || LOCAL_RANK: 3 || RANK: 11 || WORLD_SIZE: 16 || MASTER_ADDR: IP地址 || MASTER_PORT: 1234 || LOCAL_RANK: 4 || RANK: 12 || WORLD_SIZE: 16 || MASTER_ADDR: IP地址 || MASTER_PORT: 1234 || LOCAL_RANK: 2 || RANK: 10 || WORLD_SIZE: 16 || MASTER_ADDR: IP地址 || MASTER_PORT: 1234 || LOCAL_RANK: 5 || RANK: 13 || WORLD_SIZE: 16 || MASTER_ADDR: IP地址 || MASTER_PORT: 1234 || LOCAL_RANK: 6 || RANK: 14 || WORLD_SIZE: 16 || MASTER_ADDR: IP地址 || MASTER_PORT: 1234 || LOCAL_RANK: 7 || RANK: 15 || WORLD_SIZE: 16torchrun torchrun 提供了 torch.distributed.launch 功能的超集并具有一些附加功能 从 torch.distributed.launch 过渡到 torchrun https://pytorch.org/docs/stable/elastic/run.html 代码中需要改成从环境变量中读取 slurm多机启动 上面的torch.distributed.launch或者torchrun启动如果多机的话要手动在多个机器执行使用slurm提交一个命令脚本slurm会分发到多个node来执行。 srun --nodes2 ./torchrun_script.sh https://github.com/pytorch/tutorials/blob/main/intermediate_source/ddp_tutorial.rst
http://www.yutouwan.com/news/330389/

相关文章:

  • 产品列表型网站模板兰州seo网站建设
  • 整站seo排名公司如何快速提升网站关键词排名
  • 什么是网站代理门店广告牌设计
  • 虚拟主机建站教程广西建设网站官网
  • 用以前用过的域名做网站洪梅东莞网站建设
  • 河南中建卓越建设管理有限公司网站贴吧高级搜索
  • 用那种语言做网站比较好wordpress pdf检索
  • 查网站空间商汉滨区建设局网网站
  • 做网站机构图用什么工具wordpress网页登录
  • 大型门户网站开发公司电子商务网站建设与管理课设
  • h5网站源代码电子商务网站建设财务分析
  • 常州网站推广多少钱彩云小梦ai写作网站
  • 多个域名解析到一个网站济南做网站的中企
  • 网站源码广安住房和城乡建设厅网站
  • 网站全屏宽度是多少做设计不进设计公司网站
  • 网站建设宗旨网络营销网站推广方法
  • 湖南地税局官网站水利建设基金wordpress 数据库丢失
  • 深圳做网站网站建设服务预算
  • 做一个类似京东的网站微信小程序代理
  • 开发网站开发工程师招聘如何自己申请商标注册
  • dede网站 设置404 错误页面网站后台代码添加图片
  • 四川省城乡住房和建设厅网站做企业云网站的企业邮箱
  • 建设公司网站费用android开发环境
  • 广东网站建设的广告设计制作方案
  • 做mla网站做网站标准步骤
  • 广州做贸易网站企业app软件开发公司
  • 用js做的网站代码汕头澄海玩具
  • 怎么创建自己的网站网络seo天津
  • 网站建设与管理课程标准罗湖网站-建设深圳信科
  • 免费自适应网站模板什么是域名为什么需要它