校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Python多進程共享numpy 數(shù)組的方法

Python多進程共享numpy 數(shù)組的方法

熱門標簽:電梯新時達系統(tǒng)外呼顯示e 西青語音電銷機器人哪家好 無錫智能外呼系統(tǒng)好用嗎 地圖標注與注銷 南昌地圖標注 成都呼叫中心外呼系統(tǒng)哪家強 百應電話機器人總部 旅游廁所地圖標注怎么弄 宿州電話機器人哪家好

為什么要用numpy

    Python中提供了list容器,可以當作數(shù)組使用。但列表中的元素可以是任何對象,因此列表中保存的是對象的指針,這樣一來,為了保存一個簡單的列表[1,2,3]。就需要三個指針和三個整數(shù)對象。對于數(shù)值運算來說,這種結構顯然不夠高效。
    Python雖然也提供了array模塊,但其只支持一維數(shù)組,不支持多維數(shù)組(在TensorFlow里面偏向于矩陣理解),也沒有各種運算函數(shù)。因而不適合數(shù)值運算。
    NumPy的出現(xiàn)彌補了這些不足。

引用:https://zhuanlan.zhihu.com/p/32513483

共享 numpy 數(shù)組

需要用到 numpy 時往往是數(shù)據(jù)量較大的場景,如果直接復制會造成大量內(nèi)存浪費。共享 numpy 數(shù)組則是通過上面一節(jié)的 Array 實現(xiàn),再用 numpy.frombuffer 以及 reshape 對共享的內(nèi)存封裝成 numpy 數(shù)組,代碼如下:

# encoding:utf8
import ctypes
import os
import multiprocessing

import numpy as np

NUM_PROCESS = multiprocessing.cpu_count()


def worker(index):
    main_nparray = np.frombuffer(shared_array_base, dtype=ctypes.c_double)
    main_nparray = main_nparray.reshape(NUM_PROCESS, 10)
    pid = os.getpid()
    main_nparray[index, :] = pid
    return pid


if __name__ == "__main__":
    shared_array_base = multiprocessing.Array(
        ctypes.c_double, NUM_PROCESS * 10, lock=False)
    pool = multiprocessing.Pool(processes=NUM_PROCESS)
    result = pool.map(worker, range(NUM_PROCESS))
    main_nparray = np.frombuffer(shared_array_base, dtype=ctypes.c_double)
    main_nparray = main_nparray.reshape(NUM_PROCESS, 10)
    print( main_nparray )

運行結果:

到此這篇關于Python多進程共享numpy 數(shù)組的方法的文章就介紹到這了,更多相關Python多進程共享numpy 數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 分析詳解python多線程與多進程區(qū)別
  • 手把手帶你了解python多進程,多線程
  • 總結python多進程multiprocessing的相關知識
  • Python多線程與多進程相關知識總結
  • python實現(xiàn)多進程并發(fā)控制Semaphore與互斥鎖LOCK
  • python 多進程和多線程使用詳解
  • python 實現(xiàn)多進程日志輪轉ConcurrentLogHandler
  • Python多進程與多線程的使用場景詳解
  • python多進程執(zhí)行方法apply_async使用說明
  • Python 多進程原理及實現(xiàn)
  • python多線程和多進程關系詳解
  • Python多進程的使用詳情

標簽:許昌 贛州 七臺河 西安 雅安 濰坊 辛集 渭南

巨人網(wǎng)絡通訊聲明:本文標題《Python多進程共享numpy 數(shù)組的方法》,本文關鍵詞  Python,多,進程,共享,numpy,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python多進程共享numpy 數(shù)組的方法》相關的同類信息!
  • 本頁收集關于Python多進程共享numpy 數(shù)組的方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 永德县| 高碑店市| 安宁市| 洪泽县| 乌海市| 牟定县| 湘阴县| 南开区| 崇仁县| 杭锦后旗| 昆明市| 平陆县| 阿拉尔市| 伊宁市| 习水县| 台安县| 彭水| 靖江市| 武宁县| 十堰市| 肥乡县| 武定县| 四子王旗| 陆丰市| 遂昌县| 饶平县| 茶陵县| 维西| 桂阳县| 长子县| 股票| 天等县| 石家庄市| 乌拉特前旗| 郴州市| 嘉禾县| 赤水市| 双流县| 溧阳市| 长丰县| 江源县|