Python NumPy-opetusohjelma aloittelijoille
โก รlykรคs yhteenveto
NumPy on perustavanlaatuinen Python kirjasto numeeriseen laskentaan, taulukoiden, matriisien, lineaarialgebran ja satunnaisnรคytteenoton suorittamiseen. Tรคmรค NumPy-opetusohjelma kรคy lรคpi asennuksen, taulukon luomisen, uudelleenjakamisenping, viipalointi, tilastot ja matriisimatematiikka ajettavalla ohjelmalla Python esimerkkejรค.

Mitรค NumPy sisรคltรครค Python?
nuhjuinen on avoimen lรคhdekoodin Python kirjasto matemaattiseen, tieteelliseen, tekniikan ja datatieteen ohjelmointiin. Se on erittรคin hyรถdyllinen kirjasto matemaattisiin ja tilastollisiin operaatioihin PythonSe toimii tรคydellisesti moniulotteisten taulukoiden ja matriisien kertolaskun kanssa ja integroituu helposti C/C++ ja Fortran.
NumPy on tyรถkalu mihin tahansa tieteelliseen projektiin. Se on rakennettu N-ulotteisia taulukoita, lineaarialgebraa, satunnaislukujen generointia, Fourier-muunnoksia ja paljon muuta varten.
NumPy antaa Python ensiluokkainen tuki moniulotteisille taulukoille ja matriiseille sekรค laaja valikoima matemaattisia laskutoimituksia, jotka vaikuttavat niihin. Tรคssรค oppaassa kรคymme lรคpi tรคrkeimmรคt funktiot, jotka sinun on tiedettรคvรค ennen kuin siirrymme opetusohjelmaan aiheesta 'TensorFlow. "
Miksi kรคyttรครค NumPyรค?
NumPy on muistitehokas, joten se pystyy kรคsittelemรครคn suuria mรครคriรค numeerista dataa helpommin kuin pelkkรค Python listoja. Se on myรถs erittรคin kรคtevรค matriisien kertolaskussa ja uudelleenjaossaping, ja se on nopea, koska raskas tyรถ on delegoitu kรครคnnetyille C-rutiineille. Itse asiassa kirjastot, kuten TensorFlow, PyTorch ja Scikit-learn kรคyttรคvรคt NumPy-taulukoita matriisimatematiikkaan taustajรคrjestelmรคssรครคn, mikรค tekee NumPysta hiljaisen tyรถjuhtan useimpien nykyaikaisten datatieteen ja tekoรคlyn tyรถnkulkujen alla.
Kuinka asentaa NumPy
Asentaaksesi NumPy-kirjaston, katso opastusvideomme Kuinka asentaa TensorFlow. NumPy asennetaan oletuksena Anacondan kanssa.
Siinรค harvinaisessa tapauksessa, ettรค NumPy:tรค ei ole asennettu, kรคytรค mitรค tahansa alla olevista vaihtoehdoista.
Voit asentaa NumPyn Anacondan avulla:
conda install -c anaconda numpy
- In Jupyter Notebook:
import sys
!conda install --yes --prefix {sys.prefix} numpy
Pip-kรคyttรคjรคt voivat asentaa tai pรคivittรครค yhdellรค komennolla:
pip install --upgrade numpy
Tuo NumPy ja tarkista versio
Numpy-tuontikomento on:
import numpy as np
Yllรค oleva rivi nimeรครค NumPy-nimiavaruuden uudelleen muotoon npTรคmรคn pikanรคppรคimen avulla voit lisรคtรค NumPy-funktioiden, -metodien ja -attribuuttien etuliitteeseen np. sijaan typing numpy., ja se on NumPy-ekosysteemissรค noudatettava vakiokรคytรคntรถ.
Voit tarkistaa asennetun NumPy-version seuraavalla komennolla:
print(np.__version__)
lรคhtรถ:
2.1.3
NumPy 2.0 julkaistiin kesรคkuussa 2024, ja se on nykyinen vakaa pรครคversio. Jos projektisi on edelleen riippuvainen 1.x-rajapinnasta, kiinnitรค se numpy<2 vaatimustiedostossasi, koska jotkin vanhat aliakset, kuten np.float poistettiin versiossa 2.0.
Mikรค on a Python NumPy Array?
NumPy-taulukot nรคyttรคvรคt vรคhรคn siltรค kuin Python ensi silmรคyksellรค listoja, mutta ne kรคyttรคytyvรคt hyvin eri tavalla. Aiheeseen tutustumattomille lukijoille selvennetรครคn, mikรค ndarray on ja miksi se on tรคrkeรค.
Kuten nimestรค voi pรครคtellรค, NumPy-taulukko on NumPy-kirjaston keskeinen tietorakenne. Nimi itsessรครคn on lyhenne sanoista โNumericโ (numero) Pythonโ tai โNumero Pythonโ, ja ndarray on homogeeninen, kiinteรคn kokoinen muistilohko, jolla on tunnettu muoto ja tietotyyppi.
NumPy-taulukon luominen
Helpoin tapa luoda taulukko NumPy:ssรค on aloittaa Python Lista.
myPythonList = [1,9,8,3]
muuntaa Python lista NumPy-taulukkoon kรคyttรคmรคllรค np.array.
numpy_array_from_list = np.array(myPythonList)
Nรคytรค taulukon sisรคltรถ.
numpy_array_from_list
lรคhtรถ:
array([1, 9, 8, 3])
Kรคytรคnnรถssรค ei tarvitse ilmoittaa a Python lista ensin. Nรคmรค kaksi vaihetta voidaan yhdistรครค.
a = np.array([1,9,8,3])
HUOMAUTUS: NumPy-dokumentaatiossa mainitaan myรถs np.ndarray, Vaan np.array on suositeltu tehdastoiminto jokapรคivรคiseen kรคyttรถรถn.
Voit myรถs luoda NumPy-taulukon tuplesta samalla tavalla.
matemaattinen Operaryhmiรค
Voit suorittaa matemaattisia operaatioita, kuten yhteenlaskua, osalaskuatracjako-, kerto- ja jakolaskut taulukossa. Syntaksi on taulukon nimi, jota seuraa operaattori (+, -, *, /), jota seuraa operandi. Nรคmรค operaatiot ovat vektorisoituja, mikรค tarkoittaa, ettรค NumPy soveltaa niitรค jokaiseen elementtiin ilman eksplisiittistรค Python silmukka.
Esimerkiksi:
numpy_array_from_list + 10
lรคhtรถ:
array([11, 19, 18, 13])
Tรคmรค operaatio lisรครค 10 NumPy-taulukon jokaiseen alkioon.
Arrayn muoto
Voit tarkistaa taulukon muodon komennolla shape attribuutti, johon pรครคsee kรคsiksi liittรคmรคllรค se taulukon nimeen. Samalla tavalla voit tarkistaa tyypin komennolla dtype.
import numpy as np a = np.array([1,2,3]) print(a.shape) print(a.dtype) (3,) int64
Kokonaisluku on arvo ilman desimaalia. Jos luot taulukon, jossa on desimaaleja, dtype muuttuu liukulukuksi.
#### Different type b = np.array([1.1,2.0,3.2]) print(b.dtype) float64
2 Dimension Array
Voit lisรคtรค ulottuvuuden lisรครคmรคllรค pilkun sulkeiden sisรครคn.
Huomaa, ettรค sisempien tuplejen on oltava ulompien sulkujen sisรคllรค [].
### 2 dimension c = np.array([(1,2,3), (4,5,6)]) print(c.shape) (2, 3)
3 Dimension Array
Korkeammat mitat voidaan rakentaa samalla tavalla.
### 3 dimension d = np.array([ [[1, 2,3], [4, 5, 6]], [[7, 8,9], [10, 11, 12]] ]) print(d.shape) (2, 2, 3)
| Tavoite | Code |
|---|---|
| Luo joukko | array([1,2,3]) |
| tulosta muoto | array([.]).muoto |
Mikรค on numpy.zeros()?
numpy.zeros() or np.zeros on Python funktio, jota kรคytetรครคn nollilla tรคytetyn matriisin luomiseen. numpy.zeros() on hyรถdyllinen, kun sinun on alustettava painot TensorFlow'n ensimmรคisen iteraation aikana tai mรครคritettรคvรค paikkamerkkipuskureita muita tilastollisia tehtรคviรค varten.
numpy.zeros()-funktio Syntaksi
numpy.zeros(shape, dtype=float, order='C')
Python numpy.zeros() Parametrit
Tรครคllรค
- Muoto: NumPy-nollataulukon muoto.
- Dtyyppi: elementtien tietotyyppi. Se on valinnainen, ja oletusarvo on
float64. - Tilausoletusarvo on
C, joka on rivi-pรครคaineasettelu, jota kรคytetรครคnnumpy.zeros()in Python.
Python numpy.zeros() Esimerkki
import numpy as np np.zeros((2,2))
lรคhtรถ:
array([[0., 0.], [0., 0.]])
Esimerkki numpy-nollasta tietotyypin kanssa
import numpy as np np.zeros((2,2), dtype=np.int16)
lรคhtรถ:
array([[0, 0], [0, 0]], dtype=int16)
Mikรค on numpy.ones()?
np.ones()-funktio luo matriisin, joka on tรคynnรค ykkรถsiรค. numpy.ones() in Python on hyรถdyllinen, kun alustat painoja TensorFlow'n ensimmรคisen iteraation aikana ja muissa tilastollisissa tehtรคvissรค.
Python numpy.ones() Syntaksi
numpy.ones(shape, dtype=float, order='C')
Python numpy.ones() Parametrit
Tรครคllรค
- Muoto: np.one-kappaleiden muoto Python Ryhmรค.
- Dtyyppi: elementtien tietotyyppi. Se on valinnainen, ja oletusarvo on
float64. - Tilausoletusarvo on
C, joka on rivi-pรครคaineasettelu.
Python numpy.ones() 2D-taulukko tietotyypin esimerkillรค
import numpy as np np.ones((1,2,3), dtype=np.int16)
lรคhtรถ:
array([[[1, 1, 1], [1, 1, 1]]], dtype=int16)
numpy.reshape()-funktio sisรครคn Python
Python NumPy Reshape muuttaa taulukon muotoa muuttamatta sen tietoja. Saatat joutua muotoilemaan tiedot leveรคstรค muodosta pitkรครคn tai siirtรคmรครคn ne 1D-vektorista 2D-matriisiin ennen niiden syรถttรคmistรค malliin. np.reshape funktio kรคsittelee tรคmรคn yhdellรค kutsulla.
np.reshape() syntaksi
numpy.reshape(a, newShape, order='C')
Tรครคllรค
a: taulukko, jonka muotoa haluat muuttaa.
uusi muoto: uusi haluttu muoto.
Tilausoletusarvo on C, rivi-pรครคaineasettelu.
Esimerkki NumPy Reshapesta
import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) e.reshape(3,2)
lรคhtรถ:
// Before reshape [[1 2 3] [4 5 6]]
//After Reshape array([[1, 2], [3, 4], [5, 6]])
numpy.flatten() in Python
Python NumPy Flatten palauttaa kopion taulukosta, joka on tiivistetty yhteen ulottuvuuteen. Kun tyรถskentelet neuroverkkojen, kuten convnettien, kanssa, sinun on usein litistettรคvรค kuvatensori ennen sen siirtรคmistรค tiheรคlle tasolle. np.flatten() funktio kรคsittelee tรคmรคn yhdellรค kutsulla.
np.flatten() syntaksi
numpy.flatten(order='C')
Tรครคllรค
Tilausoletusarvo on C, rivi-pรครคaineasettelu.
Esimerkki NumPy Flattenista
e.flatten()
lรคhtรถ:
array([1, 2, 3, 4, 5, 6])
Mikรค on numpy.hstack() in Python?
numpy.hstack on Python funktio, jota kรคytetรครคn syรถtetaulukoiden sekvenssien vaakasuoraan pinoamiseen yhdeksi taulukoksi. hstack(), lisรครคt tietoja sarakkeen akselille. Se on erittรคin kรคtevรค apulainen NumPy:ssรค, kun sinun on yhdistettรคvรค ominaisuusvektoreita vierekkรคin.
Opiskellaanpa hstack in Python esimerkin kanssa.
Esimerkiksi:
## 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)))
lรคhtรถ:
Horizontal Append: [1 2 3 4 5 6]
Mikรค on numpy.vstack() in Python?
numpy.vstack on Python funktio, jota kรคytetรครคn syรถtetaulukoiden sekvenssien pinoamiseen pystysuunnassa yhdeksi taulukoksi. vstack(), liitรคt tietoja riviakselille, mikรค on kรคtevรครค, kun haluat yhdistรครค otoseriรค.
Tutkitaanpa sitรค esimerkin avulla.
Esimerkiksi:
## 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)))
lรคhtรถ:
Vertical Append: [[1 2 3] [4 5 6]]
Opiskeltuaan NumPy:tรค vstack ja hstack, katsotaanpa esimerkkiรค, joka luo satunnaislukuja NumPy:ssรค.
Luo satunnainen Numbers kรคyttรคmรคllรค NumPyรค
Gaussisen jakauman satunnaislukujen generoimiseksi kรคytรค:
numpy.random.normal(loc, scale, size)
Tรครคllรค
- Lockeskiarvo. Jakauman keskipiste.
- Asteikko: keskihajonta.
- Kokopalautettujen nรคytteiden lukumรครคrรค.
Esimerkiksi:
## 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]
Jos jakauma piirretรครคn, se on samankaltainen kuin seuraava kaavio.

Huomaa, ettรค uudempi koodi kรคyttรครค yhรค enemmรคn modernia generaattorirajapintaa, np.random.default_rng(), joka on suositeltu korvaaja vanhalle np.random.normal kutsut NumPy 2.x:ssรค.
NumPy Asarray-funktio
asarray() funktio muuntaa syรถtteen taulukoksi. Syรถte voi olla lista, tuple, ndarray tai vastaava jono.
Syntaksi:
numpy.asarray(data, dtype=None, order=None)
Tรครคllรค
tiedot: tiedot, jotka haluat muuntaa taulukkomuotoon.
dtype: valinnainen. Jos ei ole mรครคritetty, tietotyyppi pรครคtellรครคn syรถttรถtiedoista.
Tilausoletusarvo on C, rivi-pรครคaineasettelu. Toinen vaihtoehto on F (Fortran-tyylinen sarake-pรครค).
Esimerkiksi:
Tarkastellaan seuraavaa 2D-matriisia, jossa on neljรค riviรค ja neljรค saraketta ja joka on tรคytetty luvulla 1.
import numpy as np A = np.matrix(np.ones((4,4)))
Jos yritรคt muuttaa matriisin arvoa seuraavasti: np.array, alkuperรคistรค ei ole muokattu. Syynรค on se, ettรค np.array luo matriisista kopion.
np.array(A)[2]=2 print(A) [[1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.]]
Matriisi pysyy muuttumattomana. Kรคytรค asarray kun haluat muokata alkuperรคistรค taulukkoa sen paikallaan. Katsotaanpa, mitรค tapahtuu, kun asetat kolmannen rivin arvoksi 2.
np.asarray(A)[2]=2 print(A)
Code Selitys:
np.asarray(A) muuntaa matriisin A taulukkonรคkymรครคn.
[2] valitsee kolmannen rivin.
lรคhtรถ:
[[1. 1. 1. 1.] [1. 1. 1. 1.] [2. 2. 2. 2.] # new value [1. 1. 1. 1.]]
Mikรค on numpy.arange()?
numpy.arange() on sisรครคnrakennettu NumPy-funktio, joka palauttaa ndarray-arkin, joka sisรคltรครค tasavรคlein olevia arvoja mรครคritellyn aikavรคlin sisรคllรค. Esimerkiksi luodaksesi arvoja 1โ10, voit kutsua np.arange() in Python.
Syntaksi:
numpy.arange(start, stop, step, dtype)
Python NumPy-asetusparametrit:
- Aloita: aikavรคlin alku kohdassa
np.arangein Python. - stop: aikavรคlin loppu.
- Vaihe: arvojen vรคlinen etรคisyys. Oletusaskel on 1.
- Dtyyppi: NumPy-funktion tulostetaulukon tyyppi
arange.
Esimerkiksi:
import numpy as np np.arange(1, 11)
lรคhtรถ:
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Esimerkiksi:
Muuttaaksesi tรคmรคn NumPy-funktion askelta arange esimerkiksi lisรครค kolmas numero sulkeisiin. Se muuttaa askeleen kokoa.
import numpy as np np.arange(1, 14, 4)
lรคhtรถ:
array([ 1, 5, 9, 13])
NumPy Linspace Function
linspace palauttaa tasaisesti kahden pรครคtepisteen vรคliltรค sijoitetut nรคytteet.
Syntaksi:
numpy.linspace(start, stop, num, endpoint)
Tรครคllรค
- Aloita: sekvenssin aloitusarvo.
- stop: sekvenssin loppuarvo.
- Sisรครคn: luotavien nรคytteiden mรครคrรค. Oletusarvo on 50.
- pรครคtepiste: jos
True(Oletus),stopon viimeinen arvo. JosFalse,stopei sisรคlly toimitukseen.
Esimerkiksi:
Sitรค voidaan esimerkiksi kรคyttรครค luomaan 10 tasavรคlein olevaa arvoa vรคliltรค 1โ5.
import numpy as np np.linspace(1.0, 5.0, num=10)
lรคhtรถ:
array([1. , 1.44444444, 1.88888889, 2.33333333, 2.77777778, 3.22222222, 3.66666667, 4.11111111, 4.55555556, 5. ])
Jos et halua sisรคllyttรครค viimeistรค numeroa vรคliin, aseta endpoint ettรค False.
np.linspace(1.0, 5.0, num=5, endpoint=False)
lรคhtรถ:
array([1. , 1.8, 2.6, 3.4, 4.2])
LogSpace NumPy -funktio sisรครคn Python
logspace palauttaa tasavรคlein vรคlein olevat luvut logaritmisella asteikolla. logspace jakaa samat parametrit kuin np.linspace.
Syntaksi:
numpy.logspace(start, stop, num, endpoint)
Esimerkiksi:
np.logspace(3.0, 4.0, num=4)
lรคhtรถ:
array([ 1000. , 2154.43469003, 4641.58883361, 10000. ])
Lopuksi, jos haluat tarkistaa yksittรคisen elementin muistin koon taulukossa, voit kรคyttรครค itemsize.
x = np.array([1,2,3], dtype=np.complex128) x.itemsize
lรคhtรถ:
16
Jokainen elementti vie 16 tavua.
Indeksointi ja leikkaaminen Python
Datan viipalointi on suoraviivaista NumPy:llรค. Viipaloimme matriisin e. sisรครคn Python, kรคytรคt hakasulkeita rivien tai sarakkeiden palauttamiseen.
Esimerkiksi:
## Slice import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) [[1 2 3] [4 5 6]]
Muista, ettรค NumPy:ssรค ensimmรคinen taulukon indeksi alkaa nollasta.
## First row print('First row:', e[0]) ## Second row print('Second row:', e[1])
lรคhtรถ:
First row: [1 2 3] Second row: [4 5 6]
In Python, kuten monissa muissakin kielissรค,
- Pilkun edessรค oleva arvo tarkoittaa rivejรค.
- Pilkun jรคlkeinen arvo tarkoittaa sarakkeita.
- Jos haluat valita sarakkeen, lisรครค
:ennen sarakeindeksiรค. :tarkoittaa, ettรค haluat kaikki rivit valitusta sarakkeesta.
print('Second column:', e[:,1])
Second column: [2 5]
Palauttaaksesi toisen rivin kaksi ensimmรคistรค arvoa, kรคytรค : valitaksesi kaikki sarakkeet toiseen indeksiin asti.
## Second Row, two values print(e[1, :2]) [4 5]
Tilastofunktiot sisรครคn Python
NumPy tarjoaa hyรถdyllisen joukon tilastollisia funktioita, joilla voi lรถytรครค tietyn taulukon minimin, maksimin, persentiilin, keskihajonnan, varianssin ja muita arvoja. Yleisimmรคt on lueteltu alla.
NumPy sisรคltรครค vankat tilastolliset apufunktiot, jotka on esitetty yhteenvetona taulukossa.
| Toiminto | Nรถpรถ |
|---|---|
| Min | np.min() |
| max | np.max() |
| Mean | np.mean() |
| Mediaani | np.mediaan() |
| Keskihajonta | np.std() |
Tarkastellaan seuraavaa taulukkoa:
Esimerkiksi:
import numpy as np normal_array = np.random.normal(5, 0.5, 10) print(normal_array)
lรคhtรถ:
[5.56171852 4.84233558 4.65392767 4.946659 4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]
Esimerkki NumPy-tilastofunktioista
### 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))
lรคhtรถ:
4.467042435266913 5.612113171990201 4.934841002270593 4.846995625786663 0.3875019367395316
Mikรค on numpy dot -tuote?
numpy.dot on tehokas funktio matriisilaskentaan. Voit esimerkiksi laskea pistetulon funktiolla np.dot. numpy.dot palauttaa pistetulon a ja b, ja kรคsittelee sekรค 1D- ettรค 2D-taulukoita. 2D-syรถtteille se suorittaa matriisien kertolaskun.
Syntaksi:
numpy.dot(x, y, out=None)
parametrit
Tรครคllรค
x, y: syรถttรถtaulukot. x ja y molempien tulisi olla 1D- tai 2D-muotoisia np.dot() toimimaan pistetulona tai matriisikertolaskuna.
ulos: valinnainen tulosargumentti, jota kรคytetรครคn tuloksen sieppaamiseen. Muussa tapauksessa palautetaan ndarray.
Palautukset
Toiminto numpy.dot() palauttaa kahden taulukon pistetulon x ja ySe palauttaa skalaarin, kun molemmat ovat yksiulotteisia, muuten se palauttaa taulukon. Jos out on annettu, palautetaan kyseinen taulukko.
korotusten
Pistetulo Python nostaa a ValueError jos viimeinen ulottuvuus x ei vastaa toiseksi viimeistรค ulottuvuutta y.
Esimerkiksi:
## 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)
lรคhtรถ:
14
Matriisikertoin Python
NumPy matmul() funktio palauttaa kahden taulukon matriisitulon. Nรคin se toimii.
1) 2D-taulukoille se palauttaa matriisitulon normaalina tulona.
2) Jos ulottuvuus on suurempi kuin 2, tuloa kรคsitellรครคn matriisipinona.
3) Yksiulotteinen taulukko siirretรครคn ensin matriisiksi, minkรค jรคlkeen tulo lasketaan.
Sisรคkieli @ operaattori, saatavilla vuodesta Python 3.5 on lyhenne sanoista matmul ja sitรค kรคytetรครคn laajalti modernissa koodissa.
Syntaksi:
numpy.matmul(x, y, out=None)
Tรครคllรค
x, y: syรถttรถtaulukot. Skalaarit eivรคt ole sallittuja.
ulos: valinnainen parametri. Yleensรค tuloste tallennetaan ndarray-muistiin.
Esimerkiksi:
Samalla tavalla voit laskea matriisien kertolaskun seuraavasti: 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)
lรคhtรถ:
array([[19, 22], [43, 50]])
mรครคrรครคvรค tekijรค
Jos sinun on laskettava matriisin determinantti, kรคytรค np.linalg.det()NumPy hoitaa mitat puolestasi.
Esimerkiksi:
## Determinant 2*2 matrix ### 5*8-7*6 np.linalg.det(i)
lรคhtรถ:
-2.000000000000005
NumPy-lรคhetysten selitys
Lรคhetys on sรครคntรถ, jonka avulla NumPy voi suorittaa aritmeettisia laskutoimituksia eri muotoisille taulukoille kopioimatta tietoja. Kun lisรครคt skalaarin yksiulotteiseen vektoriin tai yksiulotteisen vektorin kaksiulotteiseen matriisiin, NumPy venyttรครค pienempรครค operandia puuttuvien akseleiden suuntaisesti niin, ettรค muodot ovat linjassa. Tรคmรค vรคlttรครค eksplisiittistรค Python silmukoita ja on yksi tรคrkeimmistรค syistรค, miksi NumPy-koodi tuntuu nopealta ja ytimekkรครคltรค.
Kaksi muotoa on yhteensopivia lรคhetettรคvรคksi, kun oikealta vasemmalle verrattuna kumpikin mittapari on joko yhtรค suuri tai toinen niistรค on yhtรค suuri kuin 1. Esimerkiksi muodon matriisi (3, 4) lรคhetykset muotoriviรค vasten (4,) tai muotoinen pylvรคs (3, 1)Sama logiikka ohjaa normalisointia koneoppimisessa, jossa sub-funktioita kรคytetรครคntracta piirrekohtainen keskiarvovektori nรคytejoukosta yhdellรค rivillรค. Lรคhetys on myรถs tensorikirjastojen, kuten Py:n, kรคyttรคmรค kรคsitteellinen malli.Torch, TensorFlow ja JAX, joten tรคssรค opitut sรครคnnรถt siirtyvรคt suoraan GPU-koodiin.
Miten NumPy tukee tekoรคlyรค ja koneoppimista
NumPy on lรคhes jokaisen modernin laitteen alla Python Tekoรคlypino. PyTorch-tensorit, TensorFlow-eager-tensorit ja JAX-taulukot paljastavat saman lรคhetys-, viipalointi- ja uudelleenjako-ominaisuudetping API, jonka opit NumPy ndarraysissa. Monet tutoriaalit syรถttรคvรคt edelleen esikรคsiteltyjรค NumPy-taulukoita mallien koulutussilmukoihin, ja kehykset hyvรคksyvรคt ne ilman muunnoksia.
Kolme konkreettista mallia havainnollistavat, miten NumPy yhdistyy tekoรคlytyรถhรถn tรคnรค pรคivรคnรค. Ensinnรคkin datainsinรถรถrit muokkaavat raaka-ominaisuudet NumPy-taulukoiksi ennen kuin toimittavat ne scikit-learn-putkille tai Hugging Face -tietojoukoille. Toiseksi tutkijat kรคyttรคvรคt NumPyรค suorittimen perustana ja vaihtavat sitten CuPyn, joka tarjoaa lรคhes identtisen API:n, mutta toimii NVIDIA-nรคytรถnohjaimilla CUDA:n kautta. Kolmanneksi JAX rakentaa NumPy-sovellusliittymรคn pรครคlle lisรคtรคkseen automaattisen erottelun ja just-in-time-kรครคntรคmisen, joten sama kannettavalla tietokoneella suoritettava koodi voi toimia pilvessรค olevilla TPU-suorittimilla. Yhteenvetona voidaan todeta, ettรค NumPyllรค kehitetyt taulukkotaidot siirtyvรคt kaikkiin merkittรคviin syvรคoppimisen tyรถkalupaketteihin, mikรค tekee tรคstรค tutoriaalista hyรถdyllisen askeleen tekoรคlyn kehittรคmisen tiellรค.
