📚 Site oficial do PyTorch (Documentação)
| # | Comando / Função / Classe | O que faz | Exemplo |
|---|---|---|---|
| 1 | torch.tensor() | Cria um tensor a partir de dados (lista/array) | torch.tensor([1, 2, 3]) |
| 2 | torch.zeros() | Cria tensor preenchido com zeros | torch.zeros((3, 3)) |
| 3 | torch.ones() | Cria tensor preenchido com uns | torch.ones((2, 2)) |
| 4 | torch.rand() | Cria tensor com valores aleatórios (0 a 1) | torch.rand(3, 3) |
| 5 | torch.randn() | Distribuição normal (média 0, var 1) | torch.randn(5) |
| 6 | torch.eye() | Cria uma matriz identidade | torch.eye(3) |
| 7 | torch.arange() | Cria sequência de valores (start, end, step) | torch.arange(0, 10, 2) |
| 8 | torch.linspace() | Valores igualmente espaçados em um intervalo | torch.linspace(0, 1, 5) |
| 9 | tensor.shape | Retorna as dimensões do tensor | x.shape |
| 10 | tensor.dtype | Retorna o tipo de dado (float32, int64, etc) | x.dtype |
| 11 | tensor.device | Retorna o dispositivo (cpu ou cuda) | x.device |
| 12 | tensor.view() | Redimensiona o tensor (compartilha memória) | x.view(1, -1) |
| 13 | torch.reshape() | Muda a forma do tensor | torch.reshape(x, (2, 5)) |
| 14 | tensor.squeeze() | Remove dimensões unitárias (tamanho 1) | x.squeeze() |
| 15 | tensor.unsqueeze() | Adiciona uma dimensão unitária | x.unsqueeze(0) |
| 16 | torch.cat() | Concatena tensores em uma dimensão | torch.cat([x, y], dim=0) |
| 17 | torch.stack() | Empilha tensores em uma nova dimensão | torch.stack([x, y]) |
| 18 | tensor.T | Transpõe o tensor (2D) | x.T |
| 19 | tensor.permute() | Reordena as dimensões do tensor | x.permute(2, 0, 1) |
| 20 | tensor.flatten() | Transforma o tensor em um vetor de 1D | x.flatten() |
| 21 | torch.add() | Soma dois tensores | torch.add(x, y) |
| 22 | torch.mul() | Multiplicação elemento a elemento | torch.mul(x, y) |
| 23 | torch.matmul() | Multiplicação de matrizes | torch.matmul(x, y) |
| 24 | torch.sum() | Soma de todos os elementos | x.sum() |
| 25 | torch.mean() | Média dos elementos | x.mean() |
| 26 | torch.max() | Valor máximo (e índice opcional) | x.max(dim=0) |
| 27 | torch.abs() | Valor absoluto | torch.abs(x) |
| 28 | torch.exp() | Exponencial | torch.exp(x) |
| 29 | torch.log() | Logaritmo natural | torch.log(x) |
| 30 | requires_grad=True | Habilita o rastreio de gradientes | torch.tensor(x, requires_grad=True) |
| 31 | tensor.backward() | Calcula gradientes (Backpropagation) | loss.backward() |
| 32 | tensor.grad | Acessa os gradientes calculados | w.grad |
| 33 | torch.no_grad() | Desabilita cálculo de gradiente (Inference) | with torch.no_grad(): |
| 34 | tensor.detach() | Separa o tensor do grafo de computação | y = x.detach() |
| 35 | nn.Module | Classe base para todos os modelos | class Net(nn.Module): |
| 36 | nn.Linear() | Camada densa (Fully Connected) | nn.Linear(in_features, out) |
| 37 | nn.Conv2d() | Camada de convolução 2D (Imagens) | nn.Conv2d(3, 16, 3) |
| 38 | nn.MaxPool2d() | Max pooling para redução espacial | nn.MaxPool2d(2) |
| 39 | nn.ReLU() | Função de ativação ReLU | nn.ReLU() |
| 40 | nn.Sigmoid() | Função de ativação Sigmóide | nn.Sigmoid() |
| 41 | nn.Softmax() | Normalização para probabilidades | nn.Softmax(dim=1) |
| 42 | nn.Dropout() | Zera neurônios aleatórios para regularização | nn.Dropout(0.5) |
| 43 | nn.BatchNorm2d() | Normalização de lote para imagens | nn.BatchNorm2d(32) |
| 44 | nn.Sequential() | Container sequencial para módulos | nn.Sequential(capa1, capa2) |
| 45 | nn.Flatten() | Achata a entrada para camadas lineares | nn.Flatten() |
| 46 | nn.Embedding() | Tabela de lookup para vetores densos | nn.Embedding(1000, 50) |
| 47 | nn.LSTM() | Rede neural recorrente LSTM | nn.LSTM(input, hidden) |
| 48 | nn.MSELoss() | Erro Quadrático Médio (Regressão) | criterion = nn.MSELoss() |
| 49 | nn.CrossEntropyLoss() | Entropia Cruzada (Classificação) | criterion = nn.CrossEntropyLoss() |
| 50 | nn.BCELoss() | Binary Cross Entropy | nn.BCELoss() |
| 51 | nn.L1Loss() | Erro absoluto médio | nn.L1Loss() |
| 52 | optim.SGD() | Stochastic Gradient Descent | optim.SGD(model.parameters(), lr=0.01) |
| 53 | optim.Adam() | Otimizador Adam (Adaptativo) | optim.Adam(model.parameters(), lr=0.001) |
| 54 | optimizer.step() | Atualiza os pesos do modelo | optimizer.step() |
| 55 | optimizer.zero_grad() | Zera os gradientes acumulados | optimizer.zero_grad() |
| 56 | Dataset | Classe abstrata para representar dados | class MyData(Dataset): |
| 57 | DataLoader | Iterador para carregar dados em lotes | DataLoader(ds, batch_size=32) |
| 58 | torchvision.datasets | Datasets prontos (MNIST, CIFAR) | datasets.MNIST(root='./') |
| 59 | torchvision.transforms | Transformações em imagens | transforms.ToTensor() |
| 60 | torch.cuda.is_available() | Verifica se há GPU disponível | torch.cuda.is_available() |
| 61 | tensor.to('cuda') | Move o tensor para a GPU | x.to('cuda') |
| 62 | tensor.cpu() | Move o tensor de volta para a CPU | x.cpu() |
| 63 | torch.device() | Define o dispositivo padrão | device = torch.device('cuda') |
| 64 | torch.save() | Salva objeto (modelo/tensor) em disco | torch.save(model.state_dict(), 'm.pt') |
| 65 | torch.load() | Carrega objeto do disco | torch.load('m.pt') |
| 66 | model.state_dict() | Retorna dicionário com parâmetros do modelo | model.state_dict() |
| 67 | model.load_state_dict() | Carrega pesos no modelo | model.load_state_dict(state) |
| 68 | model.eval() | Define modo de avaliação (inference) | model.eval() |
| 69 | model.train() | Define modo de treinamento | model.train() |
| 70 | torch.manual_seed() | Fixa semente aleatória para reprodutibilidade | torch.manual_seed(42) |
| 71 | torch.clamp() | Limita valores em um intervalo [min, max] | torch.clamp(x, 0, 1) |
| 72 | torch.where() | Retorna valores baseados em condição | torch.where(x > 0, x, y) |
| 73 | torch.argmax() | Índice do maior valor | torch.argmax(x, dim=1) |
| 74 | torch.full() | Cria tensor preenchido com valor específico | torch.full((2,2), 7) |
| 75 | torch.norm() | Calcula a norma do tensor | torch.norm(x) |
| 76 | torch.split() | Divide o tensor em pedaços | torch.split(x, 2) |
| 77 | torch.chunk() | Divide o tensor em N partes | torch.chunk(x, 3) |
| 78 | torch.topk() | Retorna os K maiores valores | torch.topk(x, 5) |
| 79 | tensor.item() | Converte tensor escalar em número Python | x.item() |
| 80 | tensor.numpy() | Converte tensor para array NumPy | x.numpy() |
| 81 | torch.from_numpy() | Converte array NumPy para Tensor | torch.from_numpy(arr) |
| 82 | torch.clone() | Cria cópia profunda do tensor | y = x.clone() |
| 83 | torch.equal() | Verifica se dois tensores são iguais | torch.equal(x, y) |
| 84 | torch.gather() | Coleta valores ao longo de um eixo | torch.gather(x, 1, idx) |
| 85 | torch.nn.init | Funções para inicialização de pesos | nn.init.xavier_uniform_(m.weight) |
| 86 | nn.LeakyReLU() | Ativação ReLU com inclinação para negativos | nn.LeakyReLU(0.01) |
| 87 | nn.Tanh() | Função de ativação Tangente Hiperbólica | nn.Tanh() |
| 88 | nn.Parameter() | Define um tensor como parâmetro treinável | self.w = nn.Parameter(data) |
| 89 | torch.utils.data.random_split() | Divide dataset em treino/teste | random_split(ds, [80, 20]) |
| 90 | torch.optim.lr_scheduler | Ajusta taxa de aprendizado no treino | scheduler.step() |
| 91 | torch.cuda.empty_cache() | Limpa cache da memória da GPU | torch.cuda.empty_cache() |
| 92 | torch.set_printoptions() | Configura como tensores são exibidos | torch.set_printoptions(precision=2) |
| 93 | torch.bmm() | Multiplicação de matrizes em lote | torch.bmm(batch1, batch2) |
| 94 | torch.diag() | Extrai a diagonal ou cria matriz diagonal | torch.diag(x) |
| 95 | torch.mean(dim) | Média ao longo de uma dimensão | x.mean(dim=0) |
| 96 | torch.var() | Variância dos elementos | torch.var(x) |
| 97 | torch.std() | Desvio padrão | torch.std(x) |
| 98 | torch.prod() | Produto de todos os elementos | torch.prod(x) |
| 99 | torch.any() | Verifica se existe algum elemento True | torch.any(x > 0) |
| 100 | torch.all() | Verifica se todos os elementos são True | torch.all(x == 1) |
| 101 | torch.transpose() | Troca duas dimensões específicas | torch.transpose(x, 0, 1) |