From the single neuron to backpropagation through thousands of layers -- these memory tricks lock in how neural networks are built, trained, and prevented from overfitting.
Or continue to the sub-topics below for more specialized Study Rooms and Forums
Proven Mnemonics & Acronyms — fast to learn, hard to forget.
import torch, torch.nn as nn
loss = criterion(model(X_batch), y_batch) # forward
loss.backward() # backward
optimizer.step() # update weights
optimizer.zero_grad() # reset gradientsimport torch, torch.nn as nn
loss = criterion(model(X_batch), y_batch) # forward
loss.backward() # backward
optimizer.step() # update weights
optimizer.zero_grad() # reset gradientsimport torch.nn as nn
sigmoid = nn.Sigmoid() # binary classification output
tanh = nn.Tanh() # hidden layers (older networks)
relu = nn.ReLU() # hidden layers (default choice)
softmax = nn.Softmax(dim=1) # multi-class outputimport torch.nn as nn
sigmoid = nn.Sigmoid() # binary classification output
tanh = nn.Tanh() # hidden layers (older networks)
relu = nn.ReLU() # hidden layers (default choice)
softmax = nn.Softmax(dim=1) # multi-class outputimport torch.nn as nn
layer = nn.Linear(256, 128)
nn.init.xavier_uniform_(layer.weight) # for tanh/sigmoid
nn.init.kaiming_uniform_(layer.weight) # for ReLU (He init)import torch.nn as nn
layer = nn.Linear(256, 128)
nn.init.xavier_uniform_(layer.weight) # for tanh/sigmoid
nn.init.kaiming_uniform_(layer.weight) # for ReLU (He init)model = MyNet()
optimizer = torch.optim.Adam(model.parameters(), lr=1e-3)
for epoch in range(50): # epochs
for X_batch, y_batch in DataLoader(dataset, batch_size=32): # batch size
# train step heremodel = MyNet()
optimizer = torch.optim.Adam(model.parameters(), lr=1e-3)
for epoch in range(50): # epochs
for X_batch, y_batch in DataLoader(dataset, batch_size=32): # batch size
# train step here