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

建设网站需要花钱吗网站建设好处费

建设网站需要花钱吗,网站建设好处费,运营和营销有什么区别,麦当劳的网络营销方式主进程读取数据 在函数 get_data_loader 中#xff0c;下面这段代码的作用是在多节点分布式训练时#xff0c;每个节点的主进程负责读取数据。 if self.dataset is None:with wait_for_the_master():assert cache_img is None, \cache_img must be None if you didnt…主进程读取数据 在函数 get_data_loader 中下面这段代码的作用是在多节点分布式训练时每个节点的主进程负责读取数据。 if self.dataset is None:with wait_for_the_master():assert cache_img is None, \cache_img must be None if you didnt create self.dataset before launchself.dataset self.get_dataset(cacheFalse, cache_typecache_img) 在 PyTorch 的分布式训练中每个节点的主进程负责数据加载、模型初始化和一些其他的准备工作。这意味着在每个节点的主进程中都会有一份数据加载的代码。 这样做的好处是 减轻主节点压力每个节点的主进程可以独立地负责数据加载减轻了主节点的负担有助于更好地利用各个节点的资源。数据分发效率高在每个节点加载数据的情况下数据可以直接在本地节点内分发给其他进程避免了网络传输的开销提高了数据加载的效率。  接下来我们看下函数 wait_for_the_master 的实现 from contextlib import contextmanagercontextmanager def wait_for_the_master(local_rank: int None):Make all processes waiting for the master to do some task.Args:local_rank (int): the rank of the current process. Default to None.If None, it will use the rank of the current process.if local_rank is None:local_rank get_local_rank()if local_rank 0:dist.barrier() yieldif local_rank 0:if not dist.is_available():returnif not dist.is_initialized():returnelse:dist.barrier() contextmanager contextmanager是一个装饰器用于定义上下文管理器context manager。上下文管理器可以用于创建一个资源的上下文然后在进入和退出这个上下文时执行特定的操作比如资源的获取和释放。  在python中要自定义一个上下文管理器需要定义一个类并实现其__enter__()和__exit()__方法。但使用装饰器contextmanager可以更简洁的实现这点具体来说contextmanager 装饰器可以将一个生成器函数转换成一个上下文管理器。生成器函数中的 yield 语句之前的代码会在进入上下文时执行而 yield 语句之后的代码会在退出上下文时执行。 dist.barrier() 这里首先获取每个节点的local_rank大于0说明不是主进程dist.barrier() 是 PyTorch 中分布式通信库 torch.distributed 提供的一个同步操作它的作用是在分布式环境中同步所有参与通信的进程确保它们在某一点上同时到达了同步点。 在分布式训练中dist.barrier()的作用通常是用来同步各个进程的执行以保证它们在某个重要的时刻处于同步状态。当一个进程调用了dist.barrier()后它会被阻塞直到所有参与通信的进程也都调用了dist.barrier()此时所有进程才会解除阻塞继续执行后续的代码。 具体来说dist.barrier() 的作用有以下几点 同步数据加载在数据加载完毕之后可以使用 dist.barrier() 来确保所有进程都已经加载完数据然后再开始训练。同步模型初始化在模型初始化完成之后可以使用 dist.barrier() 来确保所有进程都已经初始化完成然后再开始训练。同步参数更新在每个训练步骤中可以使用 dist.barrier() 来确保所有进程都已经计算完梯度并更新了参数然后再进行下一步的计算。同步模型评估在模型评估阶段可以使用 dist.barrier() 来确保所有进程都已经完成了评估任务然后再进行汇总或其他后续操作。 结合上面两段代码来看在进入上下文后每个节点的非主进程会阻塞在yield前的dist.barrier()处而主进程则会执行self.get_dataset()读取数据在每个节点的主进程都执行完self.get_dataset()后会退出上下文此时非主进程还是停留在yield前的dist.barrier()处而主进程则会执行yield后的dist.barrier()当所有进程都调用了dist.barrier()后所有进程的阻塞被解除继续执行后续的代码。
http://www.pierceye.com/news/998597/

相关文章:

  • 青岛网站建设方案优化宋祖儿在哪个网站做网红
  • 莆田网站制作价格wordpress占用带宽
  • 网站用图片做背景搜索引擎推广一般包括哪些
  • 网站首页设计html代码可以发广告的平台
  • 做网站的技术哪个简单泰安吧贴吧
  • 网站制作厂家政务网站开发方案
  • 爱站工具卡片式网站
  • 计算机网站开发图片湛江城乡建设局网站
  • 广州个性化网站开发代做网站关键词
  • 如何开发一个手机网站北京推广网站
  • 企业网站建设合作合同wordpress国产定制主题
  • 万网虚拟机怎么做两个网站网页设计实训步骤
  • 福田做网站公司怎么选择wordpress怎样在列表页使用瀑布流
  • 做导航网站用多大的空间广州天河区有哪些大学
  • 广州市城乡建设部网站首页做婚礼设计在哪个网站下载素材
  • 网站建设推广服务合同范本什么是电子商务专业?
  • 青岛网站建设公司电话棋牌室的网站怎么做
  • 网站更改公司需要重新备案吗传媒网站
  • 海诚网站建设青岛李村网站设计公司
  • 哪个网站可以宣传做的蛋糕网站商城微信支付接口申请
  • 如何做淘客推广网站可信赖的手机网站设计
  • 西城专业网站建设公司哪家好外贸网站优化谷歌关键词排名
  • 先做网站后备案仿做网站可以整站下载器吧
  • ASP.NET实用网站开发 课后答案开发网站过程
  • 做网站需要编码吗仿站网站源码
  • 响应式网站什么意思爱南宁app下载官网最新
  • 自己做的网站怎么添加采集模块网站管理包括哪些内容
  • php做网站验证码的设计电商网站的二级怎么做
  • 广西网站建设价钱微信crm管理系统
  • 福州网站建设公司中小企业荆门市城乡建设管理局网站