🔥 PyTorch Cheat Sheet

📚 Site oficial do PyTorch (Documentação)

# Comando / Função / Classe O que faz Exemplo
1torch.tensor()Cria um tensor a partir de dados (lista/array)torch.tensor([1, 2, 3])
2torch.zeros()Cria tensor preenchido com zerostorch.zeros((3, 3))
3torch.ones()Cria tensor preenchido com unstorch.ones((2, 2))
4torch.rand()Cria tensor com valores aleatórios (0 a 1)torch.rand(3, 3)
5torch.randn()Distribuição normal (média 0, var 1)torch.randn(5)
6torch.eye()Cria uma matriz identidadetorch.eye(3)
7torch.arange()Cria sequência de valores (start, end, step)torch.arange(0, 10, 2)
8torch.linspace()Valores igualmente espaçados em um intervalotorch.linspace(0, 1, 5)
9tensor.shapeRetorna as dimensões do tensorx.shape
10tensor.dtypeRetorna o tipo de dado (float32, int64, etc)x.dtype
11tensor.deviceRetorna o dispositivo (cpu ou cuda)x.device
12tensor.view()Redimensiona o tensor (compartilha memória)x.view(1, -1)
13torch.reshape()Muda a forma do tensortorch.reshape(x, (2, 5))
14tensor.squeeze()Remove dimensões unitárias (tamanho 1)x.squeeze()
15tensor.unsqueeze()Adiciona uma dimensão unitáriax.unsqueeze(0)
16torch.cat()Concatena tensores em uma dimensãotorch.cat([x, y], dim=0)
17torch.stack()Empilha tensores em uma nova dimensãotorch.stack([x, y])
18tensor.TTranspõe o tensor (2D)x.T
19tensor.permute()Reordena as dimensões do tensorx.permute(2, 0, 1)
20tensor.flatten()Transforma o tensor em um vetor de 1Dx.flatten()
21torch.add()Soma dois tensorestorch.add(x, y)
22torch.mul()Multiplicação elemento a elementotorch.mul(x, y)
23torch.matmul()Multiplicação de matrizestorch.matmul(x, y)
24torch.sum()Soma de todos os elementosx.sum()
25torch.mean()Média dos elementosx.mean()
26torch.max()Valor máximo (e índice opcional)x.max(dim=0)
27torch.abs()Valor absolutotorch.abs(x)
28torch.exp()Exponencialtorch.exp(x)
29torch.log()Logaritmo naturaltorch.log(x)
30requires_grad=TrueHabilita o rastreio de gradientestorch.tensor(x, requires_grad=True)
31tensor.backward()Calcula gradientes (Backpropagation)loss.backward()
32tensor.gradAcessa os gradientes calculadosw.grad
33torch.no_grad()Desabilita cálculo de gradiente (Inference)with torch.no_grad():
34tensor.detach()Separa o tensor do grafo de computaçãoy = x.detach()
35nn.ModuleClasse base para todos os modelosclass Net(nn.Module):
36nn.Linear()Camada densa (Fully Connected)nn.Linear(in_features, out)
37nn.Conv2d()Camada de convolução 2D (Imagens)nn.Conv2d(3, 16, 3)
38nn.MaxPool2d()Max pooling para redução espacialnn.MaxPool2d(2)
39nn.ReLU()Função de ativação ReLUnn.ReLU()
40nn.Sigmoid()Função de ativação Sigmóidenn.Sigmoid()
41nn.Softmax()Normalização para probabilidadesnn.Softmax(dim=1)
42nn.Dropout()Zera neurônios aleatórios para regularizaçãonn.Dropout(0.5)
43nn.BatchNorm2d()Normalização de lote para imagensnn.BatchNorm2d(32)
44nn.Sequential()Container sequencial para módulosnn.Sequential(capa1, capa2)
45nn.Flatten()Achata a entrada para camadas linearesnn.Flatten()
46nn.Embedding()Tabela de lookup para vetores densosnn.Embedding(1000, 50)
47nn.LSTM()Rede neural recorrente LSTMnn.LSTM(input, hidden)
48nn.MSELoss()Erro Quadrático Médio (Regressão)criterion = nn.MSELoss()
49nn.CrossEntropyLoss()Entropia Cruzada (Classificação)criterion = nn.CrossEntropyLoss()
50nn.BCELoss()Binary Cross Entropynn.BCELoss()
51nn.L1Loss()Erro absoluto médionn.L1Loss()
52optim.SGD()Stochastic Gradient Descentoptim.SGD(model.parameters(), lr=0.01)
53optim.Adam()Otimizador Adam (Adaptativo)optim.Adam(model.parameters(), lr=0.001)
54optimizer.step()Atualiza os pesos do modelooptimizer.step()
55optimizer.zero_grad()Zera os gradientes acumuladosoptimizer.zero_grad()
56DatasetClasse abstrata para representar dadosclass MyData(Dataset):
57DataLoaderIterador para carregar dados em lotesDataLoader(ds, batch_size=32)
58torchvision.datasetsDatasets prontos (MNIST, CIFAR)datasets.MNIST(root='./')
59torchvision.transformsTransformações em imagenstransforms.ToTensor()
60torch.cuda.is_available()Verifica se há GPU disponíveltorch.cuda.is_available()
61tensor.to('cuda')Move o tensor para a GPUx.to('cuda')
62tensor.cpu()Move o tensor de volta para a CPUx.cpu()
63torch.device()Define o dispositivo padrãodevice = torch.device('cuda')
64torch.save()Salva objeto (modelo/tensor) em discotorch.save(model.state_dict(), 'm.pt')
65torch.load()Carrega objeto do discotorch.load('m.pt')
66model.state_dict()Retorna dicionário com parâmetros do modelomodel.state_dict()
67model.load_state_dict()Carrega pesos no modelomodel.load_state_dict(state)
68model.eval()Define modo de avaliação (inference)model.eval()
69model.train()Define modo de treinamentomodel.train()
70torch.manual_seed()Fixa semente aleatória para reprodutibilidadetorch.manual_seed(42)
71torch.clamp()Limita valores em um intervalo [min, max]torch.clamp(x, 0, 1)
72torch.where()Retorna valores baseados em condiçãotorch.where(x > 0, x, y)
73torch.argmax()Índice do maior valortorch.argmax(x, dim=1)
74torch.full()Cria tensor preenchido com valor específicotorch.full((2,2), 7)
75torch.norm()Calcula a norma do tensortorch.norm(x)
76torch.split()Divide o tensor em pedaçostorch.split(x, 2)
77torch.chunk()Divide o tensor em N partestorch.chunk(x, 3)
78torch.topk()Retorna os K maiores valorestorch.topk(x, 5)
79tensor.item()Converte tensor escalar em número Pythonx.item()
80tensor.numpy()Converte tensor para array NumPyx.numpy()
81torch.from_numpy()Converte array NumPy para Tensortorch.from_numpy(arr)
82torch.clone()Cria cópia profunda do tensory = x.clone()
83torch.equal()Verifica se dois tensores são iguaistorch.equal(x, y)
84torch.gather()Coleta valores ao longo de um eixotorch.gather(x, 1, idx)
85torch.nn.initFunções para inicialização de pesosnn.init.xavier_uniform_(m.weight)
86nn.LeakyReLU()Ativação ReLU com inclinação para negativosnn.LeakyReLU(0.01)
87nn.Tanh()Função de ativação Tangente Hiperbólicann.Tanh()
88nn.Parameter()Define um tensor como parâmetro treinávelself.w = nn.Parameter(data)
89torch.utils.data.random_split()Divide dataset em treino/testerandom_split(ds, [80, 20])
90torch.optim.lr_schedulerAjusta taxa de aprendizado no treinoscheduler.step()
91torch.cuda.empty_cache()Limpa cache da memória da GPUtorch.cuda.empty_cache()
92torch.set_printoptions()Configura como tensores são exibidostorch.set_printoptions(precision=2)
93torch.bmm()Multiplicação de matrizes em lotetorch.bmm(batch1, batch2)
94torch.diag()Extrai a diagonal ou cria matriz diagonaltorch.diag(x)
95torch.mean(dim)Média ao longo de uma dimensãox.mean(dim=0)
96torch.var()Variância dos elementostorch.var(x)
97torch.std()Desvio padrãotorch.std(x)
98torch.prod()Produto de todos os elementostorch.prod(x)
99torch.any()Verifica se existe algum elemento Truetorch.any(x > 0)
100torch.all()Verifica se todos os elementos são Truetorch.all(x == 1)
101torch.transpose()Troca duas dimensões específicastorch.transpose(x, 0, 1)