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ä.

  • ✅ Ydinkäyttö: Nopeat N-ulotteiset taulukot ja vektorisoitu matematiikka Python.
  • ⚙️ Keskeiset toiminnot: nollat, ykköset, muodonmuutos, hstack, piste, linspace.
  • 📚 Foundations: Lineaarialgebra, lähetys, tilastotiede, viipalointi.
  • 🚀 Nykyinen versio: NumPy 2.x (julkaistu kesäkuussa 2024) on nyt vakaa.
  • 🤖 Tekoälyn käyttö: Py:n selkärankaTorch-, TensorFlow-, JAX- ja CuPy-tensorit.

Python NumPy opetusohjelma

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ään numpy.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.

Esimerkki satunnaisen luomiseen Numbers käyttämällä NumPyä
Esimerkki satunnaisen luomiseen Numbers käyttämällä NumPyä

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.arange in 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), stop on viimeinen arvo. Jos False, stop ei 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ä.

UKK

NumPy tarjoaa nopeita N-ulotteisia taulukoita, vektorisoitua matematiikkaa, lineaarialgebraa, satunnaisotantaa ja Fourier-muunnoksia. Insinöörit ja datatieteilijät käyttävät sitä numeeriseen laskentaan, kuvan- ja signaalinkäsittelyyn, tilastoihin ja taulukoiden selkärankana korkeamman tason kirjastoille, kuten pandas, scikit-learn ja SciPy.

NumPy-taulukko tallentaa yhden kiinteän tietotyypin elementtejä yhtenäiseen muistilohkoon, mikä tekee vektorioidusta matematiikasta nopeaa. Python Listat sisältävät mielivaltaisia ​​objekteja, tukevat sekatyyppejä ja käyttävät hitaampia elementtikohtaisia ​​silmukoita, joten ne ovat joustavia, mutta paljon vähemmän tehokkaita suurissa numeerisissa työkuormissa.

Kesäkuussa 2024 julkaistu NumPy 2.0 pitää ydinmatriisirajapinnan vakaana, mutta poistaa pitkään vanhentuneet aliakset, kuten np.float ja np.intja tiukentaa tyypin edistämissääntöjä. Suurin osa tuotantokoodista tarvitsee vain pieniä muutoksia. Pin numpy<2 jos riippuvuutta ei ole vielä päivitetty.

PyTorch ja TensorFlow mallintavat tensoriobjektejaan NumPy ndarrays -matriiseilla. Niillä on sama muoto, lähetys- ja viipalointisemantiikka, ja molemmat hyväksyvät NumPy-taulukoita syötteenä. NumPyn avulla opitut taidot siirtyvät suoraan neuroverkkojen rakentamiseen, harjoitussilmukoihin ja tensorien esikäsittelyputkiin.

Vakio NumPy toimii suorittimella. GPU-kiihdytykseen käytä CuPy:tä, joka peilaa NumPy-rajapintaa NVIDIA CUDA -laitteissa, tai JAX:ia, joka lisää automaattisen vertailun ja just-in-time-kääntämisen GPU:ille ja TPU:ille. Molemmat mahdollistavat suurimman osan olemassa olevan NumPy-koodin uudelleenkäytön minimaalisilla uudelleenkirjoituksilla tekoälytyökuormissa.

Anaconda toimittaa NumPyn oletusarvoisesti. Muussa tapauksessa suorita pip install numpy or conda install -c anaconda numpyPäivitä olemassa oleva asennus NumPy 2.x:ään suorittamalla pip install --upgrade numpyTarkista aktiivinen versio kohdasta print(np.__version__) sisällä Python.

Lähetystoiminto antaa NumPyn käsitellä erimuotoisia taulukoita kopioimatta tietoja. Pienempi taulukko venytetään virtuaalisesti vastaamaan suurempaa taulukkoa, kun mitat ovat yhteensopivia. Se mahdollistaa ytimekkäät lausekkeet normalisointiin, skaalaukseen ja ominaisuuksien suunnitteluun koneoppimisputkissa.

Tiivistä tämä viesti seuraavasti: