中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

四川華泰建設(shè)集團(tuán)網(wǎng)站網(wǎng)絡(luò)營銷渠道策略有哪些

四川華泰建設(shè)集團(tuán)網(wǎng)站,網(wǎng)絡(luò)營銷渠道策略有哪些,上海企業(yè)網(wǎng)站制作哪家專業(yè),網(wǎng)站空間建站本文可以教你僅使用 3 行代碼,大大加快數(shù)據(jù)預(yù)處理的速度。 Python 是機(jī)器學(xué)習(xí)領(lǐng)域內(nèi)的首選編程語言,它易于使用,也有很多出色的庫來幫助你更快處理數(shù)據(jù)。但當(dāng)我們面臨大量數(shù)據(jù)時,一些問題就會顯現(xiàn)…… 在默認(rèn)情況下,…

本文可以教你僅使用 3 行代碼,大大加快數(shù)據(jù)預(yù)處理的速度。

Python 是機(jī)器學(xué)習(xí)領(lǐng)域內(nèi)的首選編程語言,它易于使用,也有很多出色的庫來幫助你更快處理數(shù)據(jù)。但當(dāng)我們面臨大量數(shù)據(jù)時,一些問題就會顯現(xiàn)……

在默認(rèn)情況下,Python 程序是單個進(jìn)程,使用單 CPU 核心執(zhí)行。而大多數(shù)當(dāng)代機(jī)器學(xué)習(xí)硬件都至少搭載了雙核處理器。這意味著如果沒有進(jìn)行優(yōu)化,在數(shù)據(jù)預(yù)處理的時候會出現(xiàn)「一核有難九核圍觀」的情況——超過 50% 的算力都會被浪費(fèi)。在當(dāng)前四核處理器(英特爾酷睿 i5)和 6 核處理器(英特爾酷睿 i7)大行其道的時候,這種情況會變得更加明顯。

? 幸運(yùn)的是,Python 庫中內(nèi)建了一些隱藏的特性,可以讓我們充分利用所有 CPU 核心的能力。通過使用 Python concurrent.futures 模塊,我們只需要 3 行代碼就可以讓一個普通的程序轉(zhuǎn)換成適用于多核處理器并行處理的程序。

標(biāo)準(zhǔn)方法

讓我們舉一個簡單的例子,在單個文件夾中有一個圖片數(shù)據(jù)集,其中有數(shù)萬張圖片。在這里,我們決定使用 1000 張。我們希望在所有圖片被傳遞到深度神經(jīng)網(wǎng)絡(luò)之前將其調(diào)整為 600×600 像素分辨率的形式。以下是你經(jīng)常會在 GitHub 上看到的標(biāo)準(zhǔn) 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))?

上面的程序遵循你在處理數(shù)據(jù)腳本時經(jīng)常看到的簡單模式:

1. 首先從需要處理內(nèi)容的文件(或其他數(shù)據(jù))列表開始。

2. 使用 for 循環(huán)逐個處理每個數(shù)據(jù),然后在每個循環(huán)迭代上運(yùn)行預(yù)處理。

讓我們在一個包含 1000 jpeg 文件的文件夾上測試這個程序,看看運(yùn)行它需要多久:

time?python?standard_res_conversion.py

在我的酷睿 i7-8700k 6 CPU 上,運(yùn)行時間為 7.9864 秒!在這樣的高端 CPU 上,這種速度看起來是難以讓人接受的,看看我們能做點什么。

更快的方法

為了便于理解并行化的提升,假設(shè)我們需要執(zhí)行相同的任務(wù),比如將 1000 個釘子釘入木頭,假如釘入一個需要一秒,一個人就需要 1000 秒來完成任務(wù)。四個人組隊就只需要 250 秒。

在我們這個包含 1000 個圖像的例子中,可以讓 Python 做類似的工作:

jpeg 文件列表分成 4 個小組;

運(yùn)行 Python 解釋器中的 4 個獨(dú)立實例;

Python 的每個實例處理 4 個數(shù)據(jù)小組中的一個;

結(jié)合四個處理過程得到的結(jié)果得出最終結(jié)果列表。

這一方法的重點在于,Python 幫我們處理了所有棘手的工作。我們只需告訴它我們想要運(yùn)行哪個函數(shù),要用多少 Python 實例,剩下的就交給它了!只需改變?nèi)写a。實例:

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 進(jìn)程越多,我的 CPU 6 個核。實際處理代碼如下:

executor.map(load_and_resize,?image_files)

executor.map()」將你想要運(yùn)行的函數(shù)和列表作為輸入,列表中的每個元素都是我們函數(shù)的單個輸入。由于我們有 6 個核,我們將同時處理該列表中的 6 個項目!

如果再次用以下代碼運(yùn)行我們的程序:

time?python?fast_res_conversion.py

我們可以將運(yùn)行時間降到 1.14265 秒,速度提升了近 6 倍!

注意:在生成更多 Python 進(jìn)程及在它們之間整理數(shù)據(jù)時會有一些開銷,所以速度提升并不總是這么明顯。但是總的來說,速度提升還是非常可觀的。

它總是那么快嗎??

如果你有一個數(shù)據(jù)列表要處理,而且在每個數(shù)據(jù)點上執(zhí)行相似的運(yùn)算,那么使用 Python 并行池是一個很好的選擇。但有時這不是最佳解決方案。并行池處理的數(shù)據(jù)不會在任何可預(yù)測的順序中進(jìn)行處理。如果你對處理后的結(jié)果有特殊順序要求,那么這個方法可能不適合你。

你處理的數(shù)據(jù)也必須是 Python 可以「炮制」的類型。所幸這些指定類別都很常見。以下來自 Python 官方文件:

None, True, False

整數(shù)、浮點數(shù)、復(fù)數(shù)

字符串、字節(jié)、字節(jié)數(shù)組

只包含可挑選對象的元組、列表、集合和字典

在模塊頂層定義的函數(shù)(使用 def ,而不是 lambda

在模塊頂層定義的內(nèi)置函數(shù)

在模塊頂層定義的類

這種類的實例,其 __dict__ 或調(diào)用__getstate__() 的結(jié)果是可選擇的(參見「Pickling Class Instances」一節(jié))。

END

http://www.risenshineclean.com/news/33459.html

相關(guān)文章:

  • 網(wǎng)站更換服務(wù)器影響網(wǎng)站優(yōu)化的主要內(nèi)容
  • 有個網(wǎng)站可以學(xué)做ppt模板十大營銷案例分析
  • 任何網(wǎng)站都可以做谷歌推廣的嗎專業(yè)的網(wǎng)頁制作公司
  • 新塘做網(wǎng)站東莞有哪些做推廣的網(wǎng)站
  • 榆林國貿(mào)網(wǎng)站建設(shè)怎么做關(guān)鍵詞排名靠前
  • 新疆錦旭建設(shè)工程公司網(wǎng)站seo信息優(yōu)化
  • 比較出名的文創(chuàng)產(chǎn)品南寧百度seo
  • 深圳 微網(wǎng)站建設(shè)ydgcm獎券世界推廣網(wǎng)站
  • 如何判斷網(wǎng)站html5上海高端seo公司
  • 網(wǎng)站開源模板百度指數(shù)排名明星
  • app平臺網(wǎng)站搭建潮州seo建站
  • 雙語網(wǎng)站建設(shè)報價百度鏈接提交收錄入口
  • dw網(wǎng)頁設(shè)計期末作業(yè)seo的主要分析工具
  • 公司網(wǎng)站設(shè)計方案網(wǎng)站查詢是否安全
  • 天津做網(wǎng)站哪個公司好seo排名優(yōu)化工具推薦
  • 做游戲開發(fā)需要學(xué)哪些技術(shù)優(yōu)化大師下載安裝app
  • 網(wǎng)站建設(shè) 長沙百度推廣怎么提高關(guān)鍵詞排名
  • 勝芳網(wǎng)站建設(shè)qiansi全國疫情最新情況公布
  • 前端怎么做電商網(wǎng)站網(wǎng)絡(luò)營銷和網(wǎng)絡(luò)銷售的關(guān)系
  • 做論壇網(wǎng)站需要哪些前置審批申請一個網(wǎng)站需要多少錢
  • 網(wǎng)站域名備案需要資料網(wǎng)站內(nèi)鏈優(yōu)化
  • 專業(yè)的營銷型網(wǎng)站最新報價網(wǎng)絡(luò)推廣策劃
  • 怎么給網(wǎng)站做aapseo優(yōu)化專家
  • 廈網(wǎng)站建設(shè)培訓(xùn)學(xué)校創(chuàng)建網(wǎng)站要錢嗎
  • 做外貿(mào)網(wǎng)站需要什么卡西安網(wǎng)站快速排名提升
  • 外貿(mào)需要網(wǎng)站做生產(chǎn)車間展示友聯(lián)互換
  • 網(wǎng)站規(guī)劃與設(shè)計范文seo招聘網(wǎng)
  • 什么樣建網(wǎng)站百度的seo排名怎么刷
  • 建站之星怎么用國外網(wǎng)站搭建
  • 網(wǎng)站 css江門百度seo公司