Python Tutorial NumPy pentru începători

⚡ Rezumat inteligent

NumPy este fundamental Python bibliotecă pentru calcul numeric, alimentarea tablourilor, matricilor, algebră liniară și eșantionare aleatorie. Acest tutorial NumPy prezintă instalarea, crearea tablourilor, reorganizareaping, feliere, statistică și matematică matriceală cu funcționalități rulabile Python exemple.

  • ✅ Utilizare principală: Tablouri N-dimensionale rapide și matematică vectorizată în Python.
  • ⚙️ Funcții cheie: zerouri, unități, remodelare, hstack, punct, spațiu linial.
  • 📚 Foundations: Algebră liniară, radiodifuziune, statistică, feliere.
  • 🚀 Versiune curentă: NumPy 2.x (lansat în iunie 2024) este acum stabil.
  • 🤖 Utilizare AI: Coloana vertebrală a PyTortensori ch, TensorFlow, JAX și CuPy.

Python Tutorial NumPy

În ce este NumPy Python?

NumPy este o sursă deschisă Python bibliotecă pentru programare matematică, științifică, inginerească și știința datelor. Este o bibliotecă foarte utilă pentru operații matematice și statistice în PythonFuncționează perfect cu tablouri multidimensionale și înmulțiri matriceale și se integrează ușor cu C/C++ și Fortran.

Pentru orice proiect științific, NumPy este instrumentul pe care trebuie să-l cunoașteți. Este construit pentru tablouri N-dimensionale, algebră liniară, generarea de numere aleatorii, transformate Fourier și multe altele.

NumPy dă Python suport de primă clasă pentru tablouri și matrici multidimensionale, plus un set mare de operații matematice care acționează asupra acestora. În acest ghid, vom trece în revistă funcțiile esențiale pe care trebuie să le cunoașteți înainte de a trece la tutorialul despre 'TensorFlow

De ce să folosiți NumPy?

NumPy este eficient din punct de vedere al memoriei, deci poate gestiona volume mari de date numerice mai ușor decât datele pure. Python liste. De asemenea, este foarte convenabil pentru înmulțirea matricelor și redistribuirepingși este rapid deoarece munca grea este delegată rutinelor C compilate. De fapt, biblioteci precum TensorFlow, PyTorch și Scikit-learn se bazează pe matricele NumPy pentru calcule matriceale în back-end-ul lor, ceea ce face ca NumPy să fie instrumentul silențios din spatele majorității fluxurilor de lucru moderne de știință a datelor și inteligență artificială.

Cum se instalează NumPy

Pentru a instala biblioteca NumPy, consultați tutorialul nostru Cum se instalează TensorFlow. NumPy este instalat implicit cu Anaconda.

În cazul rar în care NumPy nu este instalat, utilizați oricare dintre opțiunile de mai jos.

Puteți instala NumPy folosind Anaconda:

conda install -c anaconda numpy
  • In Jupyter Notebook:
import sys
!conda install --yes --prefix {sys.prefix} numpy

Utilizatorii Pip pot instala sau actualiza cu o singură comandă:

pip install --upgrade numpy

Importați NumPy și verificați versiunea

Comanda pentru a importa numpy este:

import numpy as np

Linia de mai sus redenumește spațiul de nume NumPy în npAceastă comandă rapidă vă permite să adăugați un prefix funcțiilor, metodelor și atributelor NumPy cu np. în loc de mulțumescping numpy.și este convenția standard pe care o veți găsi în ecosistemul NumPy.

Pentru a verifica versiunea instalată de NumPy, utilizați comanda de mai jos:

print(np.__version__)

ieșire:

2.1.3

NumPy 2.0 a fost lansat în iunie 2024 și este seria majoră stabilă actuală. Dacă proiectul dvs. depinde încă de API-ul 1.x, fixați la numpy<2 în fișierul de cerințe, deoarece unele aliasuri vechi, cum ar fi np.float au fost eliminate în 2.0.

Ce este a Python NumPy Array?

Tablourile NumPy arată cam ca Python liste la prima vedere, dar se comportă foarte diferit. Pentru cititorii noi în acest subiect, să clarificăm ce este un ndarray și de ce este important.

Așa cum sugerează și numele, un array NumPy este structura centrală de date a bibliotecii NumPy. Numele în sine este o prescurtare de la „Numeric” (sau „Numeric”). Python” sau „Numeric Python„”, iar ndarray este un bloc de memorie omogen, de dimensiune fixă, cu o formă și un tip de date cunoscute.

Crearea unei matrice NumPy

Cea mai simplă metodă de a crea un array în NumPy este să pornești de la Python Listă.

myPythonList = [1,9,8,3]

Se transformă Python listă într-un array NumPy folosind np.array.

numpy_array_from_list = np.array(myPythonList)

Afișați conținutul matricei.

numpy_array_from_list

ieșire:

array([1, 9, 8, 3])

În practică, nu este necesară declararea a Python enumerați mai întâi. Cei doi pași pot fi combinați.

a = np.array([1,9,8,3])

NOTĂ: Documentația NumPy menționează, de asemenea, np.ndarray, Dar np.array este funcția recomandată din fabrică pentru utilizarea zilnică.

De asemenea, puteți crea un tablou NumPy dintr-un tuplu în același mod.

Matematic Operape un Array

Puteți efectua operații matematice precum adunarea, subdivizareatracîmpărțire și înmulțire pe un tablou. Sintaxa este numele tabloului, urmat de operatorul (+, -, *, /), urmată de operand. Aceste operații sunt vectorizate, ceea ce înseamnă că NumPy le aplică fiecărui element fără o funcție explicită Python buclă.

Exemplu:

numpy_array_from_list + 10

ieșire:

array([11, 19, 18, 13])

Această operație adună 10 la fiecare element al tabloului NumPy.

Forma matricei

Puteți verifica forma unei matrice cu shape atribut, accesat prin adăugarea lui la numele matricei. În același mod, puteți verifica tipul cu dtype.

import numpy as np
a = np.array([1,2,3])
print(a.shape)
print(a.dtype)

(3,)
int64

Un număr întreg este o valoare fără virgulă. Dacă creați o matrice cu zecimale, tipul de date se schimbă în număr float.

#### Different type
b = np.array([1.1,2.0,3.2])
print(b.dtype)

float64

2 Dimension Array

Puteți adăuga o dimensiune cu o virgulă în paranteze.

Rețineți că tuplurile interioare trebuie să se afle în parantezele exterioare [].

### 2 dimension
c = np.array([(1,2,3),
              (4,5,6)])
print(c.shape)
(2, 3)

3 Dimension Array

Dimensiuni superioare pot fi construite în același mod.

### 3 dimension
d = np.array([
    [[1, 2,3],
        [4, 5, 6]],
    [[7, 8,9],
        [10, 11, 12]]
])
print(d.shape)
(2, 2, 3)
Obiectiv Code
Creați matrice matrice([1,2,3])
imprimați forma matrice([.]).formă

Ce este numpy.zeros()?

numpy.zeros() or np.zeros este Python funcție utilizată pentru a crea o matrice umplută cu zerouri. numpy.zeros() este util atunci când trebuie să inițializezi ponderile în timpul primei iterații în TensorFlow sau să configurezi buffere substituibile pentru alte sarcini statistice.

Funcția numpy.zeros() Sintaxă

numpy.zeros(shape, dtype=float, order='C')

Python numpy.zeros() Parametri

Aici,

  • Modela: forma tabloului de zerouri NumPy.
  • Dtype: tipul de date al elementelor. Este opțional, iar valoarea implicită este float64.
  • Order: implicit este C, care este aspectul pe rânduri principale utilizat de numpy.zeros() in Python.

Python numpy.zeros() Exemplu

import numpy as np
np.zeros((2,2))

ieșire:

array([[0., 0.],
          [0., 0.]])

Exemplu de numpy zero cu Datatype

import numpy as np
np.zeros((2,2), dtype=np.int16)

ieșire:

array([[0, 0],
         [0, 0]], dtype=int16)

Ce este numpy.ones()?

funcția np.ones(). creează o matrice umplută cu numere de unități. numpy.ones() in Python este util atunci când inițializezi ponderi în timpul primei iterații în TensorFlow și pentru alte sarcini statistice.

Python numpy.ones() Sintaxă

numpy.ones(shape, dtype=float, order='C')

Python numpy.ones() Parametri

Aici,

  • Modelaforma unităților np Python Mulțime.
  • Dtype: tipul de date al elementelor. Este opțional, iar valoarea implicită este float64.
  • Order: implicit este C, care este aspectul pe rânduri principale.

Python numpy.ones() Matrice 2D cu exemplu de tip de date

import numpy as np
np.ones((1,2,3), dtype=np.int16)

ieșire:

array([[[1, 1, 1],
       [1, 1, 1]]], dtype=int16)

funcția numpy.reshape() în Python

Python NumPy Reshape modifică forma unei matrice fără a-i modifica datele. Este posibil să fie nevoie să remodelați datele din format lat în format lung sau să treceți de la un vector 1D la o matrice 2D înainte de a le introduce într-un model. np.reshape Funcția gestionează acest lucru într-un singur apel.

Sintaxa lui np.reshape()

numpy.reshape(a, newShape, order='C')

Aici,

a: matricea pe care doriți să o remodelați.

newShape: noua formă dorită.

Order: implicit este C, aspectul pe rânduri principale.

Exemplu de remodelare NumPy

import numpy as np
e = np.array([(1,2,3), (4,5,6)])
print(e)
e.reshape(3,2)

ieșire:

 // Before reshape
[[1 2 3]
 [4 5 6]]
//After Reshape
array([[1, 2],
	[3, 4],
	[5, 6]])

numpy.platten() in Python

Python NumPy Flatten returnează o copie a matricei restrânse într-o singură dimensiune. Când lucrați cu rețele neuronale, cum ar fi convnets, adesea trebuie să aplatizați un tensor de imagine înainte de a-l transmite unui strat dens. np.flatten() Funcția gestionează acest lucru într-un singur apel.

Sintaxa lui np.flatten()

numpy.flatten(order='C')

Aici,
Order: implicit este C, aspectul pe rânduri principale.

Exemplu de NumPy Flatten

e.flatten()

ieșire:

array([1, 2, 3, 4, 5, 6])

Ce este numpy.hstack() în Python?

numpy.hstack este Python funcție utilizată pentru a stivui orizontal secvențe de tablouri de intrare într-un singur tablou. Cu hstack(), adăugați date de-a lungul axei coloanei. Este un instrument foarte util în NumPy atunci când trebuie să îmbinați vectori de caracteristici unul lângă altul.

Să studiem hstack in Python cu un exemplu.

Exemplu:

## Horizontal Stack
import numpy as np
f = np.array([1,2,3])
g = np.array([4,5,6])
print('Horizontal Append:', np.hstack((f, g)))

ieșire:

Horizontal Append: [1 2 3 4 5 6]

Ce este numpy.vstack() în Python?

numpy.vstack este Python funcție utilizată pentru a stivui vertical secvențe de tablouri de intrare într-un singur tablou. Cu vstack(), adăugați date de-a lungul axei rândurilor, ceea ce este util atunci când doriți să combinați loturi de eșantioane.

Să o studiem cu un exemplu.

Exemplu:

## Vertical Stack
import numpy as np
f = np.array([1,2,3])
g = np.array([4,5,6])
print('Vertical Append:', np.vstack((f, g)))

ieșire:

Vertical Append: [[1 2 3]
 [4 5 6]]

După ce am studiat NumPy vstack și hstack, să ne uităm la un exemplu care generează numere aleatorii în NumPy.

Generați aleatoriu Numbers folosind NumPy

Pentru a genera numere aleatorii dintr-o distribuție gaussiană, utilizați:

numpy.random.normal(loc, scale, size)

Aici,

  • Loc: media. Centrul distribuției.
  • Scară: abaterea standard.
  • Mărimea: numărul de eșantioane returnate.

Exemplu:

## Generate random numbers from a normal distribution
normal_array = np.random.normal(5, 0.5, 10)
print(normal_array)
[5.56171852 4.84233558 4.65392767 4.946659   4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]

Dacă este reprezentată grafic, distribuția este similară cu următoarea diagramă.

Exemplu de generare aleatorie Numbers folosind NumPy
Exemplu de generare aleatorie Numbers folosind NumPy

Rețineți că codul mai nou folosește din ce în ce mai mult API-ul generator modern, np.random.default_rng(), care este înlocuitorul recomandat pentru versiunea veche np.random.normal apeluri în NumPy 2.x.

Funcția NumPy Asarray

asarray() Funcția convertește o intrare într-un array. Intrarea poate fi o listă, un tuplu, o matrice (ndarray) sau o secvență similară.

Sintaxă:

numpy.asarray(data, dtype=None, order=None)

Aici,

de date: date pe care doriți să le convertiți într-o matrice.

dtype: opțional. Dacă nu este specificat, tipul de date este dedus din datele de intrare.

Order: implicit este C, aspectul pe rânduri principale. Cealaltă opțiune este F (Fortracoloană majoră în stil n).

Exemplu:

Luați în considerare următoarea matrice 2D cu patru rânduri și patru coloane, umplută cu 1.

import numpy as np
A = np.matrix(np.ones((4,4)))

Dacă încercați să modificați o valoare din matrice prin np.array, originalul nu este modificat. Motivul este că np.array creează o copie a matricei.

np.array(A)[2]=2
print(A)
[[1. 1. 1. 1.]
 [1. 1. 1. 1.]
 [1. 1. 1. 1.]
 [1. 1. 1. 1.]]

Matricea este neschimbată. Folosește asarray când vrei să modifici matricea originală la locul ei. Să vedem ce se întâmplă când setezi al treilea rând la valoarea 2.

np.asarray(A)[2]=2
print(A)

Code Explicaţie:

np.asarray(A) convertește matricea A la o vizualizare de tip matrice.

[2] selectează al treilea rând.

ieșire:

[[1. 1. 1. 1.]
      [1. 1. 1. 1.]
      [2. 2. 2. 2.] # new value
      [1. 1. 1. 1.]]

Ce este numpy.arange()?

numpy.arange() este o funcție NumPy încorporată care returnează un ndarray care conține valori distanțate uniform într-un interval definit. De exemplu, pentru a crea valori de la 1 la 10, puteți apela np.arange() in Python.

Sintaxă:

numpy.arange(start, stop, step, dtype)

Python NumPy range Parametri:

  • acasăînceputul intervalului pentru np.arange in Python.
  • Stop: sfârșitul intervalului.
  • Pas: spațiere între valori. Pasul implicit este 1.
  • Dtype: tipul matricei de ieșire pentru NumPy arange.

Exemplu:

import numpy as np
np.arange(1, 11)

ieșire:

array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])

Exemplu:

Pentru a schimba pasul în acest NumPy arange De exemplu, adăugați un al treilea număr la paranteze. Aceasta modifică dimensiunea pasului.

import numpy as np
np.arange(1, 14, 4)

ieșire:

array([ 1,  5,  9, 13])

Funcția NumPy Linspace

linspace returnează eșantioane distanțate uniform între două puncte finale.

Sintaxă:

numpy.linspace(start, stop, num, endpoint)

Aici,

  • acasă: valoarea inițială a secvenței.
  • Stop: valoarea finală a secvenței.
  • În: numărul de eșantioane de generat. Implicit este 50.
  • Punct final: dacă True (Mod implicit), stop este ultima valoare. Dacă False, stop nu este inclus.

Exemplu:

De exemplu, poate fi folosit pentru a crea 10 valori distanțate uniform de la 1 la 5.

import numpy as np
np.linspace(1.0, 5.0, num=10)

ieșire:

array([1.        , 1.44444444, 1.88888889, 2.33333333, 2.77777778,       3.22222222, 3.66666667, 4.11111111, 4.55555556, 5.        ])

Dacă nu doriți să includeți ultima cifră din interval, setați endpoint la False.

np.linspace(1.0, 5.0, num=5, endpoint=False)

ieșire:

array([1. , 1.8, 2.6, 3.4, 4.2])

Funcția LogSpace NumPy în Python

logspace returnează numere distanțate uniform pe o scară logaritmică. logspace are aceiași parametri ca np.linspace.

Sintaxă:

numpy.logspace(start, stop, num, endpoint)

Exemplu:

np.logspace(3.0, 4.0, num=4)

ieșire:

array([ 1000. ,  2154.43469003,  4641.58883361, 10000.        ])

În cele din urmă, dacă doriți să verificați dimensiunea memoriei unui singur element dintr-o matrice, puteți utiliza itemsize.

x = np.array([1,2,3], dtype=np.complex128)
x.itemsize

ieșire:

16

Fiecare element are 16 octeți.

Indexare și tăiere Python

Secționarea datelor este simplă cu NumPy. Vom secționa matricea e. În Python, utilizați paranteze pătrate pentru a returna rânduri sau coloane.
Exemplu:

## Slice
import numpy as np
e = np.array([(1,2,3), (4,5,6)])
print(e)
[[1 2 3]
 [4 5 6]]

Rețineți că în NumPy primul index al matricei începe de la 0.

## First row
print('First row:', e[0])

## Second row
print('Second row:', e[1])

ieșire:

First row: [1 2 3]
Second row: [4 5 6]

In Python, ca în multe alte limbi,

  • Valoarea dinaintea virgulei reprezintă rândurile.
  • Valoarea de după virgulă reprezintă coloanele.
  • Dacă doriți să selectați o coloană, adăugați : înaintea indexului coloanei.
  • : înseamnă că doriți toate rândurile din coloana selectată.
print('Second column:', e[:,1])
Second column: [2 5]

Pentru a returna primele două valori ale celui de-al doilea rând, utilizați : pentru a selecta toate coloanele până la al doilea index.

## Second Row, two values
print(e[1, :2])
[4 5]

Funcții statistice în Python

NumPy oferă un set util de funcții statistice pentru găsirea minimului, maximului, percentilei, deviației standard, varianței și a altor valori dintr-un array dat. Cele mai comune sunt enumerate mai jos.

NumPy este livrat cu instrumente statistice robuste, rezumate în tabel.

Funcţie NumPy
Min np.min()
max np.max()
medie np.mean()
Median np.median()
Deviația standard np.std()

Luați în considerare următoarea matrice:

Exemplu:

import numpy as np
normal_array = np.random.normal(5, 0.5, 10)
print(normal_array)

ieșire:

[5.56171852 4.84233558 4.65392767 4.946659   4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]

Exemplu de funcții statistice NumPy

### Min
print(np.min(normal_array))

### Max
print(np.max(normal_array))

### Mean
print(np.mean(normal_array))

### Median
print(np.median(normal_array))

### Sd
print(np.std(normal_array))

ieșire:

4.467042435266913
5.612113171990201
4.934841002270593
4.846995625786663
0.3875019367395316

Ce este produsul numpy dot?

numpy.dot este o funcție puternică pentru calculul matricelor. De exemplu, puteți calcula produsul scalar cu np.dot. numpy.dot returnează produsul scalar al a și bși gestionează atât tablouri 1D, cât și 2D. Pentru intrări 2D, efectuează multiplicarea matricei.

Sintaxă:

numpy.dot(x, y, out=None)

parametrii

Aici,

X y: tablouri de intrare. x și y ar trebui să fie ambele 1D sau 2D pentru np.dot() să funcționeze ca produs scalar sau înmulțire matriceală.

afară: argument opțional de ieșire folosit pentru a captura rezultatul. În caz contrar, se returnează o valoare ndarray.

Returnări

Funcția numpy.dot() returnează produsul scalar a două tablouri x și yReturnează un scalar când ambele sunt 1D, altfel returnează un tablou. Dacă out este dat, se returnează matricea respectivă.

Raiseul

Produsul scalar în Python ridică a ValueError dacă ultima dimensiune a x nu corespunde cu penultima dimensiune a y.

Exemplu:

## Linear algebra
### Dot product: product of two arrays
f = np.array([1,2])
g = np.array([4,5])
### 1*4+2*5
np.dot(f, g)

ieșire:

14

Înmulțirea matricelor în Python

NumPy matmul() Funcția returnează produsul matriceal a două tablouri. Iată cum funcționează.

1) Pentru tablourile 2D, returnează produsul matriceal normal.

2) Pentru dimensiuni mai mari de 2, produsul este tratat ca o stivă de matrici.

3) O matrice 1D este mai întâi promovată la o matrice, apoi se calculează produsul.

Infixul @ operator, disponibil de la Python 3.5, este o prescurtare pentru matmul și este utilizat pe scară largă în codul modern.

Sintaxă:

numpy.matmul(x, y, out=None)

Aici,

X y: tablouri de intrare. Scalarele nu sunt permise.

afară: parametru opțional. De obicei, ieșirea este stocată într-un ndarray.

Exemplu:

În același mod, puteți calcula înmulțirea matricei cu np.matmul.

### Matmul: matrix product of two arrays
h = [[1,2],[3,4]]
i = [[5,6],[7,8]]
### 1*5+2*7 = 19
np.matmul(h, i)

ieșire:

array([[19, 22],
            [43, 50]])

determinant

Dacă trebuie să calculați determinantul unei matrice, utilizați np.linalg.det()NumPy se ocupă de dimensiuni pentru tine.

Exemplu:

## Determinant 2*2 matrix
### 5*8-7*6
np.linalg.det(i)

ieșire:

-2.000000000000005

Explicația transmisiunii NumPy

Difuzarea este regula care permite NumPy să efectueze calcule aritmetice pe tablouri de forme diferite fără a copia datele. Când adăugați un scalar la un vector 1D sau un vector 1D la o matrice 2D, NumPy întinde operandul mai mic de-a lungul axelor lipsă, astfel încât formele să se alinieze. Acest lucru evită explicitele... Python bucle și este unul dintre principalele motive pentru care codul NumPy pare rapid și concis.

Două forme sunt compatibile pentru difuzare atunci când, comparate de la dreapta la stânga, fiecare pereche de dimensiuni este fie egală, fie una dintre ele este egală cu 1. De exemplu, o matrice de formă (3, 4) difuzează pe un rând de forme (4,) sau o coloană de formă (3, 1)Aceeași logică susține normalizarea în învățarea automată, unde subordonezitracun vector mediu per caracteristică dintr-un lot de eșantioane pe o singură linie. Broadcasting-ul este, de asemenea, modelul conceptual utilizat de bibliotecile tensoriale precum PyTorch, TensorFlow și JAX, deci regulile pe care le înveți aici se transferă direct în codul GPU.

Cum NumPy alimentează inteligența artificială și învățarea automată

NumPy se află sub aproape fiecare sistem modern Python Stivă AI. PyTortensorii ch, tensorii TensorFlow eager și matricele JAX expun aceleași funcții de broadcasting, slicing și resharingping API pe care l-ai învățat pe NumPy ndarrays. Multe tutoriale încă introduc tablouri NumPy preprocesate în buclele de antrenament ale modelelor, iar framework-urile le acceptă fără conversie.

Trei modele concrete arată cum se conectează NumPy la munca de inteligență artificială astăzi. În primul rând, inginerii de date modelează caracteristicile brute în matrice NumPy înainte de a le preda către conducte scikit-learn sau către seturi de date Hugging Face. În al doilea rând, cercetătorii folosesc NumPy ca bază pentru CPU și apoi introduc CuPy, care oferă o API aproape identică, dar rulează pe GPU-uri NVIDIA prin CUDA. În al treilea rând, JAX se bazează pe API-ul NumPy pentru a adăuga diferențiere automată și compilare just-in-time, astfel încât același cod care rulează pe laptop poate rula pe TPU-uri în cloud. Concluzia este că abilitățile de gestionare a matricelor pe care le construiți cu NumPy se regăsesc în fiecare set de instrumente majore de deep learning, ceea ce face ca acest tutorial să fie un pas util pe drumul către dezvoltarea inteligenței artificiale.

Întrebări frecvente

NumPy oferă matrici rapide N-dimensionale, matematică vectorizată, algebră liniară, eșantionare aleatorie și transformări Fourier. Inginerii și specialiștii în date îl folosesc pentru calcul numeric, procesare de imagini și semnale, statistică și ca bază pentru biblioteci de nivel superior, cum ar fi pandas, scikit-learn și SciPy.

Un tablou NumPy stochează elemente de un tip de date fix într-un bloc contiguu de memorie, ceea ce face ca matematica vectorizată să fie rapidă. Python Listele conțin obiecte arbitrare, acceptă tipuri mixte și se bazează pe bucle per element mai lente, deci sunt flexibile, dar mult mai puțin eficiente pentru sarcini de lucru numerice mari.

NumPy 2.0, lansat în iunie 2024, menține API-ul matricei principale stabil, dar elimină aliasurile de mult timp depreciate, cum ar fi np.float și np.intși înăsprește regulile de promovare a tipurilor. Majoritatea codului de producție necesită doar modificări minore. Fixează numpy<2 dacă o dependență nu este încă actualizată.

PyTorch și TensorFlow modelează obiectele lor tensoriale pe raze ndarray NumPy. Acestea au aceeași formă, semantică de broadcasting și slicing și ambele acceptă matrice NumPy ca intrare. Abilitățile dobândite cu NumPy se transferă direct la construirea de rețele neuronale, bucle de antrenament și conducte de preprocesare tensorială.

NumPy rulează pe procesor. Pentru accelerarea GPU, utilizați CuPy, care oglindește API-ul NumPy pe dispozitivele NVIDIA CUDA, sau JAX, care adaugă autodiff și compilare just-in-time pentru GPU-uri și TPU-uri. Ambele vă permit să reutilizați majoritatea codului NumPy existent cu rescrieri minime pentru sarcinile de lucru bazate pe inteligență artificială.

Anaconda livrează NumPy în mod implicit. Altfel, executați pip install numpy or conda install -c anaconda numpyPentru a actualiza o instalare existentă la NumPy 2.x, executați pip install --upgrade numpyVerificați versiunea activă cu print(np.__version__) în interiorul Python.

Broadcasting-ul permite NumPy să opereze pe tablouri de diferite forme fără a copia date. Tabloul mai mic este virtual extins pentru a se potrivi cu cel mai mare atunci când dimensiunile sunt compatibile. Acesta alimentează expresii concise pentru normalizare, scalare și inginerie de caracteristici în conductele de învățare automată.

Rezumați această postare cu: