简单的代码如下(两端代码分别同时执行):
训练

import multiprocessing.managers
from multiprocessing import Queue
import time
task_queue = Queue()
def return_task():return task_queue
class QueueManager(multiprocessing.managers.BaseManager):passif __name__ == "__main__":# 开启分布式支持multiprocessing.freeze_support()# 注册可以访问队列并得到结果的函数QueueManager.register('get_task', callable=return_task)# QueueManager.register('get_result')manager = QueueManager(address=('192.168.0.107', 8888), authkey='password'.encode('utf-8'))manager.start()task = manager.get_task()# result=manager.get_result()# 训练开始之前最好要睡眠几秒让数据先进入缓存区域epoch_b=0while epoch_b<11111111111111:epoch_b+=1# 从队列中取出任务# 训练代码放这里data = task.get()print(data.shape)# 运算时间time.sleep(1)

数据生成


import multiprocessing.managersimport torchclass QueueManager(multiprocessing.managers.BaseManager):passif __name__ == "__main__":# 开启分布式支持multiprocessing.freeze_support()# 注册可以访问队列并得到结果的函数QueueManager.register('get_task')# QueueManager.register('get_result', callable=return_result)manager = QueueManager(address=('192.168.0.107', 8888), authkey='password'.encode('utf-8'))manager.connect()# 任务队列task = manager.get_task()# 结果队列# result = manager.get_result()# 小于m 个 batchsize 就开始放入输入  大于n个batchsize 就停止放入data_block_name = torch.rand([20,1200,10000])# 这里大小看内存大小while task.qsize()<10:print(task.qsize())for i in data_block_name:task.put(i)# 根据内存调整预加载的大小while task.qsize()>=9:print(task.qsize())

上面是基础代码 应用代码可参考
https://dongfangyou.blog.csdn.net/article/details/118307032

后期会整理一个方便快捷的pytorch异步训练的完美例子

在同一台电脑上弄分布(异步)式训练相关推荐

  1. 《纽约客》特写Jeff Dean与Sanjay:谷歌唯二11级工程师,同一台电脑上写代码

    作者:<纽约客> James Somers 翻译:新浪科技 堆堆.李明 量子位 经授权转载 | 公众号 QbitAI 最近,<纽约客>杂志写了一篇长文,描述谷歌唯二11级工程师 ...

  2. Jeff Dean的激荡人生:我和Sanjay在同一台电脑上写代码

    选自NewYorker,作者:James Somers,机器之心编译. 有很多人认为,Jeff Dean 的存在是谷歌如此强大的原因,谷歌员工都把谷歌搜索惊人的速度归功于他,他也是神经网络框架 Ten ...

  3. 如何利用计算机窃取信息,震惊部 · 用非接触的方式,窃取一台电脑上的信息...

    原标题:震惊部 · 用非接触的方式,窃取一台电脑上的信息 电脑在工作的时候,无时无刻不在对外产生各种各样的影响,这一点很好理解.即使电脑没有连接网络,其正常工作的时候也免不了要和外界发生各种各样的交互 ...

  4. 移动硬盘在电脑上的设备和驱动器中没有读出来,另一台电脑上是好的

    今天不知道怎么回事,移动硬盘插到台式机上,设备和驱动器突然就没有读出来,以前都能读出来的,但是右下角硬盘的设备标志显示出来了. 插到另一台电脑上又可以读出来. 不放弃的反复试了几次还是一样. 网上描述 ...

  5. 在一台电脑上使用两个github账号

    问题描述: 我公司有一个github账号,每天工作把代码传上去,我觉得代码写的好,我同时想上传到自己的github账号上面去,但是目前只有一台电脑,如何在一台电脑上面进行设置,使这一台电脑可以同时上传 ...

  6. 如何在同一台电脑上多个账户同时登陆MSN

    一般情况下,在一台电脑上只能启动一个msn进程,所以当想多个账户在同一台电脑上同时登陆时,就无法实现了.我们可以使用MSNShell来实现多个账户的同时登陆. MSNShell下载地址:http:// ...

  7. 在同一台电脑上同时安装Python2和Python3

    目前Python的两个版本Python2和Python3同时存在,且这两个版本同时在更新与维护. 到底是选择Python2还是选择Python3,取决于当前要使用的库.框架支持哪个版本. 例如:HTM ...

  8. 在同一台电脑上同时使用IE6和IE7

    编者按:最近微软发布了IE7简体中文版,有了很多改进.毫无疑问,是Mozilla的Firefox激发了微软改良浏览器的雄心.只要简单看一下IE7的接口即可充分的证明这一点,尤其是以下这些功能:新分类的 ...

  9. 如何在同一台电脑上同时运行2个tomcat

    前段时间做的项目,由于是给手机客户端做服务器,所以客户端在开发过程中需要访问我的服务器. 问题是我也在开发,并且没有加入热部署,那么势必会造成服务器频繁重启,这也对客户端开发会产生一定的影响. 此时就 ...

最新文章

  1. Java 全能手册火了!Redis/Nginx/Dubbo/Spring 全家桶/啥都有
  2. 2014年年度工作总结--IT狂人实录
  3. 上架过程中遇到的问题
  4. 使用jsoncpp解析json文件
  5. Excel 条件格式使用方法
  6. 会看源码,你将比98.3%的人更容易拿到百度、阿里、腾讯、字节跳动等大公司的高薪Offer!请看这几个公众号!...
  7. e-r 概念模型 关系模型_数据库数据模型(分类、三要素、概念)
  8. zuul网关_Spring Cloud第五章:服务网关Zuul
  9. python中字典添加元素、其位置在哪里_如何在python字典中添加元素
  10. 华为桌面云中怎么安装mysql8_安装MySQL8.0.18步骤以及可视化工具的连接问题。
  11. c++ opengl 绘制地面_铝合金门窗设计之绘制节点图
  12. 绝地求生最新服务器维护,绝地求生更新维护公告最新:3月10日吃鸡停机维护多久 几点开始?...
  13. Google检索技巧大全
  14. GeoLite2-City.mmdb 下载方法
  15. html 弹出框显示到最顶层,layer弹出层显示在top顶层的方法
  16. 配置keepalived实现Nginx高可用(单主、双主模式)
  17. svn 报 系统找不到指定路径
  18. php用代码写的三行情书,三行情书经典语录_最美的三行情书(两行泪,一段情)
  19. Strings, bytes, runes and characters in Go
  20. 高一计算机专业班主任工作总结,【班主任工作总结报告计算机材料】

热门文章

  1. 厦门理工学院计算机科学与技术专业,厦门理工学院计算机类(含计算机科学与技术、网络工程、空间信息与专业2016年在福建理科高考录取最低分数线...
  2. mysql主备数据库配置_MySQL双主互备配置
  3. debug打印的有意思的方法
  4. html5动态气泡效果6,[jQuery]Canvas气泡动态背景效果
  5. arduino与java,Arduino具有与Java和C语言类似的IDE集成开发环境和图形化编程环境
  6. oracle fra空间不足,ORACLE 基础解决方案1_扩大FRA区
  7. Verilog初级教程(7)Verilog模块例化以及悬空端口的处理
  8. Verilog中的二维数组及其初始化
  9. 【 Verilog HDL 】循环语句总结
  10. 【 C 】对左值与右值的一些个人思考