Python Výukový program NumPy pro začátečníky

⚡ Chytré shrnutí

NumPy je základem Python knihovna pro numerické výpočty, power matic, lineární algebru a náhodný výběr. Tento tutoriál NumPy vás provede instalací, vytvářením polí, řešením problémů.ping, krájení, statistika a maticová matematika s runnable Python příklady.

  • (Tj. Základní použití: Rychlá N-rozměrná pole a vektorizovaná matematika v Python.
  • ⚙️ Klíčové funkce: nuly, jedničky, změna tvaru, hstack, tečka, linspace.
  • ???? Foundations: Lineární algebra, vysílání, statistika, slicing.
  • ???? Aktuální verze: NumPy 2.x (vydaný v červnu 2024) je nyní stabilní.
  • 🤖 Použití umělé inteligence: Páteř PyTorTenzory ch, TensorFlow, JAX a CuPy.

Python Výukový program NumPy

V čem je NumPy Python?

nemotorný je open source Python knihovna pro matematické, vědecké, inženýrské a datově-vědecké programování. Je to velmi užitečná knihovna pro matematické a statistické operace v PythonFunguje perfektně s vícerozměrnými poli a násobením matic a snadno se integruje s jazykem C/.C++ a Fortran.

Pro jakýkoli vědecký projekt je NumPy tím pravým nástrojem. Je vytvořen pro N-rozměrná pole, lineární algebru, generování náhodných čísel, Fourierovy transformace a další.

NumPy dává Python prvotřídní podpora pro vícerozměrná pole a matice a také rozsáhlá sada matematických operací, které s nimi pracují. V této příručce si projdeme základní funkce, které potřebujete znát, než přejdeme k tutoriálu na téma 'TensorFlow. "

Proč používat NumPy?

NumPy je paměťově efektivní, takže zvládá velké objemy numerických dat snadněji než čistě NumPy. Python seznamy. Je také velmi vhodný pro násobení matic a jejich řešení.pinga je rychlý, protože těžká práce je delegována na kompilované rutiny jazyka C. Ve skutečnosti knihovny jako TensorFlow, PyTorch a Scikit-learn se ve svém backendu spoléhají na pole NumPy pro maticové výpočty, což z NumPy dělá tichého pracanta pod většinou moderních pracovních postupů v oblasti datové vědy a umělé inteligence.

Jak nainstalovat NumPy

Chcete-li nainstalovat knihovnu NumPy, podívejte se na náš tutoriál Jak nainstalovat TensorFlow. NumPy je standardně nainstalován s Anaconda.

Ve vzácných případech, kdy NumPy není nainstalován, použijte některou z níže uvedených možností.

NumPy můžete nainstalovat pomocí Anaconda:

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

Uživatelé Pipu mohou instalaci nebo upgrade provést jediným příkazem:

pip install --upgrade numpy

Importovat NumPy a zkontrolovat verzi

Příkaz pro import numpy je:

import numpy as np

Výše uvedený řádek přejmenuje jmenný prostor NumPy na npTato zkratka umožňuje nastavit předponu funkcím, metodám a atributům NumPy pomocí np. místo typing numpy.a je to standardní konvence, kterou najdete v celém ekosystému NumPy.

Chcete-li zkontrolovat nainstalovanou verzi NumPy, použijte následující příkaz:

print(np.__version__)

Výstup:

2.1.3

NumPy 2.0 byl vydán v červnu 2024 a je aktuální stabilní hlavní sérií. Pokud váš projekt stále závisí na API 1.x, připněte si ho na numpy<2 ve vašem souboru s požadavky, protože některé starší aliasy, jako například np.float byly odstraněny ve verzi 2.0.

Co je to Python NumPy Array?

Pole NumPy vypadají trochu jako Python seznamy na první pohled, ale chovají se velmi odlišně. Pro čtenáře, kteří s tímto tématem začínají, si vysvětlíme, co je ndarray a proč je důležitý.

Jak název napovídá, pole NumPy je ústřední datovou strukturou knihovny NumPy. Samotný název je zkratkou pro „Numeric“ (číselné pole). Python“ nebo „Číselné Python“ a ndarray je homogenní blok paměti s pevnou velikostí, známým tvarem a datovým typem.

Vytvoření pole NumPy

Nejjednodušší způsob, jak vytvořit pole v NumPy, je začít od Python Seznam.

myPythonList = [1,9,8,3]

převést Python seznam do pole NumPy pomocí np.array.

numpy_array_from_list = np.array(myPythonList)

Zobrazte obsah pole.

numpy_array_from_list

Výstup:

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

V praxi není potřeba deklarovat a Python seznam jako první. Tyto dva kroky lze kombinovat.

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

POZNÁMKA: Dokumentace NumPy také zmiňuje np.ndarray, Ale np.array je doporučená tovární funkce pro každodenní použití.

Stejným způsobem můžete také vytvořit pole NumPy z n-tice.

Matematický Operana poli

Můžete provádět matematické operace, jako je sčítání, odčítánítracdělení, násobení a dělení v poli. Syntaxe je název pole, následovaný operátorem (+, -, *, /), následovaný operandem. Tyto operace jsou vektorizované, což znamená, že NumPy je aplikuje na každý prvek bez explicitního Python smyčka.

Příklad:

numpy_array_from_list + 10

Výstup:

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

Tato operace přičte 10 ke každému prvku pole NumPy.

Tvar pole

Tvar pole můžete zkontrolovat pomocí shape atribut, ke kterému se přistupuje jeho připojením k názvu pole. Stejným způsobem můžete ověřit typ pomocí dtype.

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

(3,)
int64

Celé číslo je hodnota bez desetinné čárky. Pokud vytvoříte pole s desetinnými čísly, datový typ se změní na float.

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

float64

2 Dimension Array

Kótu můžete přidat pomocí čárky v závorkách.

Vnitřní n-tice musí být uvnitř vnějších závorek. [].

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

3 Dimension Array

Vyšší dimenze lze konstruovat stejným způsobem.

### 3 dimension
d = np.array([
    [[1, 2,3],
        [4, 5, 6]],
    [[7, 8,9],
        [10, 11, 12]]
])
print(d.shape)
(2, 2, 3)
Objektivní Code
Vytvořte pole pole([1,2,3])
vytisknout tvar pole([.]).tvar

Co je numpy.zeros()?

numpy.zeros() or np.zeros je Python funkce použitá k vytvoření matice vyplněné nulami. numpy.zeros() je užitečné, když potřebujete inicializovat váhy během první iterace v TensorFlow nebo nastavit zástupné vyrovnávací paměti pro jiné statistické úlohy.

Syntaxe funkce numpy.zeros().

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

Python numpy.zeros() Parametry

Zde,

  • Shape: tvar nulového pole NumPy.
  • Dtype: datový typ prvků. Je volitelný a výchozí hodnota je float64.
  • ObjednávkaVýchozí nastavení je C, což je rozvržení podle hlavních řádků používané numpy.zeros() in Python.

Python numpy.zeros() Příklad

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

Výstup:

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

Příklad numpy nuly s datovým typem

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

Výstup:

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

Co je numpy.ones()?

funkce np.ones(). vytvoří matici naplněnou jedničkami. numpy.ones() in Python je užitečné při inicializaci vah během první iterace v TensorFlow a pro další statistické úlohy.

Python numpy.ones() Syntaxe

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

Python numpy.ones() Parametry

Zde,

  • Shapetvar np.ones Python Řada.
  • Dtype: datový typ prvků. Je volitelný a výchozí hodnota je float64.
  • ObjednávkaVýchozí nastavení je C, což je rozložení podle hlavních řádků.

Python numpy.ones() 2D pole s příkladem datového typu

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

Výstup:

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

funkce numpy.reshape() v Python

Python NumPy Reshape změní tvar pole beze změny jeho dat. Před vložením do modelu může být nutné změnit tvar dat ze širokého na dlouhý formát nebo je přejít z 1D vektoru do 2D matice. np.reshape Funkce to zvládne v jednom volání.

Syntaxe np.reshape()

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

Zde,

a: pole, jehož tvar chcete změnit.

newShape: nový požadovaný tvar.

ObjednávkaVýchozí nastavení je C, rozložení podle hlavních řádků.

Příklad NumPy Reshape

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

Výstup:

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

numpy.flatten() in Python

Python NumPy Flatten vrací kopii pole sbaleného do jednoho rozměru. Při práci s neuronovými sítěmi, jako jsou convnets, je často nutné zploštit tenzor obrazu před jeho předáním husté vrstvě. np.flatten() Funkce to zvládne v jednom volání.

Syntaxe np.flatten()

numpy.flatten(order='C')

Zde,
ObjednávkaVýchozí nastavení je C, rozložení podle hlavních řádků.

Příklad NumPy Flatten

e.flatten()

Výstup:

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

Co je numpy.hstack() in Python?

numpy.hstack je Python Funkce používaná k horizontálnímu vrstvení sekvencí vstupních polí do jednoho pole. S hstack(), přidáváte data podél osy sloupců. Je to velmi praktický pomocník v NumPy, když potřebujete sloučit vektory rysů vedle sebe.

Pojďme studovat hstack in Python s příkladem.

Příklad:

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

Výstup:

Horizontal Append: [1 2 3 4 5 6]

Co je numpy.vstack() in Python?

numpy.vstack je Python Funkce používaná k vertikálnímu vrstvení sekvencí vstupních polí do jednoho pole. S vstack(), přidáváte data podél osy řádků, což je užitečné, když chcete kombinovat dávky vzorků.

Pojďme si to prostudovat na příkladu.

Příklad:

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

Výstup:

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

Po studiu NumPy vstack a hstackPodívejme se na příklad, který generuje náhodná čísla v NumPy.

Generovat náhodné Numbers pomocí NumPy

Pro generování náhodných čísel z Gaussova rozdělení použijte:

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

Zde,

  • Místo: průměr. Střed rozdělení.
  • Měřítkosměrodatná odchylka.
  • Velikost: počet vrácených vzorků.

Příklad:

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

Pokud je rozdělení znázorněno v grafu, je podobné následujícímu grafu.

Příklad generování náhodného Numbers pomocí NumPy
Příklad generování náhodného Numbers pomocí NumPy

Všimněte si, že novější kód stále častěji používá moderní generátorové API, np.random.default_rng(), což je doporučená náhrada za starší verzi np.random.normal volání v NumPy 2.x.

Funkce NumPy Asarray

Jedno asarray() Funkce převádí vstup na pole. Vstupem může být seznam, n-tice, ndarray nebo podobná sekvence.

Syntaxe:

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

Zde,

datum: data, která chcete převést do pole.

dtype: volitelné. Pokud není zadán, datový typ se odvodí ze vstupních dat.

ObjednávkaVýchozí nastavení je C, rozložení podle hlavních řádků. Druhou možností je F (Fortrasloupcový hlavní ve stylu n).

Příklad:

Uvažujme následující 2D matici se čtyřmi řádky a čtyřmi sloupci, vyplněnou číslem 1.

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

Pokud se pokusíte změnit hodnotu v matici pomocí np.array, originál není upraven. Důvodem je, že np.array vytvoří kopii matice.

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

Matice se nezmění. Použijte asarray když chcete upravit původní pole na místě. Podívejme se, co se stane, když nastavíte třetí řádek na hodnotu 2.

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

Code Vysvětlení:

np.asarray(A) převádí matici A do zobrazení pole.

[2] vybere třetí řádek.

Výstup:

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

Co je numpy.arange()?

numpy.arange() je vestavěná funkce NumPy, která vrací pole typu ndarray obsahující rovnoměrně rozložené hodnoty v definovaném intervalu. Například pro vytvoření hodnot od 1 do 10 můžete zavolat np.arange() in Python.

Syntaxe:

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

Python Parametry NumPy arange:

  • Home: začátek intervalu pro np.arange in Python.
  • Stop: konec intervalu.
  • Krok: mezery mezi hodnotami. Výchozí krok je 1.
  • Dtypetyp výstupního pole pro NumPy arange.

Příklad:

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

Výstup:

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

Příklad:

Chcete-li změnit krok v tomto NumPy arange Například přidejte do závorek třetí číslo. Změní se tím velikost kroku.

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

Výstup:

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

Funkce NumPy Linspace

linspace vrací rovnoměrně rozložené vzorky mezi dvěma koncovými body.

Syntaxe:

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

Zde,

  • Home: počáteční hodnota sekvence.
  • Stop: koncová hodnota sekvence.
  • V: počet vzorků, které se mají vygenerovat. Výchozí hodnota je 50.
  • Konečný bod: pokud True (výchozí), stop je poslední hodnota. Pokud False, stop není součástí dodávky.

Příklad:

Například jej lze použít k vytvoření 10 rovnoměrně rozmístěných hodnot od 1 do 5.

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

Výstup:

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

Pokud nechcete do intervalu zahrnout poslední číslici, nastavte endpoint na False.

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

Výstup:

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

Funkce LogSpace NumPy v Python

logspace vrací rovnoměrně rozložená čísla v logaritmickém měřítku. logspace sdílí stejné parametry jako np.linspace.

Syntaxe:

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

Příklad:

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

Výstup:

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

Nakonec, pokud chcete zkontrolovat velikost paměti jednoho prvku v poli, můžete použít itemsize.

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

Výstup:

16

Každý prvek má 16 bajtů.

Indexování a vkládání Python

Rozdělení dat je s NumPy jednoduché. Rozdělíme matici. e, v Python, pro vrácení řádků nebo sloupců použijete hranaté závorky.
Příklad:

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

Nezapomeňte, že v NumPy začíná první index pole na 0.

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

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

Výstup:

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

In Python, stejně jako v mnoha jiných jazycích,

  • Hodnota před čárkou představuje řádky.
  • Hodnota za čárkou představuje sloupce.
  • Pokud chcete vybrat sloupec, přidejte : před indexem sloupce.
  • : znamená, že chcete všechny řádky z vybraného sloupce.
print('Second column:', e[:,1])
Second column: [2 5]

Pro vrácení prvních dvou hodnot druhého řádku použijte : pro výběr všech sloupců až po druhý index.

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

Statistické funkce v Python

NumPy poskytuje užitečnou sadu statistických funkcí pro nalezení minima, maxima, percentilu, směrodatné odchylky, rozptylu a dalších hodnot z daného pole. Nejběžnější jsou uvedeny níže.

NumPy je dodáván s robustními statistickými pomocníky, které jsou shrnuty v tabulce.

funkce nemotorný
Min np.min()
Max np.max()
Znamenat np.mean()
Medián np.medián()
Směrodatná odchylka np.std()

Uvažte následující pole:

Příklad:

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

Výstup:

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

Příklad statistických funkcí 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))

Výstup:

4.467042435266913
5.612113171990201
4.934841002270593
4.846995625786663
0.3875019367395316

Co je to numpy dot produkt?

numpy.dot je výkonná funkce pro výpočet matic. Například skalární součin můžete vypočítat pomocí np.dot. numpy.dot vrací skalární součin a a ba zpracovává 1D i 2D pole. Pro 2D vstupy provádí násobení matic.

Syntaxe:

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

parametry

Zde,

x, yvstupní pole. x a y měly by být oba 1D nebo 2D pro np.dot() fungovat jako skalární součin nebo maticový násobek.

out: volitelný výstupní argument použitý k zachycení výsledku. Jinak je vrácena hodnota typu ndarray.

Vrácení zboží

Funkce numpy.dot() vrací skalární součin dvou polí x a yVrací skalár, pokud jsou oba 1D, jinak vrací pole. Pokud out je zadáno, vrátí se toto pole.

Zvedne

Skvrnitý součin v Python vyvolává ValueError pokud poslední rozměr x neodpovídá předposlednímu rozměru y.

Příklad:

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

Výstup:

14

Násobení matice v Python

NumPy matmul() Funkce vrací součin matic dvou polí. Funguje to takto.

1) Pro 2D pole vrací součin normálních matic.

2) Pro dimenze větší než 2 se součin považuje za vrstvu matic.

3) Jednorozměrné pole je nejprve převedeno na matici a poté je vypočítán jeho součin.

Infix @ operátor, k dispozici od Python 3.5 je zkratka pro matmul a je široce používán v moderním kódu.

Syntaxe:

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

Zde,

x, y: vstupní pole. Skaláry nejsou povoleny.

out: volitelný parametr. Výstup je obvykle uložen v ndarray.

Příklad:

Stejným způsobem můžete vypočítat násobení matic pomocí 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)

Výstup:

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

determinant

Pokud potřebujete vypočítat determinant matice, použijte np.linalg.det()NumPy se o rozměry postará za vás.

Příklad:

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

Výstup:

-2.000000000000005

Vysvětlení vysílání NumPy

Vysílání je pravidlo, které umožňuje NumPy provádět aritmetické operace s poli různých tvarů bez kopírování dat. Když přidáte skalár k 1D vektoru nebo 1D vektor k 2D matici, NumPy roztáhne menší operand podél chybějících os, aby se tvary zarovnaly. Tím se zabrání explicitnímu Python smyčky a je jedním z hlavních důvodů, proč se kód NumPy zdá rychlý a stručný.

Dva tvary jsou kompatibilní pro vysílání, když ve srovnání zprava doleva je každá dvojice dimenzí buď stejná, nebo jedna z nich rovná 1. Například matice tvaru (3, 4) vysílání proti řadě tvarů (4,) nebo sloupec tvaru (3, 1)Stejná logika pohání normalizaci ve strojovém učení, kde podhodnocujetetracvektor průměru pro každý prvek z dávky vzorků v jednom řádku. Vysílání je také koncepční model používaný tenzorovými knihovnami, jako je PyTorch, TensorFlow a JAX, takže pravidla, která se zde naučíte, se přenesou přímo do kódu GPU.

Jak NumPy podporuje umělou inteligenci a strojové učení

NumPy je součástí téměř každého moderního Python AI stack. PyTorTenzory ch, tenzory TensorFlow Eager a pole JAX zpřístupňují stejné vysílání, krájení a resha.ping API, které jste se naučili na NumPy ndarrays. Mnoho tutoriálů stále používá předzpracovaná pole NumPy do trénovacích smyček modelu a frameworky je přijímají bez nulové konverze.

Tři konkrétní vzorce ukazují, jak se NumPy propojuje s fungováním umělé inteligence dnes. Zaprvé, datoví inženýři tvarují nezpracované funkce do polí NumPy, než je předají scikit-learn pipeline nebo datovým sadám Hugging Face. Zadruhé, výzkumníci používají NumPy jako základní linii CPU a poté je nahrazují CuPy, který poskytuje téměř identické API, ale běží na GPU NVIDIA prostřednictvím CUDA. Zatřetí, JAX staví na API NumPy a přidává automatickou diferenciaci a kompilaci just-in-time, takže stejný kód, který běží na notebooku, může běžet na TPU v cloudu. Poučení zní, že dovednosti v oblasti polí, které si vybudujete s NumPy, lze přenést do všech hlavních sad nástrojů pro hluboké učení, což z tohoto tutoriálu činí užitečný krok na cestě k vývoji umělé inteligence.

Nejčastější dotazy

NumPy nabízí rychlá N-rozměrná pole, vektorizovanou matematiku, lineární algebru, náhodné vzorkování a Fourierovy transformace. Inženýři a datoví vědci jej používají pro numerické výpočty, zpracování obrazu a signálů, statistiku a jako páteř polí pro knihovny vyšší úrovně, jako jsou pandas, scikit-learn a SciPy.

Pole NumPy ukládá prvky jednoho pevného datového typu v souvislém bloku paměti, což umožňuje rychlé vektorizované výpočty. Python Seznamy obsahují libovolné objekty, podporují smíšené typy a spoléhají se na pomalejší smyčky pro jednotlivé prvky, takže jsou flexibilní, ale mnohem méně efektivní pro velké numerické úlohy.

NumPy 2.0, vydaný v červnu 2024, udržuje základní API pro pole stabilní, ale odstraňuje dlouho zastaralé aliasy, jako například np.float a np.inta zpřísňuje pravidla pro povyšování typů. Většina produkčního kódu vyžaduje pouze drobné úpravy. Pin numpy<2 pokud závislost ještě není aktualizována.

PyTorch a TensorFlow modelují své tenzorové objekty na NumPy ndarrays. Sdílejí stejný tvar, vysílání a sémantiku krájení a oba přijímají NumPy pole jako vstup. Dovednosti získané s NumPy lze přímo přenést do budování neuronových sítí, trénovacích smyček a tenzorových předzpracovatelských kanálů.

Standardní NumPy běží na CPU. Pro akceleraci GPU použijte CuPy, který zrcadlí NumPy API na zařízeních NVIDIA CUDA, nebo JAX, který přidává automatické porovnávání a kompilaci just-in-time pro GPU a TPU. Oba umožňují znovu použít většinu existujícího kódu NumPy s minimálním přepisováním pro úlohy umělé inteligence.

Anaconda standardně dodává NumPy. Jinak spusťte pip install numpy or conda install -c anaconda numpyChcete-li upgradovat existující instalaci na NumPy 2.x, spusťte pip install --upgrade numpyZkontrolujte aktivní verzi pomocí print(np.__version__) uvnitř Python.

Vysílání umožňuje NumPy pracovat s poli různých tvarů bez kopírování dat. Menší pole je virtuálně roztaženo tak, aby odpovídalo většímu, pokud jsou rozměry kompatibilní. To umožňuje stručné výrazy pro normalizaci, škálování a inženýrství prvků v pipelinech strojového učení.

Shrňte tento příspěvek takto: