如何使用Python使用動態陣列執行Numpy廣播?
“廣播”是指NumPy 在算術運算時如何處理不同維度的數組。較小的數組在較大的數組中“廣播”,但受到一定的限制,以確保它們的形狀是一致的。廣播允許您對數組操作進行矢量化,從而允許您在 C 而不是 Python 中循環。」
這是在不需要不必要的資料副本的情況下完成的,從而實現高效的演算法實作。在某些情況下,廣播是一個消極的想法,因為它會導致記憶體利用率的浪費,從而減慢計算速度。
在本文中,我們將向您展示如何使用 python 使用 NumPy 陣列執行廣播。
在給定資料庫上執行廣播的步驟-
步驟 1. 建立兩個維度相容的陣列
#步驟 2. 列印給定的陣列
#步驟3.對兩個陣列進行算術運算
#步驟 4. 列印結果陣列
新增兩個不同維度的資料庫
使用arange()函數建立一個由0到n-1的數字組成的numpy數組(arange()函數傳回在給定區間內均勻間隔的值。在半開區間[start,stop]內產生值),把某個平凡值加到其中。
###例### 雷雷輸出
雷雷給定的陣列有一個維度(軸),長度為8,而9是一個沒有維度的簡單整數。由於它們的維度不同,Numpy嘗試沿著某個軸廣播(只是拉伸)放大的備份,設定適用於數學攻擊。
將具有相容維度的多個陣列相加
使用 arange() 函數建立兩個從 0 到 n-1 的 NumPy 數組,並使用 reshape() 函數重塑它(重塑數組而不影響其資料)。這兩個數組具有相容的維度 (3,4) 和 (3,1),並將兩個數組的相應元素相加。
###例### 雷雷輸出
雷雷給定數組_2 沿著第二個維度擴展以匹配給定數組_1 的維度。由於兩個數組的維度相容,因此這成為可能。
將具有不相容的多個陣列需求和
建立兩個維度不相容的 NumPy 陣列 (6, 4) 和 (6, 1)。當我們嘗試新增兩個陣列的相應元素時,它會引發錯誤,如下所示。
###例### 雷雷輸出
雷雷行數為6,列數為4。
它不能插入到大小為20的矩陣中(它需要大小為6*4 = 24的矩陣)。
對 Numpy 多維數組和線性數組求和
使用 arange() 函數建立一個多維數組,並使用 reshape() 函數將其重塑為隨機數量的行和列。使用 arange() 函數建立另一個線性數組並對這兩個數組求和。
範例1
雷雷輸出
雷雷給定的線性陣列進行擴展以適應給定的陣列1(多維陣列)的維度。由於兩個陣列的陣列是相容的,這是可能的。
範例2
雷雷輸出
雷雷理解多個數組可以沿著多個維度傳播是至關重要的。 Array1 的維度為 (6, 5, 4, 2),而 array2 的維度為 (5, 4, 1)。維度數組是透過沿著第三維拉伸 array1 和沿著第一維和第二維 (6, 5, 4, 2) 拉伸 array2 形成的。
結論
Numpy廣播比在陣列上循環更快。從第一個範例開始。使用者可以透過循環遍歷陣列,將相同的數字添加到陣列中的每個元素,而不是使用廣播方法。這種方式之那麼慢,有兩個原因:循環需要與Python循環進行交互,這會減慢C實現的速度。其次,NumPy使用步幅不是循環。將步幅設置為0允許您無限循環遍歷組件,而不是循環會產生記憶體開銷。
以上是如何使用Python使用動態陣列執行Numpy廣播?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

在CentOS系統上啟用PyTorchGPU加速,需要安裝CUDA、cuDNN以及PyTorch的GPU版本。以下步驟將引導您完成這一過程:CUDA和cuDNN安裝確定CUDA版本兼容性:使用nvidia-smi命令查看您的NVIDIA顯卡支持的CUDA版本。例如,您的MX450顯卡可能支持CUDA11.1或更高版本。下載並安裝CUDAToolkit:訪問NVIDIACUDAToolkit官網,根據您顯卡支持的最高CUDA版本下載並安裝相應的版本。安裝cuDNN庫:前

Docker利用Linux內核特性,提供高效、隔離的應用運行環境。其工作原理如下:1. 鏡像作為只讀模板,包含運行應用所需的一切;2. 聯合文件系統(UnionFS)層疊多個文件系統,只存儲差異部分,節省空間並加快速度;3. 守護進程管理鏡像和容器,客戶端用於交互;4. Namespaces和cgroups實現容器隔離和資源限制;5. 多種網絡模式支持容器互聯。理解這些核心概念,才能更好地利用Docker。

MinIO對象存儲:CentOS系統下的高性能部署MinIO是一款基於Go語言開發的高性能、分佈式對象存儲系統,與AmazonS3兼容。它支持多種客戶端語言,包括Java、Python、JavaScript和Go。本文將簡要介紹MinIO在CentOS系統上的安裝和兼容性。 CentOS版本兼容性MinIO已在多個CentOS版本上得到驗證,包括但不限於:CentOS7.9:提供完整的安裝指南,涵蓋集群配置、環境準備、配置文件設置、磁盤分區以及MinI

在CentOS系統上進行PyTorch分佈式訓練,需要按照以下步驟操作:PyTorch安裝:前提是CentOS系統已安裝Python和pip。根據您的CUDA版本,從PyTorch官網獲取合適的安裝命令。對於僅需CPU的訓練,可以使用以下命令:pipinstalltorchtorchvisiontorchaudio如需GPU支持,請確保已安裝對應版本的CUDA和cuDNN,並使用相應的PyTorch版本進行安裝。分佈式環境配置:分佈式訓練通常需要多台機器或單機多GPU。所

在CentOS系統上安裝PyTorch,需要仔細選擇合適的版本,並考慮以下幾個關鍵因素:一、系統環境兼容性:操作系統:建議使用CentOS7或更高版本。 CUDA與cuDNN:PyTorch版本與CUDA版本密切相關。例如,PyTorch1.9.0需要CUDA11.1,而PyTorch2.0.1則需要CUDA11.3。 cuDNN版本也必須與CUDA版本匹配。選擇PyTorch版本前,務必確認已安裝兼容的CUDA和cuDNN版本。 Python版本:PyTorch官方支

在CentOS上更新PyTorch到最新版本,可以按照以下步驟進行:方法一:使用pip升級pip:首先確保你的pip是最新版本,因為舊版本的pip可能無法正確安裝最新版本的PyTorch。 pipinstall--upgradepip卸載舊版本的PyTorch(如果已安裝):pipuninstalltorchtorchvisiontorchaudio安裝最新
