Python Tutorial de NumPy para Iniciantes
โก Resumo Inteligente
NumPy รฉ fundamental. Python Biblioteca NumPy para computaรงรฃo numรฉrica, que permite trabalhar com arrays, matrizes, รกlgebra linear e amostragem aleatรณria. Este tutorial do NumPy aborda a instalaรงรฃo, a criaรงรฃo de arrays e o reshapeamento.ping, fatiamento, estatรญsticas e matemรกtica matricial com executรกvel Python exemplos.

O que รฉ NumPy em Python?
NumPy รฉ uma fonte aberta Python Biblioteca para programaรงรฃo matemรกtica, cientรญfica, de engenharia e de ciรชncia de dados. ร uma biblioteca muito รบtil para operaรงรตes matemรกticas e estatรญsticas em PythonEle funciona perfeitamente com matrizes multidimensionais e multiplicaรงรฃo de matrizes, e se integra facilmente com C/C++ e Fortran.
Para qualquer projeto cientรญfico, o NumPy รฉ a ferramenta essencial. Ele foi desenvolvido para trabalhar com arrays N-dimensionais, รกlgebra linear, geraรงรฃo de nรบmeros aleatรณrios, transformadas de Fourier e muito mais.
NumPy fornece Python Suporte de primeira classe para matrizes e arrays multidimensionais, alรฉm de um amplo conjunto de operaรงรตes matemรกticas que atuam sobre eles. Neste guia, revisaremos as funรงรตes essenciais que vocรช precisa conhecer antes de prosseguir para o tutorial sobre 'TensorFlow. '
Por que usar o NumPy?
NumPy รฉ eficiente em termos de memรณria, portanto, pode lidar com grandes volumes de dados numรฉricos com mais facilidade do que o NumPy puro. Python listas. Tambรฉm รฉ muito conveniente para multiplicaรงรฃo de matrizes e reshapeamento.pingE รฉ rรกpido porque o trabalho pesado รฉ delegado a rotinas C compiladas. De fato, bibliotecas como TensorFlow, PyTorO NumPy e o Scikit-learn dependem de arrays NumPy para cรกlculos matriciais em seu backend, o que faz do NumPy o elemento essencial e silencioso por trรกs da maioria dos fluxos de trabalho modernos de ciรชncia de dados e IA.
Como instalar o NumPy
Para instalar a biblioteca NumPy, consulte nosso tutorial. Como instalar o TensorFlow. NumPy รฉ instalado por padrรฃo com Anaconda.
Na rara eventualidade de o NumPy nรฃo estar instalado, utilize uma das opรงรตes abaixo.
Vocรช pode instalar o NumPy usando o Anaconda:
conda install -c anaconda numpy
- In Jupyter notebook:
import sys
!conda install --yes --prefix {sys.prefix} numpy
Usuรกrios do Pip podem instalar ou atualizar com um รบnico comando:
pip install --upgrade numpy
Importe NumPy e verifique a versรฃo
O comando para importar numpy รฉ:
import numpy as np
A linha acima renomeia o namespace NumPy para npEste atalho permite prefixar funรงรตes, mรฉtodos e atributos do NumPy com np. em vez de typing numpy.E essa รฉ a convenรงรฃo padrรฃo que vocรช encontrarรก em todo o ecossistema NumPy.
Para verificar a versรฃo do NumPy instalada, use o comando abaixo:
print(np.__version__)
Saรญda:
2.1.3
O NumPy 2.0 foi lanรงado em junho de 2024 e รฉ a versรฃo principal estรกvel atual. Se o seu projeto ainda depende da API 1.x, fixe a versรฃo para a versรฃo correta. numpy<2 no seu arquivo de requisitos, pois alguns aliases legados, como np.float foram removidos na versรฃo 2.0.
O que รฉ uma Python Matriz NumPy?
Os arrays NumPy se parecem um pouco com Python ร primeira vista, parecem listas, mas se comportam de maneira muito diferente. Para os leitores que nรฃo estรฃo familiarizados com o assunto, vamos esclarecer o que รฉ um ndarray e por que ele รฉ importante.
Como o nome sugere, um array NumPy รฉ a estrutura de dados central da biblioteca NumPy. O prรณprio nome รฉ uma abreviaรงรฃo de "Numeric" (numรฉrico). Pythonโ ou โNumรฉrico Pythonโ, e o ndarray รฉ um bloco de memรณria homogรชneo e de tamanho fixo, com formato e tipo de dados conhecidos.
Criando uma matriz NumPy
A maneira mais simples de criar um array em NumPy รฉ comeรงar com um Python Lista.
myPythonList = [1,9,8,3]
converter o Python lista para um array NumPy usando np.array.
numpy_array_from_list = np.array(myPythonList)
Exiba o conteรบdo da matriz.
numpy_array_from_list
Saรญda:
array([1, 9, 8, 3])
Na prรกtica, nรฃo hรก necessidade de declarar um Python Primeiro, faรงa a lista. As duas etapas podem ser combinadas.
a = np.array([1,9,8,3])
OBSERVAรรO: A documentaรงรฃo do NumPy tambรฉm menciona np.ndarray, mas np.array ร a funรงรฃo de fรกbrica recomendada para uso diรกrio.
Vocรช tambรฉm pode criar um array NumPy a partir de uma tupla da mesma maneira.
Matemรกtico Operaรงรตes em um array
Vocรช pode realizar operaรงรตes matemรกticas como adiรงรฃo, subtraรงรฃo e acrรฉscimo.tracoperaรงรตes de divisรฃo, multiplicaรงรฃo e operaรงรฃo em uma matriz. A sintaxe รฉ o nome da matriz, seguido pelo operador (+, -, *, /), seguido pelo operando. Essas operaรงรตes sรฃo vetorizadas, o que significa que o NumPy as aplica a cada elemento sem um operador explรญcito. Python loop.
Exemplo:
numpy_array_from_list + 10
Saรญda:
array([11, 19, 18, 13])
Esta operaรงรฃo adiciona 10 a cada elemento da matriz NumPy.
Forma da Matriz
Vocรช pode verificar o formato de uma matriz com o shape atributo, acessado adicionando-o ao nome do array. Da mesma forma, vocรช pode verificar o tipo com dtype.
import numpy as np a = np.array([1,2,3]) print(a.shape) print(a.dtype) (3,) int64
Um nรบmero inteiro รฉ um valor sem casas decimais. Se vocรช criar uma matriz com decimais, o tipo de dados (dtype) muda para float.
#### Different type b = np.array([1.1,2.0,3.2]) print(b.dtype) float64
Matriz de 2 dimensรตes
Vocรช pode adicionar uma dimensรฃo com uma vรญrgula dentro dos parรชnteses.
Observe que as tuplas internas devem estar dentro dos colchetes externos. [].
### 2 dimension c = np.array([(1,2,3), (4,5,6)]) print(c.shape) (2, 3)
Matriz de 3 dimensรตes
Dimensรตes superiores podem ser construรญdas da mesma maneira.
### 3 dimension d = np.array([ [[1, 2,3], [4, 5, 6]], [[7, 8,9], [10, 11, 12]] ]) print(d.shape) (2, 2, 3)
| Objetivo | Code |
|---|---|
| Criar matriz | matriz([1,2,3]) |
| imprima a forma | matriz([.]).forma |
O que รฉ numpy.zeros()?
numpy.zeros() or np.zeros รฉ um Python Funรงรฃo utilizada para criar uma matriz preenchida com zeros. numpy.zeros() ร รบtil quando vocรช precisa inicializar pesos durante a primeira iteraรงรฃo no TensorFlow ou configurar buffers de espaรงo reservado para outras tarefas estatรญsticas.
Sintaxe da funรงรฃo numpy.zeros()
numpy.zeros(shape, dtype=float, order='C')
Python Parรขmetros numpy.zeros()
Aqui,
- Shape: formato do array de zeros do NumPy.
- Tipo D: tipo de dados dos elementos. ร opcional e o valor padrรฃo รฉ
float64. - PedidoO padrรฃo รฉ
C, que รฉ o layout de ordem de linhas usado pornumpy.zeros()in Python.
Python numpy.zeros() Exemplo
import numpy as np np.zeros((2,2))
Saรญda:
array([[0., 0.], [0., 0.]])
Exemplo de numpy zero com tipo de dados
import numpy as np np.zeros((2,2), dtype=np.int16)
Saรญda:
array([[0, 0], [0, 0]], dtype=int16)
O que รฉ numpy.ones()?
funรงรฃo np.ones() Cria uma matriz preenchida com uns. numpy.ones() in Python ร รบtil quando vocรช inicializa os pesos durante a primeira iteraรงรฃo no TensorFlow e para outras tarefas estatรญsticas.
Python Sintaxe numpy.ones()
numpy.ones(shape, dtype=float, order='C')
Python Parรขmetros numpy.ones()
Aqui,
- Shape: formato dos np.ones Python Ordem.
- Tipo D: tipo de dados dos elementos. ร opcional e o valor padrรฃo รฉ
float64. - PedidoO padrรฃo รฉ
C, que รฉ o layout de ordem de linhas.
Python numpy.ones() Array 2D com exemplo de tipo de dados
import numpy as np np.ones((1,2,3), dtype=np.int16)
Saรญda:
array([[[1, 1, 1], [1, 1, 1]]], dtype=int16)
funรงรฃo numpy.reshape() em Python
Python Remodelaรงรฃo NumPy Altera o formato de uma matriz sem alterar seus dados. Pode ser necessรกrio remodelar dados de um formato amplo para um formato longo, ou converter de um vetor unidimensional para uma matriz bidimensional antes de alimentรก-los em um modelo. np.reshape A funรงรฃo resolve isso em uma รบnica chamada.
Sintaxe de np.reshape()
numpy.reshape(a, newShape, order='C')
Aqui,
a: matriz que vocรช deseja remodelar.
nova forma: a nova forma desejada.
PedidoO padrรฃo รฉ C, o layout de ordem de linhas.
Exemplo de remodelaรงรฃo NumPy
import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) e.reshape(3,2)
Saรญda:
// Before reshape [[1 2 3] [4 5 6]]
//After Reshape array([[1, 2], [3, 4], [5, 6]])
numpy.flatten() em Python
Python NumPy achatar Retorna uma cรณpia da matriz condensada em uma dimensรฃo. Ao trabalhar com redes neurais, como as redes convolucionais (convnets), muitas vezes รฉ necessรกrio achatar um tensor de imagem antes de passรก-lo para uma camada densa. np.flatten() A funรงรฃo resolve isso em uma รบnica chamada.
Sintaxe de np.flatten()
numpy.flatten(order='C')
Aqui,
PedidoO padrรฃo รฉ C, o layout de ordem de linhas.
Exemplo de NumPy Flatten
e.flatten()
Saรญda:
array([1, 2, 3, 4, 5, 6])
O que รฉ numpy.hstack() em Python?
numpy.hstack รฉ um Python Funรงรฃo usada para empilhar horizontalmente sequรชncias de arrays de entrada em um รบnico array. hstack()Vocรช adiciona dados ao longo do eixo da coluna. ร um recurso muito รบtil do NumPy quando precisa mesclar vetores de caracterรญsticas lado a lado.
Vamos estudar hstack in Python com um exemplo.
Exemplo:
## 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)))
Saรญda:
Horizontal Append: [1 2 3 4 5 6]
O que รฉ numpy.vstack() em Python?
numpy.vstack รฉ um Python Funรงรฃo usada para empilhar verticalmente sequรชncias de arrays de entrada em um รบnico array. vstack(), vocรช adiciona dados ao longo do eixo das linhas, o que รฉ รบtil quando vocรช deseja combinar lotes de amostras.
Vamos analisar isso com um exemplo.
Exemplo:
## 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)))
Saรญda:
Vertical Append: [[1 2 3] [4 5 6]]
Apรณs estudar NumPy vstack e hstackVamos analisar um exemplo que gera nรบmeros aleatรณrios em NumPy.
Gerar Aleatรณrio Numbers usando NumPy
Para gerar nรบmeros aleatรณrios a partir de uma distribuiรงรฃo gaussiana, utilize:
numpy.random.normal(loc, scale, size)
Aqui,
- LugarA mรฉdia. O centro da distribuiรงรฃo.
- Escala: o desvio padrรฃo.
- Dimensรตes:: nรบmero de amostras devolvidas.
Exemplo:
## 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]
Se representada graficamente, a distribuiรงรฃo serรก semelhante ao grรกfico a seguir.

Note que os cรณdigos mais recentes utilizam cada vez mais a API de geradores moderna. np.random.default_rng(), que รฉ a substituiรงรฃo recomendada para a versรฃo legada np.random.normal chamadas em NumPy 2.x.
Funรงรฃo NumPy Asarray
O asarray() A funรงรฃo converte uma entrada em um array. A entrada pode ser uma lista, tupla, ndarray ou sequรชncia similar.
Sintaxe:
numpy.asarray(data, dtype=None, order=None)
Aqui,
dados,: dados que vocรช deseja converter em uma matriz.
dtipo: opcional. Se nรฃo for especificado, o tipo de dados serรก inferido a partir dos dados de entrada.
PedidoO padrรฃo รฉ C, o layout de ordem de linhas. A outra opรงรฃo รฉ F (Fortracoluna principal estilo n).
Exemplo:
Considere a seguinte matriz 2D com quatro linhas e quatro colunas, preenchida com 1.
import numpy as np A = np.matrix(np.ones((4,4)))
Se vocรช tentar alterar um valor na matriz atravรฉs de np.array, o original nรฃo รฉ modificado. A razรฃo รฉ que np.array cria uma cรณpia da matriz.
np.array(A)[2]=2 print(A) [[1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.]]
A matriz permanece inalterada. Use asarray Quando vocรช deseja modificar a matriz original no mesmo local. Vejamos o que acontece quando vocรช define a terceira linha com o valor 2.
np.asarray(A)[2]=2 print(A)
Code Explicaรงรฃo:
np.asarray(A) converte a matriz A para uma visualizaรงรฃo em matriz.
[2] seleciona a terceira linha.
Saรญda:
[[1. 1. 1. 1.] [1. 1. 1. 1.] [2. 2. 2. 2.] # new value [1. 1. 1. 1.]]
O que รฉ numpy.arange()?
numpy.arange() รฉ uma funรงรฃo integrada do NumPy que retorna um ndarray contendo valores uniformemente espaรงados dentro de um intervalo definido. Por exemplo, para criar valores de 1 a 10, vocรช pode chamar np.arange() in Python.
Sintaxe:
numpy.arange(start, stop, step, dtype)
Python Parรขmetros do intervalo NumPy:
- Comeรงar: inรญcio do intervalo para
np.arangein Python. - Dรช um basta: fim do intervalo.
- Passo: espaรงamento entre valores. O passo padrรฃo รฉ 1.
- Tipo D: tipo da matriz de saรญda para NumPy
arange.
Exemplo:
import numpy as np np.arange(1, 11)
Saรญda:
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Exemplo:
Para alterar a etapa neste NumPy arange Por exemplo, adicione um terceiro nรบmero entre parรชnteses. Isso altera o tamanho do passo.
import numpy as np np.arange(1, 14, 4)
Saรญda:
array([ 1, 5, 9, 13])
Funรงรฃo NumPy Linspace
linspace Retorna amostras uniformemente espaรงadas entre dois pontos finais.
Sintaxe:
numpy.linspace(start, stop, num, endpoint)
Aqui,
- Comeรงar: valor inicial da sequรชncia.
- Dรช um basta: valor final da sequรชncia.
- Num: nรบmero de amostras a serem geradas. O padrรฃo รฉ 50.
- Ponto final: E se
True(Padrรฃo)stopรฉ o รบltimo valor. SeFalse,stopnรฃo estรก incluรญdo.
Exemplo:
Por exemplo, pode ser usado para criar 10 valores uniformemente espaรงados de 1 a 5.
import numpy as np np.linspace(1.0, 5.0, num=10)
Saรญda:
array([1. , 1.44444444, 1.88888889, 2.33333333, 2.77777778, 3.22222222, 3.66666667, 4.11111111, 4.55555556, 5. ])
Se vocรช nรฃo quiser incluir o รบltimo dรญgito no intervalo, defina endpoint para False.
np.linspace(1.0, 5.0, num=5, endpoint=False)
Saรญda:
array([1. , 1.8, 2.6, 3.4, 4.2])
Funรงรฃo LogSpace NumPy em Python
logspace Retorna nรบmeros uniformemente espaรงados em uma escala logarรญtmica. logspace compartilha os mesmos parรขmetros que np.linspace.
Sintaxe:
numpy.logspace(start, stop, num, endpoint)
Exemplo:
np.logspace(3.0, 4.0, num=4)
Saรญda:
array([ 1000. , 2154.43469003, 4641.58883361, 10000. ])
Por fim, se vocรช quiser verificar o tamanho da memรณria de um รบnico elemento em uma matriz, vocรช pode usar itemsize.
x = np.array([1,2,3], dtype=np.complex128) x.itemsize
Saรญda:
16
Cada elemento ocupa 16 bytes.
Indexaรงรฃo e divisรฃo Python
Fatiar dados com NumPy รฉ simples. Vamos fatiar a matriz. e. em PythonVocรช usa colchetes para retornar linhas ou colunas.
Exemplo:
## Slice import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) [[1 2 3] [4 5 6]]
Lembre-se que no NumPy o primeiro รญndice do array comeรงa em 0.
## First row print('First row:', e[0]) ## Second row print('Second row:', e[1])
Saรญda:
First row: [1 2 3] Second row: [4 5 6]
In Python, assim como em muitas outras lรญnguas,
- O valor antes da vรญrgula representa as linhas.
- O valor apรณs a vรญrgula representa as colunas.
- Se vocรช quiser selecionar uma coluna, adicione
:antes do รญndice da coluna. :Significa que vocรช deseja todas as linhas da coluna selecionada.
print('Second column:', e[:,1])
Second column: [2 5]
Para retornar os dois primeiros valores da segunda linha, use : Selecionar todas as colunas atรฉ o segundo รญndice.
## Second Row, two values print(e[1, :2]) [4 5]
Funรงรตes estatรญsticas em Python
O NumPy oferece um conjunto รบtil de funรงรตes estatรญsticas para encontrar o mรญnimo, o mรกximo, o percentil, o desvio padrรฃo, a variรขncia e muito mais em uma determinada matriz. As mais comuns estรฃo listadas abaixo.
O NumPy vem com ferramentas auxiliares estatรญsticas robustas, resumidas na tabela.
| funรงรฃo | Numpy |
|---|---|
| min | np.min() |
| Max | np.max() |
| Mรฉdia | np.mรฉdia() |
| Mediana | np.mediana() |
| Desvio padrรฃo | np.std() |
Considere a seguinte matriz:
Exemplo:
import numpy as np normal_array = np.random.normal(5, 0.5, 10) print(normal_array)
Saรญda:
[5.56171852 4.84233558 4.65392767 4.946659 4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]
Exemplo de funรงรตes estatรญsticas do 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))
Saรญda:
4.467042435266913 5.612113171990201 4.934841002270593 4.846995625786663 0.3875019367395316
O que รฉ produto escalar numpy?
numpy.dot รฉ uma funรงรฃo poderosa para computaรงรฃo matricial. Por exemplo, vocรช pode calcular o produto escalar com np.dot. numpy.dot retorna o produto escalar de a e be lida com matrizes unidimensionais e bidimensionais. Para entradas bidimensionais, realiza multiplicaรงรฃo de matrizes.
Sintaxe:
numpy.dot(x, y, out=None)
Parรขmetros Tรฉcnicos
Aqui,
x, y: matrizes de entrada. x e y ambos devem ser 1D ou 2D para np.dot() para funcionar como um produto escalar ou multiplicaรงรฃo de matrizes.
Fora: argumento de saรญda opcional usado para capturar o resultado. Caso contrรกrio, um ndarray รฉ retornado.
Returns
A funรงรฃo numpy.dot() Retorna o produto escalar de duas matrizes. x e yRetorna um escalar quando ambos sรฃo unidimensionais; caso contrรกrio, retorna uma matriz. Se out Se for fornecido um array, esse array serรก retornado.
Eleva
O produto escalar em Python levanta um ValueError se a รบltima dimensรฃo de x nรฃo corresponde ร penรบltima dimensรฃo de y.
Exemplo:
## 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)
Saรญda:
14
Multiplicaรงรฃo de matrizes em Python
O NumPy matmul() A funรงรฃo retorna o produto matricial de dois arrays. Veja como funciona.
1) Para matrizes 2D, retorna o produto matricial normal.
2) Para dimensรตes maiores que 2, o produto รฉ tratado como uma pilha de matrizes.
3) Primeiro, um array unidimensional รฉ promovido a uma matriz e, em seguida, o produto รฉ calculado.
O infixo @ operador, disponรญvel desde Python 3.5 รฉ uma abreviaรงรฃo para matmul e รฉ amplamente utilizado em cรณdigos modernos.
Sintaxe:
numpy.matmul(x, y, out=None)
Aqui,
x, y: matrizes de entrada. Valores escalares nรฃo sรฃo permitidos.
Fora: parรขmetro opcional. Normalmente, a saรญda รฉ armazenada em um ndarray.
Exemplo:
Da mesma forma, vocรช pode calcular a multiplicaรงรฃo de matrizes com 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)
Saรญda:
array([[19, 22], [43, 50]])
determinante
Se vocรช precisar calcular o determinante de uma matriz, use np.linalg.det()O NumPy cuida das dimensรตes para vocรช.
Exemplo:
## Determinant 2*2 matrix ### 5*8-7*6 np.linalg.det(i)
Saรญda:
-2.000000000000005
Explicaรงรฃo sobre a transmissรฃo em NumPy
A transmissรฃo (broadcasting) รฉ a regra que permite ao NumPy realizar operaรงรตes aritmรฉticas em arrays de formatos diferentes sem copiar os dados. Quando vocรช adiciona um escalar a um vetor unidimensional, ou um vetor unidimensional a uma matriz bidimensional, o NumPy estica o operando menor ao longo dos eixos ausentes para que os formatos se alinhem. Isso evita a necessidade de operaรงรตes aritmรฉticas explรญcitas. Python Os loops sรฃo um dos principais motivos pelos quais o cรณdigo NumPy parece rรกpido e conciso.
Duas formas sรฃo compatรญveis para transmissรฃo quando, comparadas da direita para a esquerda, cada par de dimensรตes รฉ igual ou uma delas รฉ igual a 1. Por exemplo, uma matriz de forma (3, 4) transmissรตes contra uma fileira de formas (4,) ou uma coluna de formato (3, 1)A mesma lรณgica que alimenta a normalizaรงรฃo em aprendizado de mรกquina, onde vocรช substituitracum vetor mรฉdio por caracterรญstica de um lote de amostras em uma รบnica linha. O broadcasting tambรฉm รฉ o modelo conceitual usado por bibliotecas de tensores como Py.Torch, TensorFlow e JAX, portanto, as regras que vocรช aprende aqui se aplicam diretamente ao cรณdigo da GPU.
Como o NumPy potencializa a IA e o aprendizado de mรกquina
O NumPy estรก presente em praticamente todas as aplicaรงรตes modernas. Python Pilha de IA. PyTorTensores ch, tensores eager do TensorFlow e arrays JAX expรตem as mesmas funcionalidades de broadcasting, fatiamento e reshapeamento.ping API que vocรช aprendeu sobre ndarrays do NumPy. Muitos tutoriais ainda alimentam os loops de treinamento de modelos com arrays NumPy prรฉ-processados, e os frameworks os aceitam sem nenhuma conversรฃo.
Trรชs padrรตes concretos mostram como o NumPy se conecta ao trabalho de IA atualmente. Primeiro, engenheiros de dados transformam recursos brutos em arrays NumPy antes de entregรก-los a pipelines do scikit-learn ou a conjuntos de dados do Hugging Face. Segundo, pesquisadores usam o NumPy como base para CPUs e, em seguida, o substituem pelo CuPy, que oferece uma API quase idรชntica, mas รฉ executado em GPUs NVIDIA por meio do CUDA. Terceiro, o JAX se baseia na API do NumPy para adicionar diferenciaรงรฃo automรกtica e compilaรงรฃo just-in-time, de modo que o mesmo cรณdigo executado em um laptop possa ser executado em TPUs na nuvem. A conclusรฃo รฉ que as habilidades com arrays que vocรช desenvolve com o NumPy sรฃo รบteis em todas as principais ferramentas de aprendizado profundo, o que torna este tutorial um passo valioso na jornada para o desenvolvimento de IA.
