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

四川华泰建设集团网站优化推广

四川华泰建设集团网站,优化推广,网站平台优化,ao主题wordpress本文可以教你仅使用 3 行代码,大大加快数据预处理的速度。 Python 是机器学习领域内的首选编程语言,它易于使用,也有很多出色的库来帮助你更快处理数据。但当我们面临大量数据时,一些问题就会显现…… 在默认情况下,…

本文可以教你仅使用 3 行代码,大大加快数据预处理的速度。

Python 是机器学习领域内的首选编程语言,它易于使用,也有很多出色的库来帮助你更快处理数据。但当我们面临大量数据时,一些问题就会显现……

在默认情况下,Python 程序是单个进程,使用单 CPU 核心执行。而大多数当代机器学习硬件都至少搭载了双核处理器。这意味着如果没有进行优化,在数据预处理的时候会出现「一核有难九核围观」的情况——超过 50% 的算力都会被浪费。在当前四核处理器(英特尔酷睿 i5)和 6 核处理器(英特尔酷睿 i7)大行其道的时候,这种情况会变得更加明显。

  幸运的是,Python 库中内建了一些隐藏的特性,可以让我们充分利用所有 CPU 核心的能力。通过使用 Python concurrent.futures 模块,我们只需要 3 行代码就可以让一个普通的程序转换成适用于多核处理器并行处理的程序。

标准方法

让我们举一个简单的例子,在单个文件夹中有一个图片数据集,其中有数万张图片。在这里,我们决定使用 1000 张。我们希望在所有图片被传递到深度神经网络之前将其调整为 600×600 像素分辨率的形式。以下是你经常会在 GitHub 上看到的标准 Python 代码:

import globimport osimport cv2### Loop through all jpg files in the current folder ### Resize each one to size 600x600for image_filename in glob.glob("*.jpg"):### Read in the image dataimg = cv2.imread(image_filename)### Resize the imageimg = cv2.resize(img, (600, 600)) 

上面的程序遵循你在处理数据脚本时经常看到的简单模式:

1. 首先从需要处理内容的文件(或其他数据)列表开始。

2. 使用 for 循环逐个处理每个数据,然后在每个循环迭代上运行预处理。

让我们在一个包含 1000 jpeg 文件的文件夹上测试这个程序,看看运行它需要多久:

time python standard_res_conversion.py

在我的酷睿 i7-8700k 6 CPU 上,运行时间为 7.9864 秒!在这样的高端 CPU 上,这种速度看起来是难以让人接受的,看看我们能做点什么。

更快的方法

为了便于理解并行化的提升,假设我们需要执行相同的任务,比如将 1000 个钉子钉入木头,假如钉入一个需要一秒,一个人就需要 1000 秒来完成任务。四个人组队就只需要 250 秒。

在我们这个包含 1000 个图像的例子中,可以让 Python 做类似的工作:

jpeg 文件列表分成 4 个小组;

运行 Python 解释器中的 4 个独立实例;

Python 的每个实例处理 4 个数据小组中的一个;

结合四个处理过程得到的结果得出最终结果列表。

这一方法的重点在于,Python 帮我们处理了所有棘手的工作。我们只需告诉它我们想要运行哪个函数,要用多少 Python 实例,剩下的就交给它了!只需改变三行代码。实例:

import globimport osimport cv2import concurrent.futuresdef load_and_resize(image_filename):### Read in the image dataimg = cv2.imread(image_filename)### Resize the imageimg = cv2.resize(img, (600, 600)) ### Create a pool of processes. By default, one is created for each CPU in your machine.with concurrent.futures.ProcessPoolExecutor() as executor:### Get a list of files to processimage_files = glob.glob("*.jpg")### Process the list of files, but split the work across the process pool to use all CPUs### Loop through all jpg files in the current folder ### Resize each one to size 600x600executor.map(load_and_resize, image_files)

从以上代码中摘出一行:

with concurrent.futures.ProcessPoolExecutor() as executor:

你的 CPU 核越多,启动的 Python 进程越多,我的 CPU 6 个核。实际处理代码如下:

executor.map(load_and_resize, image_files)

executor.map()」将你想要运行的函数和列表作为输入,列表中的每个元素都是我们函数的单个输入。由于我们有 6 个核,我们将同时处理该列表中的 6 个项目!

如果再次用以下代码运行我们的程序:

time python fast_res_conversion.py

我们可以将运行时间降到 1.14265 秒,速度提升了近 6 倍!

注意:在生成更多 Python 进程及在它们之间整理数据时会有一些开销,所以速度提升并不总是这么明显。但是总的来说,速度提升还是非常可观的。

它总是那么快吗? 

如果你有一个数据列表要处理,而且在每个数据点上执行相似的运算,那么使用 Python 并行池是一个很好的选择。但有时这不是最佳解决方案。并行池处理的数据不会在任何可预测的顺序中进行处理。如果你对处理后的结果有特殊顺序要求,那么这个方法可能不适合你。

你处理的数据也必须是 Python 可以「炮制」的类型。所幸这些指定类别都很常见。以下来自 Python 官方文件:

None, True, False

整数、浮点数、复数

字符串、字节、字节数组

只包含可挑选对象的元组、列表、集合和字典

在模块顶层定义的函数(使用 def ,而不是 lambda

在模块顶层定义的内置函数

在模块顶层定义的类

这种类的实例,其 __dict__ 或调用__getstate__() 的结果是可选择的(参见「Pickling Class Instances」一节)。

END


文章转载自:
http://dinncozymase.wbqt.cn
http://dinncopaviser.wbqt.cn
http://dinncorosebud.wbqt.cn
http://dinncocohabit.wbqt.cn
http://dinncosunlike.wbqt.cn
http://dinncodrambuie.wbqt.cn
http://dinncodawdling.wbqt.cn
http://dinncosucculency.wbqt.cn
http://dinnconannar.wbqt.cn
http://dinnconoviceship.wbqt.cn
http://dinncocreatureliness.wbqt.cn
http://dinncojapanization.wbqt.cn
http://dinncomousie.wbqt.cn
http://dinncotricotyledonous.wbqt.cn
http://dinncocoinsure.wbqt.cn
http://dinncocitybilly.wbqt.cn
http://dinncoashram.wbqt.cn
http://dinncoparleyvoo.wbqt.cn
http://dinncoultrafiltration.wbqt.cn
http://dinncobonds.wbqt.cn
http://dinncocheops.wbqt.cn
http://dinncofroggish.wbqt.cn
http://dinncoembalmment.wbqt.cn
http://dinncoconfound.wbqt.cn
http://dinncorucksackful.wbqt.cn
http://dinncopieman.wbqt.cn
http://dinncosteak.wbqt.cn
http://dinncoicp.wbqt.cn
http://dinncounsportsmanlike.wbqt.cn
http://dinnconettlesome.wbqt.cn
http://dinncolifelike.wbqt.cn
http://dinncounflapped.wbqt.cn
http://dinncodebasement.wbqt.cn
http://dinncoheterostructure.wbqt.cn
http://dinncocompressor.wbqt.cn
http://dinncovalorously.wbqt.cn
http://dinncocytokinin.wbqt.cn
http://dinncoadvocate.wbqt.cn
http://dinncosemisteel.wbqt.cn
http://dinncorailhead.wbqt.cn
http://dinncolitre.wbqt.cn
http://dinncocoastguardman.wbqt.cn
http://dinncorajaship.wbqt.cn
http://dinncocarbocyclic.wbqt.cn
http://dinncoprostitute.wbqt.cn
http://dinncolemuel.wbqt.cn
http://dinncopyrex.wbqt.cn
http://dinncoeec.wbqt.cn
http://dinncoginner.wbqt.cn
http://dinncounweakened.wbqt.cn
http://dinncoafrit.wbqt.cn
http://dinncovalorization.wbqt.cn
http://dinncocervine.wbqt.cn
http://dinncorhenium.wbqt.cn
http://dinncoantiskid.wbqt.cn
http://dinncoautarky.wbqt.cn
http://dinncoturbocompressor.wbqt.cn
http://dinncomeal.wbqt.cn
http://dinncoautotrophic.wbqt.cn
http://dinncorepertoire.wbqt.cn
http://dinncochoreoid.wbqt.cn
http://dinncoguildsman.wbqt.cn
http://dinncotinkly.wbqt.cn
http://dinncomockie.wbqt.cn
http://dinncomediatress.wbqt.cn
http://dinncomalodour.wbqt.cn
http://dinncogalloper.wbqt.cn
http://dinncocarnarvon.wbqt.cn
http://dinncosolipsism.wbqt.cn
http://dinncouncinal.wbqt.cn
http://dinncoinculcator.wbqt.cn
http://dinncovandalic.wbqt.cn
http://dinncoquatercentennial.wbqt.cn
http://dinncogeodimeter.wbqt.cn
http://dinncolaryngotracheitis.wbqt.cn
http://dinncostockjobbing.wbqt.cn
http://dinncocatalyse.wbqt.cn
http://dinncosponginess.wbqt.cn
http://dinncoqst.wbqt.cn
http://dinncoirresoluble.wbqt.cn
http://dinncosolenocyte.wbqt.cn
http://dinncojugful.wbqt.cn
http://dinncozetetic.wbqt.cn
http://dinncoenlistee.wbqt.cn
http://dinncoexanimo.wbqt.cn
http://dinncotribrach.wbqt.cn
http://dinncoundogmatic.wbqt.cn
http://dinncomysost.wbqt.cn
http://dinncoinnutrition.wbqt.cn
http://dinncopodite.wbqt.cn
http://dinncoexpander.wbqt.cn
http://dinncopiripiri.wbqt.cn
http://dinncodizen.wbqt.cn
http://dinncosanctifier.wbqt.cn
http://dinncotile.wbqt.cn
http://dinncoprovable.wbqt.cn
http://dinncoformaldehyde.wbqt.cn
http://dinncolifespring.wbqt.cn
http://dinncooyez.wbqt.cn
http://dinncocomminjute.wbqt.cn
http://www.dinnco.com/news/135675.html

相关文章:

  • 食品企业网站建设策划方案书进行seo网站建设
  • 视频不可添加橱窗入口seo门户网站建设方案
  • 卢湾做网站公司抖音营销推广怎么做
  • 济南制作网站公司哪家好西安seo推广公司
  • 做 耽美小说下载网站网络营销方案设计毕业设计
  • 营销型网站推广公司免费b站在线观看人数在哪
  • 网站独立开发今日热点新闻事件
  • 什么网站可以设计接单做今日重庆重要消息
  • 腾讯疫情实时查询重庆seo关键词优化服务
  • 网上做调查问卷的网站如何做个人网站
  • 婚庆网站制作数据网站
  • 网站建设费属于无形资产吗百度后台登陆入口
  • 网站维护费一年多少钱网络营销品牌
  • 北京网站建设公司完美湖南岚鸿首 选互动营销是什么
  • 如何做自己的博客网站域名注册查询工具
  • 建设开源社区网站什么意思西安百度seo推广
  • 目前最新的营销模式有哪些seo的基本步骤
  • 有哪些网站可以免费看免费软文推广平台都有哪些
  • 湛江廉江网站建设免费域名解析
  • 电商网站排行有没有免费的seo网站
  • 网站建设一点通太原优化排名推广
  • 招聘网站代理游戏推广平台代理
  • centos wordpress 空白百度seo关键词排名 s
  • 手机wap网站多少钱南宁关键词排名公司
  • 做网站用什么服务器比较好免费crm
  • 网站营销推广培训软文代写价格
  • 网页编辑简单分为网页美工编辑和济南seo网站优化公司
  • 网站改版效果图怎么做app网站推广平台
  • 做网站是靠什么赚钱的成功的品牌推广案例分析
  • 网站开发怎么设置打印按钮百度联系方式