<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是NumPy?選擇NUMPY的原因及其工作原理是什么

NVIDIA英偉達 ? 來源:NVIDIA英偉達 ? 作者:NVIDIA英偉達 ? 2022-07-15 09:37 ? 次閱讀

NumPy 是一個免費的開源 Python 庫,用于 n 維數組(也稱為張量)處理和數值計算。

什么是 NUMPY?

NumPy 是一個免費的 Python 編程語言開源庫,它功能強大、已經過充分優化,并增加了對大型多維數組(也稱為矩陣或張量)的支持。NumPy 還提供了一系列高級數學函數,可與這些數組結合使用。其中包括基本的線性代數、隨機模擬、傅立葉變換、三角運算和統計運算。

NumPy 代表 “numerical Python”,基于早期的 Numeric 和 Numarray 庫構建而成,旨在為 Python 提供快速的數字計算。如今,NumPy 貢獻者眾多,并得到了 NumFOCUS 的贊助。

作為科學計算的核心庫,NumPy 是 Pandas、Scikit-learnSciPy等庫的基礎。它廣泛應用于在大型數組上執行優化的數學運算。

選擇 NUMPY 的原因及其工作原理

多維數組是 NumPy 庫的中心數據結構,通常代表值的網格。NumPy 的 ndarray 是一個同構的 n 維數組對象,描述了類似類型的元素或項的集合。在這些ndarrays中,每個項都包含大小相同的內存塊,且每個內存塊都采用同一識別方式。這能夠高效、快速、輕松地處理科學計算的數據。

29357f4a-0377-11ed-ba43-dac502259ad0.png

NumPy 數組運算速度比 Python Lists 要快,因為 NumPy 數組是類似數據類型的編譯,并且在內存中密集打包。相比之下,Python Lists 可以具有不同的數據類型,在系統執行計算時會增加對這些數據類型的限制。

| NumPy 的優勢

NumPy 具有以下重要優勢和特性:

  • NumPy 的 ndarray 計算概念是 Python 和 PyData 科學生態系統的核心。

  • NumPy 為高度優化的 C 函數提供了 Python 前端,可提供簡單的 Python 接口,并實現編譯代碼的速度。

  • NumPy 強大的 N 維數組對象可與各種庫集成。

  • 與使用 Python 的內置列表相比,NumPy 數組可以更高效地使用大型數據集來執行高級數學運算,且使用的代碼更少。對于大小和速度至關重要的科學計算序列而言,這一點至關重要。

NUMPY 的重要意義

NumPy 讓數據科學家更易于使用 Python 并提供了 C 級優化,有助于快速創建高效代碼,進行探索數據分析和模型構建。如今,要想在科學計算領域取得成功,對算法進行快速原型設計必不可少,而這二者的實現對此至關重要。因此,可以使用 NumPy 在 Python 中實現多維數據通信。

利用 PYTHON 進行 GPU 加速計

在架構方面,CPU 僅由幾個具有大緩存內存的核心組成,一次只可以處理幾個軟件線程。相比之下,GPU 由數百個核心組成,可以同時處理數千個線程。

29410afe-0377-11ed-ba43-dac502259ad0.png

NumPy 已成為在 Python 中實現多維數據通信的實際方法。然而,對于多核 GPU,這種實施并非最佳。因此,對于較新的針對 GPU 優化的庫實施 Numpy 數組或與 Numpy 數組進行互操作。

NVIDIACUDA是 NVIDIA 專為 GPU 通用計算開發的并行計算平臺和編程模型。CUDA 數組接口是描述 GPU 數組(張量)的標準格式,允許在不同的庫之間共享 GPU 數組,而無需復制或轉換數據。CUDA 數組由 Numba、CuPy、MXNet 和 PyTorch 提供支持。

  • CuPy是一個利用 GPU 庫在 NVIDIA GPU 上實施 NumPy CUDA 數組的庫。

  • Numba是一個 Python 編譯器,可以編譯 Python 代碼,以在支持 CUDA 的 GPU 上執行。Numba 直接支持 NumPy 數組。

  • Apache MXNet是一個靈活高效的深度學習庫??梢允褂盟?NDArray 將模型的輸入和輸出表示和操作為多維數組。NDArray 類似于 NumPy 的 ndarray,但它們可以在 GPU 上運行,以加速計算。

  • PyTorch是一種開源深度學習框架,以出色的靈活性和易用性著稱。Pytorch Tensors 與 NumPy 的 ndarray 類似,但它們可以在 GPU 上運行,加速計算。

NVIDIA GPU 加速的端到端數據科學

基于CUDA-X AI創建的 NVIDIARAPIDS開源軟件庫套件使您完全能夠在 GPU 上執行端到端數據科學和分析流程。此套件依靠 NVIDIA CUDA 基元進行低級別計算優化,但通過用戶友好型 Python 接口實現了 GPU 并行化和高帶寬顯存速度。

借助 RAPIDS GPU DataFrame,數據可以通過一個類似 Pandas 的接口加載到 GPU 上,然后用于各種連接的機器學習和圖形分析算法,而無需離開 GPU。這種級別的互操作性是通過 Apache Arrow 這樣的庫實現的。僅需一行代碼,即可從 NumPy 數組、Pandas DataFrame 和 PyArrow 表格創建 GPU 數據框。其他項目可以使用數組接口交換 CUDA 數據。這可加速端到端流程(從數據準備到機器學習,再到深度學習)。

29515134-0377-11ed-ba43-dac502259ad0.png

RAPIDS 支持在許多熱門數據科學庫之間共享設備內存。這樣可將數據保留在 GPU 上,并省去了來回復制主機內存的高昂成本。

29756a24-0377-11ed-ba43-dac502259ad0.png











審核編輯:劉清
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • gpu
    gpu
    +關注

    關注

    27

    文章

    4490

    瀏覽量

    127349
  • 數據通信
    +關注

    關注

    2

    文章

    418

    瀏覽量

    33578
  • python
    +關注

    關注

    52

    文章

    4700

    瀏覽量

    83647

原文標題:NVIDIA 大講堂 | 什么是 NUMPY?

文章出處:【微信號:NVIDIA_China,微信公眾號:NVIDIA英偉達】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linux的numpy安裝步驟

    今天想使用pyspark的交互模式下執行from pyspark.mllib.regression import LabeledPoint時,報了下面這個錯誤,錯誤提示沒有安裝numpy
    發表于 07-24 06:47

    Numpy的學習總結

    Numpy學習筆記
    發表于 07-16 08:27

    基于NumPy的pandas工具

    :pandas 是基于NumPy 的一種工具,該工具是為了解決數據分析任務而創建的。二、使用步驟1.引入庫代碼如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport
    發表于 08-16 08:47

    SoC中如何使用OpenCV?導入cv2程序提示找不到numpynumpy導入失敗是怎么回事?

    SoC中如何使用OpenCV?導入cv2,程序提示找不到numpynumpy導入失???
    發表于 09-19 08:00

    Python中NumPy擴展包簡介及案例詳解

    NumPy是Python語言的一個擴展包。支持多維數組與矩陣運算,此外也針對數組運算提供大量的數學函數庫。NumPy提供了與Matlab相似的功能與操作方式,因為兩者皆為直譯語言。 NumPy通常
    發表于 11-15 12:31 ?1900次閱讀

    Python的兩個基礎包numpy和Matplotlib示例詳解

    Python的科學計算包 - Numpy numpy(Numerical Python extensions)是一個第三方的Python包,用于科學計算。這個庫的前身是1995年就開始開發的一個用于
    發表于 11-15 18:36 ?5315次閱讀

    靈活運用Python中numpy庫的矩陣運算

    Python的numpy庫提供矩陣運算的功能,因此我們在需要矩陣運算的時候,需要導入numpy的包。 1.numpy的導入和使用 from numpy import *;#導入
    發表于 11-15 20:07 ?2210次閱讀

    基于python的numpy深度解析

    numpy(Numerical Python)提供了python對多維數組對象的支持:ndarray,具有矢量運算能力,快速、節省空間。numpy支持高級大量的維度數組與矩陣運算,此外也針對數組運算提供大量的數學函數庫。
    的頭像 發表于 01-24 13:55 ?5052次閱讀
    基于python的<b class='flag-5'>numpy</b>深度解析

    最詳細的 NumPy 圖解教程!

    NumPy是Python中用于數據分析、機器學習、科學計算的重要軟件包。它極大地簡化了向量和矩陣的操作及處理。python的不少數據處理軟件包依賴于NumPy作為其基礎架構的核心部分(例如
    的頭像 發表于 06-09 18:03 ?2161次閱讀
    最詳細的 <b class='flag-5'>NumPy</b> 圖解教程!

    Numpy詳解-軸的概念

    NumPy數組的維數稱為秩(rank),一維數組的秩為1,二維數組的秩為2,以此類推。在NumPy中,每一個線性的數組稱為是一個軸(axes),秩其實是描述軸的數量。
    的頭像 發表于 04-25 10:25 ?2639次閱讀

    Numpy數組的高級操作總結

    NumPy 包含一個迭代器對象numpy.nditer。它是一個有效的多維迭代器對象,可以用于在數組上進行迭代。數組的每個元素可使用 Python 的標準Iterator接口來訪問。
    的頭像 發表于 05-13 12:53 ?1166次閱讀

    詳解Python中的Pandas和Numpy

    pandas、numpy是Python數據科學中非常常用的庫,numpy是Python的數值計算擴展,專門用來處理矩陣,它的運算效率比列表更高效。
    的頭像 發表于 05-25 12:49 ?2081次閱讀

    Python編程語言開源庫NUMPY工作原理及優勢

    NumPy 是一個免費的 Python 編程語言開源庫,它功能強大、已經過充分優化,并增加了對大型多維數組(也稱為矩陣或張量)的支持。NumPy 還提供了一系列高級數學函數,可與這些數組結合使用。其中包括基本的線性代數、隨機模擬、傅立葉變換、三角運算和統計運算。
    的頭像 發表于 07-15 09:35 ?1447次閱讀

    一文詳解Numpy的高級操作

    NumPy 包含一個迭代器對象numpy.nditer。它是一個有效的多維迭代器對象,可以用于在數組上進行迭代。數組的每個元素可使用 Python 的標準Iterator接口來訪問。
    的頭像 發表于 07-19 09:57 ?977次閱讀

    List和Numpy Array有什么區別

    Numpy 是Python科學計算的一個核心模塊。它提供了非常高效的數組對象,以及用于處理這些數組對象的工具。一個Numpy數組由許多值組成,所有值的類型是相同的。 Python的核心庫提供
    的頭像 發表于 10-30 10:49 ?411次閱讀
    List和<b class='flag-5'>Numpy</b> Array有什么區別
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>