Python NumPy tutorijal za početnike

⚡ Pametni sažetak

NumPy je temeljni Python biblioteka za numeričko računanje, pokretanje nizova, matrica, linearne algebre i slučajnog uzorkovanja. Ovaj NumPy tutorial vodi vas kroz instalaciju, stvaranje nizova, preoblikovanje...ping, rezanje, statistika i matrična matematika s runnable Python primjeri.

  • Osnovna upotreba: Brzi N-dimenzionalni nizovi i vektorizirana matematika u Python.
  • Ključne funkcije: nule, jedinice, preoblikovanje, hstack, točka, linspace.
  • 📚 Foundations: Linearna algebra, emitiranje, statistika, sjeckanje.
  • 🚀 Trenutna verzija: NumPy 2.x (objavljen u lipnju 2024.) je sada stabilan.
  • 🤖 Upotreba umjetne inteligencije: Okosnica Py-aTorch, TensorFlow, JAX i CuPy tenzori.

Python NumPy vodič

U čemu je NumPy Python?

numpy je otvorenog koda Python biblioteka za matematičko, znanstveno, inženjersko i podatkovno programiranje. Vrlo je korisna biblioteka za matematičke i statističke operacije u PythonSavršeno radi s višedimenzionalnim nizovima i množenjem matrica te se lako integrira s C/C++ i Fortran.

Za bilo koji znanstveni projekt, NumPy je alat koji treba znati. Izgrađen je za N-dimenzionalne nizove, linearnu algebru, generiranje slučajnih brojeva, Fourierove transformacije i još mnogo toga.

NumPy daje Python vrhunska podrška za višedimenzionalne nizove i matrice, plus veliki skup matematičkih operacija koje djeluju na njih. U ovom vodiču pregledat ćemo bitne funkcije koje trebate znati prije nego što prijeđemo na tutorial o 'TensorFlow'.

Zašto koristiti NumPy?

NumPy je memorijski učinkovit, tako da može lakše obrađivati ​​velike količine numeričkih podataka od čistog NumPyja. Python popise. Također je vrlo praktično za množenje matrica i rješavanjeping, i brz je jer se teški posao delegira kompiliranim C rutinama. Zapravo, biblioteke poput TensorFlowa, PyTorch i Scikit-learn oslanjaju se na NumPy polja za matričnu matematiku u svom backendu, što NumPy čini tihim radnim konjem ispod većine modernih tijekova rada u znanosti o podacima i umjetnoj inteligenciji.

Kako instalirati NumPy

Za instalaciju NumPy biblioteke, pogledajte naš vodič Kako instalirati TensorFlow. NumPy je instaliran prema zadanim postavkama s Anacondom.

U rijetkim slučajevima kada NumPy nije instaliran, koristite bilo koju od dolje navedenih opcija.

NumPy možete instalirati pomoću Anaconde:

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

Korisnici Pipa mogu instalirati ili nadograditi jednom naredbom:

pip install --upgrade numpy

Uvezite NumPy i provjerite verziju

Naredba za uvoz numpyja je:

import numpy as np

Gornji redak preimenuje imenski prostor NumPy u npOvaj prečac vam omogućuje da NumPy funkcijama, metodama i atributima dodate prefiks np. umjesto tebeping numpy., i to je standardna konvencija koju ćete naći u cijelom NumPy ekosustavu.

Za provjeru instalirane verzije NumPy-a, upotrijebite sljedeću naredbu:

print(np.__version__)

Izlaz:

2.1.3

NumPy 2.0 je isporučen u lipnju 2024. i trenutno je stabilna glavna serija. Ako vaš projekt još uvijek ovisi o 1.x API-ju, prikvačite ga na numpy<2 u vašoj datoteci zahtjeva jer neki stariji pseudonimi poput np.float uklonjeni su u verziji 2.0.

Što je a Python NumPy polje?

NumPy nizovi izgledaju pomalo kao Python popisi na prvi pogled, ali se ponašaju vrlo različito. Za čitatelje koji su novi u ovoj temi, pojasnimo što je ndarray i zašto je važan.

Kao što i samo ime govori, NumPy niz je središnja struktura podataka NumPy biblioteke. Sam naziv je skraćenica za „Numeric Python” ili “Brojčani Python”, a ndarray je homogeni blok memorije fiksne veličine poznatog oblika i tipa podataka.

Stvaranje NumPy polja

Najjednostavniji način za stvaranje niza u NumPy-u je započeti od Python Popis.

myPythonList = [1,9,8,3]

pretvoriti Python popis u NumPy niz pomoću np.array.

numpy_array_from_list = np.array(myPythonList)

Prikaži sadržaj niza.

numpy_array_from_list

Izlaz:

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

U praksi, nema potrebe deklarirati a Python prvo navedite. Dva koraka se mogu kombinirati.

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

NAPOMENA: Dokumentacija NumPy-a također spominje np.ndarray, Ali np.array je preporučena tvornička funkcija za svakodnevnu upotrebu.

Na isti način možete stvoriti i NumPy niz iz tuple-a.

Matematički Operacije na polju

Možete izvoditi matematičke operacije kao što su zbrajanje, oduzimanjetraccija, dijeljenje i množenje na nizu. Sintaksa je naziv niza, nakon čega slijedi operator (+, -, *, /), nakon čega slijedi operand. Ove operacije su vektorizirane, što znači da ih NumPy primjenjuje na svaki element bez eksplicitnog Python petlja.

Primjer:

numpy_array_from_list + 10

Izlaz:

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

Ova operacija dodaje 10 svakom elementu NumPy niza.

Oblik niza

Oblik niza možete provjeriti pomoću shape atribut, kojem se pristupa dodavanjem nazivu polja. Na isti način možete provjeriti tip pomoću dtype.

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

(3,)
int64

Cijeli broj je vrijednost bez decimalne točke. Ako stvorite niz s decimalama, tip podataka se mijenja u float.

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

float64

2 dimenzijski niz

Dimenziju možete dodati zarezom unutar zagrada.

Imajte na umu da unutarnje torke moraju biti unutar vanjskih zagrada [].

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

3 dimenzijski niz

Više dimenzije mogu se konstruirati na isti način.

### 3 dimension
d = np.array([
    [[1, 2,3],
        [4, 5, 6]],
    [[7, 8,9],
        [10, 11, 12]]
])
print(d.shape)
(2, 2, 3)
Cilj Code
Stvori niz niz([1,2,3])
ispisati oblik niz([.]).oblik

Što je numpy.zeros()?

numpy.nule() or np.zeros je Python funkcija koja se koristi za stvaranje matrice ispunjene nulama. numpy.zeros() korisno je kada trebate inicijalizirati težine tijekom prve iteracije u TensorFlowu ili postaviti rezervirane međuspremnike za druge statističke zadatke.

Sintaksa funkcije numpy.zeros().

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

Python numpy.zeros() Parametri

Ovdje,

  • Oblikujte: oblik NumPy nultog niza.
  • Dvrsta: tip podataka elemenata. Nije obavezno, a zadana vrijednost je float64.
  • Narudžba: zadano je C, što je raspored glavnih redaka koji koristi numpy.zeros() in Python.

Python numpy.zeros() Primjer

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

Izlaz:

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

Primjer numpy zero s Datatype

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

Izlaz:

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

Što je numpy.ones()?

funkcija np.ones(). stvara matricu ispunjenu jedinicama. numpy.ones() in Python korisno je kada inicijalizirate težine tijekom prve iteracije u TensorFlowu i za druge statističke zadatke.

Python numpy.ones() Sintaksa

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

Python numpy.ones() parametri

Ovdje,

  • Oblikujteoblik np.ones Python Poredak.
  • Dvrsta: tip podataka elemenata. Nije obavezno, a zadana vrijednost je float64.
  • Narudžba: zadano je C, što je raspored po glavnim redovima.

Python numpy.ones() 2D niz s primjerom vrste podataka

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

Izlaz:

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

numpy.reshape() funkcija u Python

Python NumPy preoblikovanje mijenja oblik polja bez promjene njegovih podataka. Možda ćete morati preoblikovati podatke iz širokog u dugi format ili se prebaciti iz 1D vektora u 2D matricu prije nego što ih unesete u model. np.reshape funkcija to rješava u jednom pozivu.

Sintaksa np.reshape()

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

Ovdje,

a: niz koji želite preoblikovati.

noviOblik: novi željeni oblik.

Narudžba: zadano je C, raspored glavnih redaka.

Primjer NumPy Reshape

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

Izlaz:

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

numpy.flatten() u Python

Python NumPy izravnavanje vraća kopiju niza sažetog u jednu dimenziju. Kada radite s neuronskim mrežama kao što su convnets, često trebate izravnati tenzor slike prije nego što ga prenesete u gusti sloj. np.flatten() funkcija to rješava u jednom pozivu.

Sintaksa np.flatten()

numpy.flatten(order='C')

Ovdje,
Narudžba: zadano je C, raspored glavnih redaka.

Primjer NumPy Flatten

e.flatten()

Izlaz:

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

U čemu je numpy.hstack(). Python?

numpy.hstack je Python funkcija koja se koristi za horizontalno slaganje nizova ulaznih nizova u jedan niz. S hstack(), dodajete podatke duž osi stupca. To je vrlo praktična pomoć u NumPy-u kada trebate spojiti vektore značajki jedan pored drugog.

Hajde da proučavamo hstack in Python s primjerom.

Primjer:

## 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)))

Izlaz:

Horizontal Append: [1 2 3 4 5 6]

U čemu je numpy.vstack(). Python?

numpy.vstack je Python funkcija koja se koristi za vertikalno slaganje nizova ulaznih nizova u jedan niz. S vstack(), dodajete podatke duž osi retka, što je praktično kada želite kombinirati serije uzoraka.

Proučimo to s primjerom.

Primjer:

## 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)))

Izlaz:

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

Nakon proučavanja NumPy-a vstack i hstack, pogledajmo primjer koji generira slučajne brojeve u NumPy-u.

Generiraj nasumično Numbers koristeći NumPy

Za generiranje slučajnih brojeva iz Gaussove distribucije koristite:

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

Ovdje,

  • Loc: srednja vrijednost. Središte distribucije.
  • Skala: standardna devijacija.
  • Veličina: broj vraćenih uzoraka.

Primjer:

## 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]

Ako se prikaže grafički, distribucija je slična sljedećem grafikonu.

Primjer za generiranje slučajnog odabira Numbers koristeći NumPy
Primjer za generiranje slučajnog odabira Numbers koristeći NumPy

Imajte na umu da noviji kod sve više koristi moderni API generatora, np.random.default_rng(), što je preporučena zamjena za naslijeđeni np.random.normal pozivi u NumPy 2.x.

Funkcija NumPy Asarray

The asarray() Funkcija pretvara ulaz u polje. Ulaz može biti lista, tuple, ndarray ili sličan niz.

Sintaksa:

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

Ovdje,

datum: podaci koje želite pretvoriti u niz.

dtype: opcionalno. Ako nije navedeno, tip podataka se zaključuje iz ulaznih podataka.

Narudžba: zadano je C, raspored po glavnim redovima. Druga mogućnost je F (Fortrastupac u n-stilu (glavni stupac).

Primjer:

Razmotrimo sljedeću 2D matricu s četiri retka i četiri stupca, ispunjenu s 1.

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

Ako pokušate promijeniti vrijednost u matrici putem np.array, original nije modificiran. Razlog je taj što np.array stvara kopiju matrice.

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

Matrica se ne mijenja. Koristite asarray kada želite izmijeniti izvorni niz na mjestu. Pogledajmo što se događa kada treći redak postavite na vrijednost 2.

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

Code Objašnjenje:

np.asarray(A) pretvara matricu A u prikaz niza.

[2] odabire treći red.

Izlaz:

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

Što je numpy.arange()?

numpy.arange() je ugrađena NumPy funkcija koja vraća ndarray koji sadrži ravnomjerno raspoređene vrijednosti unutar definiranog intervala. Na primjer, za stvaranje vrijednosti od 1 do 10, možete pozvati np.arange() in Python.

Sintaksa:

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

Python NumPy parametri rasporeda:

  • Start: početak intervala za np.arange in Python.
  • zaustaviti: kraj intervala.
  • Korak: razmak između vrijednosti. Zadani korak je 1.
  • Dvrsta: tip izlaznog niza za NumPy arange.

Primjer:

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

Izlaz:

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

Primjer:

Za promjenu koraka u ovom NumPy-u arange Na primjer, dodajte treći broj u zagrade. To mijenja veličinu koraka.

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

Izlaz:

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

Funkcija NumPy Linspace

linspace vraća ravnomjerno raspoređene uzorke između dvije krajnje točke.

Sintaksa:

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

Ovdje,

  • Start: početna vrijednost niza.
  • zaustaviti: krajnja vrijednost niza.
  • U: broj uzoraka za generiranje. Zadana vrijednost je 50.
  • Endpoint: ako True (zadano), stop je posljednja vrijednost. Ako False, stop nije uključen.

Primjer:

Na primjer, može se koristiti za stvaranje 10 ravnomjerno raspoređenih vrijednosti od 1 do 5.

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

Izlaz:

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

Ako ne želite uključiti posljednju znamenku u interval, postavite endpoint do False.

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

Izlaz:

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

LogSpace NumPy funkcija u Python

logspace vraća ravnomjerno raspoređene brojeve na logaritamskoj skali. logspace dijeli iste parametre kao np.linspace.

Sintaksa:

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

Primjer:

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

Izlaz:

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

Konačno, ako želite provjeriti veličinu memorije jednog elementa u nizu, možete koristiti itemsize.

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

Izlaz:

16

Svaki element zauzima 16 bajtova.

Indeksiranje i rezanje Python

Rezanje podataka je jednostavno s NumPy-jem. Rezat ćemo matricu e, u Python, koristite uglate zagrade za vraćanje redaka ili stupaca.
Primjer:

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

Imajte na umu da u NumPy prvi indeks polja počinje od 0.

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

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

Izlaz:

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

In Python, kao i u mnogim drugim jezicima,

  • Vrijednost prije zareza označava retke.
  • Vrijednost iza zareza označava stupce.
  • Ako želite odabrati stupac, dodajte : prije indeksa stupca.
  • : znači da želite sve retke iz odabranog stupca.
print('Second column:', e[:,1])
Second column: [2 5]

Za vraćanje prve dvije vrijednosti drugog retka koristite : za odabir svih stupaca do drugog indeksa.

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

Statističke funkcije u Python

NumPy pruža koristan skup statističkih funkcija za pronalaženje minimuma, maksimuma, percentila, standardne devijacije, varijance i još mnogo toga iz zadanog niza. Najčešće su navedene u nastavku.

NumPy dolazi s robusnim statističkim pomagačima, sažetim u tablici.

funkcija numpy
Min np.min()
maksimum np.max()
značiti np.mean()
srednja np.medijan()
Standardna devijacija np.std()

Razmotrite sljedeći niz:

Primjer:

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

Izlaz:

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

Primjer statističkih funkcija 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))

Izlaz:

4.467042435266913
5.612113171990201
4.934841002270593
4.846995625786663
0.3875019367395316

Što je numpy točkasti umnožak?

numpy.dot je moćna funkcija za izračunavanje matrica. Na primjer, skalarni produkt možete izračunati pomoću np.dot. numpy.dot vraća skalarni produkt od a i bi obrađuje i 1D i 2D nizove. Za 2D ulaze izvodi množenje matrica.

Sintaksa:

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

Parametri

Ovdje,

x, y: ulazni nizovi. x i y trebaju biti 1D ili 2D za np.dot() funkcionirati kao skalarni produkt ili množenje matrica.

van: neobavezni izlazni argument koji se koristi za bilježenje rezultata. U suprotnom, vraća se ndarray.

Povratak

Funkcija numpy.dot() vraća skalarni produkt dvaju nizova x i yVraća skalar kada su oba 1D, inače vraća niz. Ako out je zadan, taj niz se vraća.

podiže

Skakav proizvod u Python podiže ValueError ako je posljednja dimenzija x ne odgovara pretposljednjoj dimenziji y.

Primjer:

## 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)

Izlaz:

14

Množenje matrice u Python

NumPy matmul() Funkcija vraća umnožak matrica dvaju nizova. Evo kako to funkcionira.

1) Za 2D nizove vraća normalni matrični produkt.

2) Za dimenzije veće od 2, produkt se tretira kao stog matrica.

3) 1D niz se prvo promovira u matricu, a zatim se izračunava produkt.

Infiks @ operater, dostupan od Python 3.5 je skraćenica za matmul i široko se koristi u modernom kodu.

Sintaksa:

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

Ovdje,

x, y: ulazni nizovi. Skalari nisu dopušteni.

van: neobavezni parametar. Obično se izlaz pohranjuje u ndarray.

Primjer:

Na isti način možete izračunati množenje matrica pomoću 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)

Izlaz:

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

determinanta

Ako trebate izračunati determinantu matrice, koristite np.linalg.det()NumPy se brine o dimenzijama umjesto vas.

Primjer:

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

Izlaz:

-2.000000000000005

Objašnjenje NumPy emitiranja

Emitiranje je pravilo koje omogućuje NumPy-ju da izvodi aritmetičke operacije na nizovima različitih oblika bez kopiranja podataka. Kada dodate skalar 1D vektoru ili 1D vektor 2D matrici, NumPy rasteže manji operand duž nedostajućih osi tako da se oblici poravnaju. Time se izbjegava eksplicitno Python petlje i jedan je od glavnih razloga zašto se NumPy kod čini brzim i konciznim.

Dva oblika su kompatibilna za emitiranje kada su, u usporedbi s desna na lijevo, svaki par dimenzija jednak ili je jedna od njih jednaka 1. Na primjer, matrica oblika (3, 4) emitira prema redu oblika (4,) ili stupac u obliku (3, 1)Ista logika pokreće normalizaciju u strojnom učenju, gdje podvrgavatetracvektor srednje vrijednosti po značajki iz serije uzoraka u jednom retku. Broadcasting je također konceptualni model koji koriste tenzorske biblioteke kao što je PyTorch, TensorFlow i JAX, tako da se pravila koja ovdje naučite prenose izravno u GPU kod.

Kako NumPy pokreće umjetnu inteligenciju i strojno učenje

NumPy se nalazi iza gotovo svakog modernog Python AI stog. PyTorch tenzori, TensorFlow eager tenzori i JAX nizovi pružaju isto emitiranje, rezanje i preoblikovanje.ping API koji ste naučili na NumPy ndarrays. Mnogi tutorijali i dalje ubacuju unaprijed obrađene NumPy nizove u petlje za treniranje modela, a frameworkovi ih prihvaćaju bez konverzije.

Tri konkretna obrasca pokazuju kako se NumPy povezuje s umjetnom inteligencijom danas. Prvo, podatkovni inženjeri oblikuju sirove značajke u NumPy polja prije nego što ih predaju scikit-learn cjevovodima ili skupovima podataka Hugging Face. Drugo, istraživači koriste NumPy kao osnovu CPU-a, a zatim ga zamjenjuju CuPy-jem, koji pruža gotovo identičan API, ali radi na NVIDIA GPU-ima putem CUDA-e. Treće, JAX se temelji na NumPy API-ju kako bi dodao automatsku diferencijaciju i kompilaciju "just-in-time", tako da isti kod koji se izvodi na prijenosnom računalu može raditi na TPU-ima u oblaku. Zaključak je da se vještine rada s nizovima koje izgradite s NumPy-jem prenose u svaki veći skup alata za duboko učenje, što ovaj vodič čini korisnim korakom na putu razvoja umjetne inteligencije.

Pitanja i odgovori

NumPy pruža brze N-dimenzionalne nizove, vektoriziranu matematiku, linearnu algebru, slučajno uzorkovanje i Fourierove transformacije. Inženjeri i znanstvenici podataka koriste ga za numeričko računanje, obradu slika i signala, statistiku i kao osnovu nizova za biblioteke više razine kao što su pandas, scikit-learn i SciPy.

NumPy niz pohranjuje elemente jednog fiksnog tipa podataka u susjedni blok memorije, što vektoriziranu matematiku čini brzom. Python Liste sadrže proizvoljne objekte, podržavaju miješane tipove i oslanjaju se na sporije petlje po elementu, pa su fleksibilne, ali daleko manje učinkovite za velika numerička opterećenja.

NumPy 2.0, objavljen u lipnju 2024., održava stabilnim API jezgrenih polja, ali uklanja davno zastarjele pseudonime poput np.float i np.inti pooštrava pravila za promociju tipova. Većini produkcijskog koda potrebne su samo manje izmjene. Pin numpy<2 ako ovisnost još nije ažurirana.

PyTorch i TensorFlow modeliraju svoje tenzorske objekte na NumPy ndarrays. Dijele isti oblik, semantiku emitiranja i rezanja, te oba prihvaćaju NumPy nizove kao ulaz. Vještine naučene s NumPy-jem izravno se prenose na izgradnju neuronskih mreža, petlji za učenje i cjevovoda za prethodnu obradu tenzora.

Standardni NumPy radi na CPU-u. Za GPU ubrzanje koristite CuPy, koji zrcali NumPy API na NVIDIA CUDA uređajima, ili JAX, koji dodaje autodiff i just-in-time kompilaciju za GPU-ove i TPU-ove. Oba vam omogućuju ponovnu upotrebu većine postojećeg NumPy koda uz minimalna prepisivanja za AI opterećenja.

Anaconda standardno isporučuje NumPy. Inače, pokrenite pip install numpy or conda install -c anaconda numpyZa nadogradnju postojeće instalacije na NumPy 2.x, pokrenite pip install --upgrade numpyProvjerite aktivnu verziju s print(np.__version__) u Python.

Emitiranje omogućuje NumPy-ju rad s nizovima različitih oblika bez kopiranja podataka. Manji niz se virtualno rasteže kako bi se podudarao s većim kada su dimenzije kompatibilne. Omogućuje koncizne izraze za normalizaciju, skaliranje i inženjering značajki u cjevovodima strojnog učenja.

Sažmite ovu objavu uz: