计算后台线程中任意生成器的简单工具

prefetch_generator的Python项目详细描述


#基于http://stackoverflow.com/questions/7323664/python-generator-pre-fetch

这是一个单独的函数包,它将任意生成器转换为后台thead生成器,在并行后台thead中预取多批数据。

如果有一个计算量很大的进程(CPU或GPU),在生成器消耗其他资源(磁盘IO/从数据库加载/如果有未使用的内核,则有更多CPU)的同时迭代处理生成器中的小批量,则这非常有用。

默认情况下,这两个进程将不断等待对方完成。如果让生成器在预取模式下工作(参见下面的示例),它们将并行工作,可能会节省您的GPU时间。

我们个人在用TensorFlow和Theano(烤宽面条、块、生的等)迭代小批量数据进行深入学习时使用预取生成器。

快速使用示例(ipython笔记本)-https://github.com/justheuristic/prefetch_generator/blob/master/example.ipynb

此包包含两个对象
  • 背景生成器(任何其他生成器[,max_prefetch=something])
  • @背景([max_prefetch=somethind])装饰器

用法是

#对于backgroundgenerator中的批处理(my_minibatch_iterator): #doit()

#@背景() #def迭代小批量(某些参数): #如果是真的: #x=读取重文件() #x=算数(x) #y=wget_来自_pornhub() #你几乎什么都做() #产量x_批次,y_批次

更多细节写在背景生成器文档中 帮助(背景生成器)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何通过编程更改安卓中imagebutton的大小   Java Web应用程序中的angularjs路由   以更智能的方式在JUnit5(或其他测试Java库)中使用数组进行参数化   java在16位颜色深度的Graphics2D中绘制时颜色错误   java有可能在需要时从Firebase手动检索数据,以及如何组合查询?   格拉德尔爪哇。lang.NoSuchFieldError:md2   java中的循环乘法表错误   用于检测圆括号的java正则表达式   如果我们使用新字符串(“abcd”),java就是在堆中创建的字符串对象   java有没有办法让JOptionPane下拉菜单为所选选项输出数字?   javasocket与URL网站访问   java如何创建不同数据类型的列表,根据类型迭代并执行不同的操作?   java JSP获取html类型=数字输入字段的值   java Android谷歌地图圈可点击