30.10  The d2l API Reference

This section lists the classes and functions in the d2l package alphabetically and links each entry to its definition and explanation in the book. The generated modules are also available in this book’s GitHub repository.

30.10.1 Classes

class Accumulator

Accumulator(n)

For accumulating sums over n variables. Section 30.9

  • add(*args)
  • reset()

class ActorCritic(nn.Module)

ActorCritic(policy, value, lr=0.01)

A policy and a value function, each with its own optimizer. Section 14.3

  • forward(obs)
  • log_prob(obs, act) — log pi(a|s) for a batch of states and the actions taken there.
  • V(obs)
  • tabular(num_states, num_actions, lr=0.1) — One preference theta_{s,a} per state-action pair: an embedding.
  • act(obs, rng) — Sample an action; numpy in, int out, the acting protocol of evaluate. Section 14.3
  • act_greedy(obs, rng=None)
  • value_np(obs)
  • log_prob_np(obs, act)
  • mlp(obs_dim, num_actions, hidden=64, lr=0.01) — The same container with the tables replaced by one-hidden-layer nets. Section 14.7

class Animator

Animator(xlabel=None, ylabel=None, legend=None, xlim=None, ylim=None, xscale='linear', yscale='linear', fmts=('-', 'm--', 'g-.', 'r:'), nrows=1, ncols=1, figsize=(3.5, 2.5))

For plotting data in animation. Section 30.9

  • add(x, y)

class BERTEncoder(nn.Module)

BERTEncoder(vocab_size, num_hiddens, ffn_num_hiddens, num_heads, num_blks, dropout, max_len=1000, **kwargs)

BERT encoder. Section 18.9

  • forward(tokens, segments, valid_lens)

class BERTModel(nn.Module)

BERTModel(vocab_size, num_hiddens, ffn_num_hiddens, num_heads, num_blks, dropout, max_len=1000)

The BERT model. Section 18.9

  • forward(tokens, segments, valid_lens=None, pred_positions=None)

class BPETokenizer

BPETokenizer(vocab_size=1024, pattern=None, specials=('<pad>', '<bos>', '<eos>'))

Byte-level BPE tokenizer trained by iterated most-frequent-pair Section 8.2

  • pad()
  • bos()
  • eos()
  • train(text) — Learn vocab_size - 256 merges, most frequent pair first.
  • encode(text, allow_special=False)
  • decode(ids)
  • from_tiktoken(name) — Load a published bytes->rank table (e.g. ‘gpt2’) into our encoder. Section 8.2
  • to_tokens(ids)

class BananasDataset(torch.utils.data.Dataset)

BananasDataset(is_train)

A customized dataset to load the banana detection dataset. Section 20.6

class Batch

Batch(obs, act, rew, next_obs, term, ep_ends)

A flat batch of transitions, plus the episode boundaries. Section 14.5

  • episodes() — Yield one slice per episode.
  • episode_returns(gamma=1.0) — R(tau), the discounted return, one number per episode.
  • backward_scan(x, factor) — y_t = x_t + factor * y_{t+1}, restarted at every episode boundary. Section 14.6
  • reward_to_go(gamma) — G_t: the discounted return of the rest of its episode, by one scan. Section 14.6
  • td_target(bootstrap, gamma) — r_t + gamma (1 - terminated) V(s’), by a numpy bootstrap. Section 15.1
  • gae(value_fn, gamma, lam) — GAE(gamma, lam): the reward-to-go scan, run on the TD errors. Section 15.1

class Benchmark

Benchmark(f, warmup=3, repeats=10, desc='time')

Time a callable: warmup, then device-synchronized average seconds. Section 13.1

class Classifier(d2l.Module)

The base class of classification models. Section 3.3

  • validation_step(batch)
  • accuracy(Y_hat, Y, averaged=True) — Compute the fraction of correct predictions. Section 3.3
  • loss(Y_hat, Y, averaged=True)
  • layer_summary(X_shape)

class DataModule(d2l.HyperParameters)

DataModule(root='../data', num_workers=4)

The base class of data. Section 2.2

  • get_dataloader(train)
  • train_dataloader()
  • val_dataloader()
  • get_tensorloader(tensors, train, indices=slice(0, None))

class Decoder(nn.Module)

The base decoder interface for the encoder-decoder architecture. Section 18.1.1

  • init_state(enc_all_outputs, *args)
  • forward(X, state)

class DotProductAttention(nn.Module)

DotProductAttention(dropout)

Scaled dot product attention. Section 10.2

  • forward(queries, keys, values, valid_lens=None)

class Encoder(nn.Module)

The base encoder interface for the encoder-decoder architecture. Section 18.1.1

  • forward(X, *args)

class EncoderDecoder(d2l.Classifier)

EncoderDecoder(encoder, decoder)

The base class for the encoder-decoder architecture. Section 18.1.1

  • forward(enc_X, dec_X, *args)
  • predict_step(batch, device, num_steps, save_attention_weights=False)

class FashionMNIST(d2l.DataModule)

FashionMNIST(batch_size=64, resize=(28, 28))

The Fashion-MNIST dataset. Section 3.2

  • text_labels(indices) — Return text labels. Section 3.2
  • get_dataloader(train)
  • visualize(batch, nrows=1, ncols=8, labels=None)

class FeedForward(nn.Module)

FeedForward(num_hiddens, act='swiglu', bias=False)

Position-wise FFN: GELU MLP or SwiGLU at matched parameter count. Section 11.1

  • forward(X)

class GPT(nn.Module)

GPT(vocab_size, num_hiddens=256, num_heads=8, num_blks=6, max_len=1024, pos='rope', norm='rms', act='swiglu', pre_norm=True, bias=False, dropout=0)

Decoder-only transformer language model built from configurable Section 11.2

  • forward(X)
  • generate(prefix, num_tokens, temperature=1.0, top_k=None) — Sample a continuation of the token-id list prefix. Section 11.2

class GQAAttention(nn.Module)

GQAAttention(num_hiddens, num_heads, num_kv_heads, bias=False, rope=False, causal=True)

Causal multi-head attention with num_kv_heads shared KV heads. Section 11.3

  • forward(queries, keys, values, valid_lens=None)

class GRU(d2l.RNN)

GRU(num_inputs, num_hiddens, num_layers=1, dropout=0)

The multilayer GRU model implemented with high-level APIs. Section 12.1.3

class GaussianHead(nn.Module)

GaussianHead(obs_dim, act_dim, hidden)

Mean network plus a state-independent learned log standard deviation. Section 14.7

  • forward(obs)

class GaussianPolicy(d2l.ActorCritic)

GaussianPolicy(obs_dim, act_dim, hidden=64, lr=0.01)

The same interface over a Normal instead of a softmax; nothing that Section 14.7

  • log_prob(obs, act)
  • act(obs, rng)
  • act_greedy(obs, rng=None)

class HyperParameters

The base class of hyperparameters. Section 2.2

  • save_hyperparameters(ignore=None) — Save function arguments into class attributes. Section 30.9

class LSTM(d2l.RNN)

LSTM(num_inputs, num_hiddens, num_layers=1, dropout=0)

The multilayer LSTM model implemented with high-level APIs. Section 12.1

  • forward(inputs, H_C=None)

class LSTMScratch(d2l.Module)

LSTMScratch(num_inputs, num_hiddens, sigma=0.01)

The long short-term memory (LSTM) cell implemented from scratch. Section 12.1

  • forward(inputs, H_C=None)

class LeNet(d2l.Classifier)

LeNet(lr=0.1, num_classes=10)

The LeNet-5 model. Section 6.6

class LinearRegression(d2l.Module)

LinearRegression(lr)

The linear regression model implemented with high-level APIs. Section 2.5

  • forward(X)
  • loss(y_hat, y)
  • configure_optimizers()
  • get_w_b()

class LinearRegressionScratch(d2l.Module)

LinearRegressionScratch(num_inputs, lr, sigma=0.01)

The linear regression model implemented from scratch. Section 2.4

  • forward(X)
  • loss(y_hat, y)
  • configure_optimizers()

class MTFraEng(d2l.DataModule)

MTFraEng(batch_size, num_steps=20, num_train=1024, num_val=128, vocab_size=4000)

The English-French dataset, tokenized with a shared byte-level BPE. Section 18.1.2

  • build(src_sentences, tgt_sentences)
  • get_dataloader(train)

class Mamba(d2l.Module)

Mamba(num_inputs, num_blocks=2, num_states=4, dropout=0)

A stack of Mamba blocks with the recurrent-cell interface. Section 12.3

  • forward(X, state=None)
  • step(X, state=None) — Advance the stack one token: X is (batch, d); one state per block. Section 12.3

class MambaBlock(nn.Module)

MambaBlock(num_hiddens, num_states=4, expand=2, conv_width=4, dropout=0)

Conv + SiLU + selective SSM, gated, inside a pre-norm residual. Section 12.3

  • forward(X)
  • step(X, state=None) — Advance one token, carrying (conv buffer, SSM state). Section 12.3

class MaskLM(nn.Module)

MaskLM(vocab_size, num_hiddens, **kwargs)

The masked language model task of BERT. Section 18.9

  • forward(X, pred_positions)

class MaskedSoftmaxCELoss(nn.CrossEntropyLoss)

The softmax cross-entropy loss with masks. Section 30.9

  • forward(pred, label, valid_len)

class Module(d2l.nn_Module, d2l.HyperParameters)

Module(plot_train_per_epoch=2, plot_valid_per_epoch=1)

The base class of models. Section 2.2

  • loss(y_hat, y)
  • forward(X)
  • plot(key, value, train) — Plot a point in animation.
  • training_step(batch)
  • validation_step(batch)
  • configure_optimizers()
  • apply_init(inputs, init=None)

class MultiHeadAttention(d2l.Module)

MultiHeadAttention(num_hiddens, num_heads, dropout, bias=False, **kwargs)

Multi-head attention. Section 10.3

  • forward(queries, keys, values, valid_lens)
  • transpose_qkv(X) — Transposition for parallel computation of multiple attention heads. Section 10.3
  • transpose_output(X) — Reverse the operation of transpose_qkv. Section 10.3

class NextSentencePred(nn.Module)

NextSentencePred(**kwargs)

The next sentence prediction task of BERT. Section 18.9

  • forward(X)

class PatchEmbedding(nn.Module)

PatchEmbedding(img_size=96, patch_size=16, num_hiddens=512)

Image-to-sequence stem of the vision transformer. Section 11.5

  • forward(X)

class ProgressBoard(d2l.HyperParameters)

ProgressBoard(xlabel=None, ylabel=None, xlim=None, ylim=None, xscale='linear', yscale='linear', ls=['-', '--', '-.', ':'], colors=['C0', 'C1', 'C2', 'C3'], fig=None, axes=None, figsize=(3.5, 2.5), display=True)

The board that plots data points in animation. Section 2.2

  • draw(x, y, label, every_n=1) — Schedule the point (x, y) to be plotted under label. Section 30.9
  • flush() — Wait for every scheduled point to be drawn, then render the final Section 30.9

class RNN(d2l.Module)

RNN(num_inputs, num_hiddens)

The RNN model implemented with high-level APIs. Section 8.5.5

  • forward(inputs, H=None)

class RNNLM(d2l.RNNLMScratch)

The RNN-based language model implemented with high-level APIs. Section 8.5.5

  • init_params()
  • embedding(X)
  • output_layer(hiddens)

class RNNLMScratch(d2l.Classifier)

RNNLMScratch(rnn, vocab_size, lr=0.01)

The RNN-based language model implemented from scratch. Section 8.5

  • init_params()
  • training_step(batch)
  • validation_step(batch)
  • embedding(X)
  • output_layer(rnn_outputs)
  • forward(X, state=None)
  • predict(prefix, num_tokens, tok, device=None, temperature=0.0, rng=None)

class RNNScratch(d2l.Module)

RNNScratch(num_inputs, num_hiddens, sigma=0.01)

The RNN model implemented from scratch. Section 8.5

  • forward(inputs, state=None)

class RandomGenerator

RandomGenerator(sampling_weights)

Randomly draw among {1, …, n} according to n sampling weights. Section 18.4

  • draw()

class ReplayBuffer

ReplayBuffer(capacity, obs_dim)

A ring of transitions in preallocated numpy; sample() returns a Batch. Section 15.4

  • add(obs, act, rew, next_obs, term)
  • sample(batch_size, rng)

class ResNeXtBlock(nn.Module)

ResNeXtBlock(num_channels, groups, bot_mul, use_1x1conv=False, strides=1)

The ResNeXt block. Section 7.4

  • forward(X)

class Residual(nn.Module)

Residual(num_channels, use_1x1conv=False, strides=1)

The Residual block of ResNet models. Section 7.4

  • forward(X)

class S4D(nn.Module)

S4D(num_hiddens, num_states=4, dt_min=0.001, dt_max=0.1)

A diagonal state space layer: one SSM per feature channel. Section 12.2

  • forward(u)
  • step(u, x=None) — Advance one token: u is (batch, H); x is the (batch, H, N) state. Section 12.2

class SGD(d2l.HyperParameters)

SGD(params, lr)

Minibatch stochastic gradient descent. Section 2.4

  • step()
  • zero_grad()

class SNLIDataset(torch.utils.data.Dataset)

SNLIDataset(dataset, num_steps, vocab=None)

A customized dataset to load the SNLI dataset. Section 19.4

class SelectiveSSM(nn.Module)

SelectiveSSM(num_hiddens, num_states=4, dt_min=0.001, dt_max=0.1)

A diagonal SSM whose step size, input matrix, and read-out are Section 12.3

  • forward(u)
  • step(u, x=None) — Advance one token: u is (batch, H); x is the (batch, H, N) state. Section 12.3

class Seq2Seq(d2l.EncoderDecoder)

Seq2Seq(encoder, decoder, tgt_pad, lr)

The RNN encoder-decoder for sequence-to-sequence learning. Section 18.1.2

  • validation_step(batch)
  • configure_optimizers()

class Seq2SeqEncoder(d2l.Encoder)

Seq2SeqEncoder(vocab_size, embed_size, num_hiddens, num_layers, dropout=0)

The RNN encoder for sequence-to-sequence learning. Section 18.1.2

  • forward(X, *args)

class SoftmaxRegression(d2l.Classifier)

SoftmaxRegression(num_outputs, lr)

The softmax regression model. Section 3.5

  • forward(X)

class SyntheticRegressionData(d2l.DataModule)

SyntheticRegressionData(w, b, noise=0.01, num_train=1000, num_val=1000, batch_size=32)

Synthetic data for linear regression. Section 2.3

  • get_dataloader(train)

class TabularMDP

TabularMDP(P, r, gamma)

A finite MDP as dense arrays: P[s, a, s’] and r[s, a]. Section 14.1

  • from_gym(env, gamma) — Read the transition table Gymnasium exposes as env.unwrapped.P.
  • backup(V) — Q(s, a) = r(s, a) + gamma * sum_{s’} P(s’|s, a) V(s’).

class TimeMachine(d2l.DataModule)

TimeMachine(batch_size, num_steps, num_train=10000, num_val=5000, tokenization='bpe', vocab_size=1024)

The Time Machine dataset. Section 8.2

  • build(raw_text, vocab=None)
  • get_dataloader(train)

class Timer

Record multiple running times. Section 9.4

  • start() — Start the timer.
  • stop() — Stop the timer and record the time in a list.
  • avg() — Return the average time.
  • sum() — Return the sum of time.
  • cumsum() — Return the accumulated time.

class TinyCharLM(nn.Module)

TinyCharLM(vocab_size, num_hiddens=128, num_heads=4, num_blks=2, pos='rope', max_len=512, bias=False)

Attention-only character-level language model. Section 10.4

  • forward(X)
  • attention_weights(X) — Per-block attention maps, each (batch, num_heads, T, T).

class TinyLM(nn.Module)

TinyLM(vocab_size, d_model=128, num_heads=2, num_blks=2, max_len=64)

A small decoder-only transformer language model. Section 9.6

  • attention(blk, X)
  • forward(X)

class TokenEmbedding

TokenEmbedding(embedding_name)

Token Embedding. Section 18.8

class Trainer(d2l.HyperParameters)

Trainer(max_epochs, num_gpus=0, gradient_clip_val=0)

The base class for training models with data. Section 2.2

  • prepare_data(data)
  • fit(model, data)
  • fit_epoch()
  • prepare_batch(batch)
  • prepare_model(model)
  • clip_gradients(grad_clip_val, model)

class TransformerBlock(nn.Module)

TransformerBlock(num_hiddens, num_heads, dropout=0, norm='rms', act='swiglu', pre_norm=True, bias=False, attn_factory=None, ffn_factory=None)

Configurable transformer block: attention + FFN on a residual Section 11.1

  • forward(X, valid_lens=None)

class VOCSegDataset(torch.utils.data.Dataset)

VOCSegDataset(is_train, crop_size, voc_dir)

A customized dataset to load the VOC dataset. Section 20.9

  • normalize_image(img)
  • filter(imgs)

class ViT(d2l.Classifier)

ViT(img_size, patch_size, num_hiddens, mlp_num_hiddens, num_heads, num_blks, emb_dropout, blk_dropout, lr=0.1, use_bias=False, num_classes=10)

Vision transformer. Section 11.5

  • forward(X)

class ViTBlock(nn.Module)

ViTBlock(num_hiddens, mlp_num_hiddens, num_heads, dropout, use_bias=False)

Pre-norm transformer block with a GELU MLP. Section 11.5

  • forward(X, valid_lens=None)

class Vocab

Vocab(tokens=[], min_freq=0, reserved_tokens=[])

Vocabulary for text. Section 8.2

  • to_tokens(indices)
  • unk()

class Accumulator

Accumulator(n)

For accumulating sums over n variables. Section 30.9

  • add(*args)
  • reset()

class Animator

Animator(xlabel=None, ylabel=None, legend=None, xlim=None, ylim=None, xscale='linear', yscale='linear', fmts=('-', 'm--', 'g-.', 'r:'), nrows=1, ncols=1, figsize=(3.5, 2.5))

For plotting data in animation. Section 30.9

  • add(x, y)

class BERTEncoder(keras.layers.Layer)

BERTEncoder(vocab_size, num_hiddens, ffn_num_hiddens, num_heads, num_blks, dropout, max_len=1000, **kwargs)

BERT encoder. Section 18.9

  • call(tokens, segments, valid_lens, training=False, **kwargs)

class BERTModel(keras.Model)

BERTModel(vocab_size, num_hiddens, ffn_num_hiddens, num_heads, num_blks, dropout, max_len=1000)

The BERT model. Section 18.9

  • call(tokens, segments, valid_lens=None, pred_positions=None, training=False, **kwargs)

class BPETokenizer

BPETokenizer(vocab_size=1024, pattern=None, specials=('<pad>', '<bos>', '<eos>'))

Byte-level BPE tokenizer trained by iterated most-frequent-pair Section 8.2

  • pad()
  • bos()
  • eos()
  • train(text) — Learn vocab_size - 256 merges, most frequent pair first.
  • encode(text, allow_special=False)
  • decode(ids)
  • from_tiktoken(name) — Load a published bytes->rank table (e.g. ‘gpt2’) into our encoder. Section 8.2
  • to_tokens(ids)

class BananasDataset

BananasDataset(is_train)

A customized dataset to load the banana detection dataset. Section 20.6

class Classifier(d2l.Module)

The base class of classification models. Section 3.3

  • validation_step(batch)
  • accuracy(Y_hat, Y, averaged=True) — Compute the fraction of correct predictions. Section 3.3
  • loss(Y_hat, Y, averaged=True)
  • layer_summary(X_shape)

class DataModule(d2l.HyperParameters)

DataModule(root='../data', num_workers=4)

The base class of data. Section 2.2

  • get_dataloader(train)
  • train_dataloader()
  • val_dataloader()
  • get_tensorloader(tensors, train, indices=slice(0, None))

class Decoder(tf.keras.layers.Layer)

The base decoder interface for the encoder-decoder architecture. Section 18.1.1

  • init_state(enc_all_outputs, *args)
  • call(X, state)

class Encoder(tf.keras.layers.Layer)

The base encoder interface for the encoder-decoder architecture. Section 18.1.1

  • call(X, *args)

class EncoderDecoder(d2l.Classifier)

EncoderDecoder(encoder, decoder)

The base class for the encoder-decoder architecture. Section 18.1.1

  • call(enc_X, dec_X, *args, training=None)
  • predict_step(batch, device, num_steps, save_attention_weights=False)

class FashionMNIST(d2l.DataModule)

FashionMNIST(batch_size=64, resize=(28, 28))

The Fashion-MNIST dataset. Section 3.2

  • text_labels(indices) — Return text labels. Section 3.2
  • get_dataloader(train)
  • visualize(batch, nrows=1, ncols=8, labels=None)

class HyperParameters

The base class of hyperparameters. Section 2.2

  • save_hyperparameters(ignore=None) — Save function arguments into class attributes. Section 30.9

class LeNet(d2l.Classifier)

LeNet(lr=0.1, num_classes=10)

The LeNet-5 model. Section 6.6

class LinearRegression(d2l.Module)

LinearRegression(lr)

The linear regression model implemented with high-level APIs. Section 2.5

  • forward(X)
  • loss(y_hat, y)
  • configure_optimizers()
  • get_w_b()

class LinearRegressionScratch(d2l.Module)

LinearRegressionScratch(num_inputs, lr, sigma=0.01)

The linear regression model implemented from scratch. Section 2.4

  • forward(X)
  • loss(y_hat, y)
  • configure_optimizers()

class MTFraEng(d2l.DataModule)

MTFraEng(batch_size, num_steps=20, num_train=1024, num_val=128, vocab_size=4000)

The English-French dataset, tokenized with a shared byte-level BPE. Section 18.1.2

  • build(src_sentences, tgt_sentences)
  • get_dataloader(train)

class MaskLM(keras.layers.Layer)

MaskLM(vocab_size, num_hiddens, **kwargs)

The masked language model task of BERT. Section 18.9

  • call(X, pred_positions, **kwargs)

class MaskedSoftmaxCELoss(tf.keras.losses.Loss)

MaskedSoftmaxCELoss(valid_len)

The softmax cross-entropy loss with masks. Section 30.9

  • call(label, pred)

class Module(d2l.nn_Module, d2l.HyperParameters)

Module(plot_train_per_epoch=2, plot_valid_per_epoch=1)

The base class of models. Section 2.2

  • loss(y_hat, y)
  • forward(X)
  • call(X, *args, training=None, **kwargs)
  • plot(key, value, train) — Plot a point in animation.
  • training_step(batch)
  • validation_step(batch)
  • configure_optimizers()

class NextSentencePred(keras.layers.Layer)

NextSentencePred(**kwargs)

The next sentence prediction task of BERT. Section 18.9

  • call(X, **kwargs)

class ProgressBoard(d2l.HyperParameters)

ProgressBoard(xlabel=None, ylabel=None, xlim=None, ylim=None, xscale='linear', yscale='linear', ls=['-', '--', '-.', ':'], colors=['C0', 'C1', 'C2', 'C3'], fig=None, axes=None, figsize=(3.5, 2.5), display=True)

The board that plots data points in animation. Section 2.2

  • draw(x, y, label, every_n=1) — Schedule the point (x, y) to be plotted under label. Section 30.9
  • flush() — Wait for every scheduled point to be drawn, then render the final Section 30.9

class RNN(d2l.Module)

RNN(num_inputs, num_hiddens)

The RNN model implemented with high-level APIs. Section 8.5.5

  • forward(inputs, H=None)

class RNNLM(d2l.RNNLMScratch)

The RNN-based language model implemented with high-level APIs. Section 8.5.5

  • init_params()
  • embedding(X)
  • output_layer(hiddens)

class RNNLMScratch(d2l.Classifier)

RNNLMScratch(rnn, vocab_size, lr=0.01)

The RNN-based language model implemented from scratch. Section 8.5

  • init_params()
  • embedding(X)
  • output_layer(rnn_outputs)
  • forward(X, state=None)
  • predict(prefix, num_tokens, tok, device=None, temperature=0.0, rng=None)

class RNNScratch(d2l.Module)

RNNScratch(num_inputs, num_hiddens, sigma=0.01)

The RNN model implemented from scratch. Section 8.5

  • forward(inputs, state=None)

class RandomGenerator

RandomGenerator(sampling_weights)

Randomly draw among {1, …, n} according to n sampling weights. Section 18.4

  • draw()

class ResNeXtBlock(tf.keras.Model)

ResNeXtBlock(num_channels, groups, bot_mul, use_1x1conv=False, strides=1)

The ResNeXt block. Section 7.4

  • call(X)

class Residual(tf.keras.Model)

Residual(num_channels, use_1x1conv=False, strides=1)

The Residual block of ResNet models. Section 7.4

  • call(X)

class SGD(d2l.HyperParameters)

SGD(lr)

Minibatch stochastic gradient descent. Section 2.4

  • apply_gradients(grads_and_vars)

class SNLIDataset

SNLIDataset(dataset, num_steps, vocab=None)

A customized dataset to load the SNLI dataset. Section 19.4

class Seq2Seq(d2l.EncoderDecoder)

Seq2Seq(encoder, decoder, tgt_pad, lr)

The RNN encoder-decoder for sequence-to-sequence learning. Section 18.1.2

  • validation_step(batch)
  • configure_optimizers()

class Seq2SeqEncoder(d2l.Encoder)

Seq2SeqEncoder(vocab_size, embed_size, num_hiddens, num_layers, dropout=0)

The RNN encoder for sequence-to-sequence learning. Section 18.1.2

  • call(X, *args)

class SoftmaxRegression(d2l.Classifier)

SoftmaxRegression(num_outputs, lr)

The softmax regression model. Section 3.5

  • forward(X)

class SyntheticRegressionData(d2l.DataModule)

SyntheticRegressionData(w, b, noise=0.01, num_train=1000, num_val=1000, batch_size=32)

Synthetic data for linear regression. Section 2.3

  • get_dataloader(train)

class TimeMachine(d2l.DataModule)

TimeMachine(batch_size, num_steps, num_train=10000, num_val=5000, tokenization='bpe', vocab_size=1024)

The Time Machine dataset. Section 8.2

  • build(raw_text, vocab=None)
  • get_dataloader(train)

class Timer

Record multiple running times. Section 9.4

  • start() — Start the timer.
  • stop() — Stop the timer and record the time in a list.
  • avg() — Return the average time.
  • sum() — Return the sum of time.
  • cumsum() — Return the accumulated time.

class TokenEmbedding

TokenEmbedding(embedding_name)

Token Embedding. Section 18.8

class TrainCallback(tf.keras.callbacks.Callback)

TrainCallback(net, train_iter, test_iter, num_epochs, device_name)

A callback to visualize the training progress. Section 30.9

  • on_epoch_begin(epoch, logs=None)
  • on_epoch_end(epoch, logs)

class Trainer(d2l.HyperParameters)

Trainer(max_epochs, num_gpus=0, gradient_clip_val=0)

The base class for training models with data. Section 2.2

  • prepare_data(data)
  • prepare_model(model)
  • fit(model, data)
  • fit_epoch()
  • prepare_batch(batch)
  • clip_gradients(grad_clip_val, grads)

class VOCSegDataset

VOCSegDataset(is_train, crop_size, voc_dir)

A customized dataset to load the VOC dataset. Section 20.9

  • normalize_image(img)
  • filter(imgs)

class Vocab

Vocab(tokens=[], min_freq=0, reserved_tokens=[])

Vocabulary for text. Section 8.2

  • to_tokens(indices)
  • unk()

class Accumulator

Accumulator(n)

For accumulating sums over n variables. Section 30.9

  • add(*args)
  • reset()

class ActorCritic(nnx.Module)

ActorCritic(policy, value, lr=0.01)

A policy and a value function, each with its own optimizer. Section 14.3

  • log_prob(obs, act, policy=None) — log pi(a|s). Gradients flow w.r.t. the module you differentiate;
  • V(obs, value=None)
  • tabular(num_states, num_actions, lr=0.1, rngs=None) — One preference theta_{s,a} per state-action pair: an embedding.
  • act(obs, rng) — Sample an action; numpy in, int out, the acting protocol of evaluate. Section 14.3
  • act_greedy(obs, rng=None)
  • value_np(obs)
  • log_prob_np(obs, act)
  • mlp(obs_dim, num_actions, hidden=64, lr=0.01, rngs=None) — The same container with the tables replaced by one-hidden-layer nets. Section 14.7

class Animator

Animator(xlabel=None, ylabel=None, legend=None, xlim=None, ylim=None, xscale='linear', yscale='linear', fmts=('-', 'm--', 'g-.', 'r:'), nrows=1, ncols=1, figsize=(3.5, 2.5))

For plotting data in animation. Section 30.9

  • add(x, y)

class ArrayDataLoader

ArrayDataLoader(*args, batch_size=32, shuffle=False, drop_last=False, **kwargs)

A simple data loader for JAX that batches arrays or dataset objects. Section 30.9

class BERTEncoder(nnx.Module)

BERTEncoder(vocab_size, num_hiddens, ffn_num_hiddens, num_heads, num_blks, dropout, max_len=1000, rngs=None)

BERT encoder. Section 18.9

class BERTModel(nnx.Module)

BERTModel(vocab_size, num_hiddens, ffn_num_hiddens, num_heads, num_blks, dropout, max_len=1000, rngs=None)

The BERT model. Section 18.9

class BPETokenizer

BPETokenizer(vocab_size=1024, pattern=None, specials=('<pad>', '<bos>', '<eos>'))

Byte-level BPE tokenizer trained by iterated most-frequent-pair Section 8.2

  • pad()
  • bos()
  • eos()
  • train(text) — Learn vocab_size - 256 merges, most frequent pair first.
  • encode(text, allow_special=False)
  • decode(ids)
  • from_tiktoken(name) — Load a published bytes->rank table (e.g. ‘gpt2’) into our encoder. Section 8.2
  • to_tokens(ids)

class BananasDataset

BananasDataset(is_train)

A customized dataset to load the banana detection dataset. Section 20.6

class Batch

Batch(obs, act, rew, next_obs, term, ep_ends)

A flat batch of transitions, plus the episode boundaries. Section 14.5

  • episodes() — Yield one slice per episode.
  • episode_returns(gamma=1.0) — R(tau), the discounted return, one number per episode.
  • backward_scan(x, factor) — y_t = x_t + factor * y_{t+1}, restarted at every episode boundary. Section 14.6
  • reward_to_go(gamma) — G_t: the discounted return of the rest of its episode, by one scan. Section 14.6
  • td_target(bootstrap, gamma) — r_t + gamma (1 - terminated) V(s’), by a numpy bootstrap. Section 15.1
  • gae(value_fn, gamma, lam) — GAE(gamma, lam): the reward-to-go scan, run on the TD errors. Section 15.1

class Benchmark

Benchmark(f, warmup=3, repeats=10, desc='time')

Time a callable: warmup, then device-synchronized average seconds. Section 13.1

class Classifier(d2l.Module)

The base class of classification models. Section 3.3

  • validation_step(batch)
  • accuracy(Y_hat, Y, averaged=True) — Compute the fraction of correct predictions. Section 3.3
  • loss(Y_hat, Y, averaged=True)
  • layer_summary(X_shape)

class DataModule(d2l.HyperParameters)

DataModule(root='../data', num_workers=4)

The base class of data. Section 2.2

  • get_dataloader(train)
  • train_dataloader()
  • val_dataloader()
  • get_tensorloader(tensors, train, indices=slice(0, None))

class Decoder(nnx.Module)

The base decoder interface for the encoder-decoder architecture. Section 18.1.1

  • init_state(enc_all_outputs, *args)

class DotProductAttention(nnx.Module)

DotProductAttention(dropout, rngs=None)

Scaled dot product attention. Section 10.2

class Encoder(nnx.Module)

The base encoder interface for the encoder-decoder architecture. Section 18.1.1

class EncoderDecoder(d2l.Classifier)

EncoderDecoder(encoder, decoder)

The base class for the encoder-decoder architecture. Section 18.1.1

  • forward(enc_X, dec_X, *args)
  • predict_step(batch, num_steps, save_attention_weights=False)

class FashionMNIST(d2l.DataModule)

FashionMNIST(batch_size=64, resize=(28, 28))

The Fashion-MNIST dataset. Section 3.2

  • text_labels(indices) — Return text labels. Section 3.2
  • get_dataloader(train)
  • visualize(batch, nrows=1, ncols=8, labels=None)

class FeedForward(nnx.Module)

FeedForward(num_hiddens, act='swiglu', bias=False, rngs=None)

Position-wise FFN: GELU MLP or SwiGLU at matched parameter count. Section 11.1

class GPT(nnx.Module)

GPT(vocab_size, num_hiddens=256, num_heads=8, num_blks=6, max_len=1024, pos='rope', norm='rms', act='swiglu', pre_norm=True, bias=False, dropout=0, rngs=None)

Decoder-only transformer language model built from configurable Section 11.2

  • generate(prefix, num_tokens, seed=0, temperature=1.0, top_k=None) — Sample a continuation of the token-id list prefix. Section 11.2

class GQAAttention(nnx.Module)

GQAAttention(num_hiddens, num_heads, num_kv_heads, bias=False, rope=False, causal=True, rngs=None)

Causal multi-head attention with num_kv_heads shared KV heads. Section 11.3

class GRU(d2l.RNN)

GRU(num_inputs, num_hiddens, num_layers=1, dropout=0, rngs=None)

The multilayer GRU model implemented with high-level APIs. Section 12.1.3

class GaussianHead(nnx.Module)

GaussianHead(obs_dim, act_dim, hidden, rngs)

Mean network plus a state-independent learned log standard deviation. Section 14.7

class GaussianPolicy(d2l.ActorCritic)

GaussianPolicy(obs_dim, act_dim, hidden=64, lr=0.01, rngs=None)

The same interface over a Normal instead of a softmax; nothing that Section 14.7

  • log_prob(obs, act, policy=None)
  • act(obs, rng)
  • act_greedy(obs, rng=None)

class HyperParameters

The base class of hyperparameters. Section 2.2

  • save_hyperparameters(ignore=None) — Save function arguments into class attributes. Section 30.9

class LSTM(d2l.RNN)

LSTM(num_inputs, num_hiddens, num_layers=1, dropout=0, rngs=None)

The multilayer LSTM model implemented with high-level APIs. Section 12.1

class LSTMScratch(nnx.Module)

LSTMScratch(num_inputs, num_hiddens, sigma=0.01, rngs=None)

The long short-term memory (LSTM) cell implemented from scratch. Section 12.1

class LeNet(d2l.Classifier)

LeNet(lr=0.1, num_classes=10, kernel_init=None, rngs=None)

The LeNet-5 model. Section 6.6

class LinearRegression(d2l.Module)

LinearRegression(num_inputs, lr, rngs=None)

The linear regression model implemented with high-level APIs. Section 2.5

  • forward(X)
  • loss(y_hat, y)
  • configure_optimizers()
  • get_w_b()

class LinearRegressionScratch(d2l.Module)

LinearRegressionScratch(num_inputs, lr, sigma=0.01, rngs=None)

The linear regression model implemented from scratch. Section 2.4

  • forward(X)
  • loss(y_hat, y)
  • configure_optimizers()

class MTFraEng(d2l.DataModule)

MTFraEng(batch_size, num_steps=20, num_train=1024, num_val=128, vocab_size=4000)

The English-French dataset, tokenized with a shared byte-level BPE. Section 18.1.2

  • build(src_sentences, tgt_sentences)
  • get_dataloader(train)

class Mamba(nnx.Module)

Mamba(num_inputs, num_blocks=2, num_states=4, dropout=0, rngs=None)

A stack of Mamba blocks with the recurrent-cell interface. Section 12.3

  • step(X, state=None) — Advance the stack one token: X is (batch, d); one state per block. Section 12.3

class MambaBlock(nnx.Module)

MambaBlock(num_hiddens, num_states=4, expand=2, conv_width=4, dropout=0, rngs=None)

Conv + SiLU + selective SSM, gated, inside a pre-norm residual. Section 12.3

  • step(X, state=None) — Advance one token, carrying (conv buffer, SSM state). Section 12.3

class MaskLM(nnx.Module)

MaskLM(vocab_size, num_hiddens, rngs=None)

The masked language model task of BERT. Section 18.9

class Module(d2l.nn_Module, d2l.HyperParameters)

Module(plot_train_per_epoch=2, plot_valid_per_epoch=1)

The base class of models. Section 2.2

  • loss(y_hat, y)
  • forward(X, *args, **kwargs)
  • plot(key, value, train) — Plot a point in animation.
  • training_step(batch)
  • validation_step(batch)
  • configure_optimizers()

class MultiHeadAttention(nnx.Module)

MultiHeadAttention(num_hiddens, num_heads, dropout, bias=False, rngs=None)

Multi-head attention. Section 10.3

  • transpose_qkv(X) — Transposition for parallel computation of multiple attention heads. Section 10.3
  • transpose_output(X) — Reverse the operation of transpose_qkv. Section 10.3

class NextSentencePred(nnx.Module)

NextSentencePred(num_hiddens, rngs=None)

The next sentence prediction task of BERT. Section 18.9

class PatchEmbedding(nnx.Module)

PatchEmbedding(img_size=96, patch_size=16, num_hiddens=512, num_channels=3, rngs=None)

Image-to-sequence stem of the vision transformer. Section 11.5

class ProgressBoard(d2l.HyperParameters)

ProgressBoard(xlabel=None, ylabel=None, xlim=None, ylim=None, xscale='linear', yscale='linear', ls=['-', '--', '-.', ':'], colors=['C0', 'C1', 'C2', 'C3'], fig=None, axes=None, figsize=(3.5, 2.5), display=True)

The board that plots data points in animation. Section 2.2

  • draw(x, y, label, every_n=1) — Schedule the point (x, y) to be plotted under label. Section 30.9
  • flush() — Wait for every scheduled point to be drawn, then render the final Section 30.9

class RNN(nnx.Module)

RNN(num_inputs, num_hiddens, rngs=None)

The RNN model implemented with high-level APIs. Section 8.5.5

class RNNLM(d2l.RNNLMScratch)

RNNLM(rnn, vocab_size, lr=0.01, rngs=None)

The RNN-based language model implemented with high-level APIs. Section 8.5.5

  • embedding(X)
  • output_layer(hiddens)

class RNNLMScratch(d2l.Classifier)

RNNLMScratch(rnn, vocab_size, lr=0.01, rngs=None)

The RNN-based language model implemented from scratch. Section 8.5

  • training_step(batch)
  • validation_step(batch)
  • plot(key, value, train)
  • embedding(X)
  • output_layer(rnn_outputs)
  • forward(X, state=None)
  • predict(prefix, num_tokens, tok, device=None, temperature=0.0, rng=None)

class RNNScratch(nnx.Module)

RNNScratch(num_inputs, num_hiddens, sigma=0.01, rngs=None)

The RNN model implemented from scratch. Section 8.5

class RandomGenerator

RandomGenerator(sampling_weights)

Randomly draw among {1, …, n} according to n sampling weights. Section 18.4

  • draw()

class ReplayBuffer

ReplayBuffer(capacity, obs_dim)

A ring of transitions in preallocated numpy; sample() returns a Batch. Section 15.4

  • add(obs, act, rew, next_obs, term)
  • sample(batch_size, rng)

class ResNeXtBlock(nnx.Module)

ResNeXtBlock(num_channels, groups, bot_mul, use_1x1conv=False, strides=(1, 1), in_channels=None, rngs=None)

The ResNeXt block. Section 7.4

class ResNet18(nnx.Module)

ResNet18(num_classes=10, rngs=None)

A slightly modified ResNet-18 (small stem, no max-pool). Section 13.6

class Residual(nnx.Module)

Residual(num_channels, use_1x1conv=False, strides=(1, 1), in_channels=None, rngs=None)

The Residual block of ResNet models. Section 7.4

class S4D(nnx.Module)

S4D(num_hiddens, num_states=4, dt_min=0.001, dt_max=0.1, rngs=None)

A diagonal state space layer: one SSM per feature channel. Section 12.2

  • step(u, x=None) — Advance one token: u is (batch, H); x is the (batch, H, N) state. Section 12.2

class SGD(d2l.HyperParameters)

SGD(lr)

Minibatch stochastic gradient descent. Section 2.4

  • init(params)
  • update(updates, state, params=None)

class SNLIDataset

SNLIDataset(dataset, num_steps, vocab=None)

A customized dataset to load the SNLI dataset. Section 19.4

class SelectiveSSM(nnx.Module)

SelectiveSSM(num_hiddens, num_states=4, dt_min=0.001, dt_max=0.1, rngs=None)

A diagonal SSM whose step size, input matrix, and read-out are Section 12.3

  • step(u, x=None) — Advance one token: u is (batch, H); x is the (batch, H, N) state. Section 12.3

class Seq2Seq(d2l.EncoderDecoder)

Seq2Seq(encoder, decoder, tgt_pad, lr)

The RNN encoder-decoder for sequence-to-sequence learning. Section 18.1.2

  • validation_step(batch)
  • configure_optimizers()

class Seq2SeqEncoder(d2l.Encoder)

Seq2SeqEncoder(vocab_size, embed_size, num_hiddens, num_layers, dropout=0, rngs=None)

The RNN encoder for sequence-to-sequence learning. Section 18.1.2

class SyntheticRegressionData(d2l.DataModule)

SyntheticRegressionData(w, b, noise=0.01, num_train=1000, num_val=1000, batch_size=32, key=None)

Synthetic data for linear regression. Section 2.3

  • get_dataloader(train)

class TabularMDP

TabularMDP(P, r, gamma)

A finite MDP as dense arrays: P[s, a, s’] and r[s, a]. Section 14.1

  • from_gym(env, gamma) — Read the transition table Gymnasium exposes as env.unwrapped.P.
  • backup(V) — Q(s, a) = r(s, a) + gamma * sum_{s’} P(s’|s, a) V(s’).

class TensorFlowDataLoader

TensorFlowDataLoader(dataset)

Expose a tf.data.Dataset as re-iterable NumPy batches. Section 2.3

class TimeMachine(d2l.DataModule)

TimeMachine(batch_size, num_steps, num_train=10000, num_val=5000, tokenization='bpe', vocab_size=1024)

The Time Machine dataset. Section 8.2

  • build(raw_text, vocab=None)
  • get_dataloader(train)

class Timer

Record multiple running times. Section 9.4

  • start() — Start the timer.
  • stop() — Stop the timer and record the time in a list.
  • avg() — Return the average time.
  • sum() — Return the sum of time.
  • cumsum() — Return the accumulated time.

class TinyCharLM(nnx.Module)

TinyCharLM(vocab_size, num_hiddens=128, num_heads=4, num_blks=2, pos='rope', max_len=512, bias=False, rngs=None)

Attention-only character-level language model. Section 10.4

  • attention_weights(X) — Per-block attention maps, each (batch, num_heads, T, T).

class TinyLM(nnx.Module)

TinyLM(vocab_size, d_model=128, num_heads=2, num_blks=2, max_len=64, rngs=None)

A small decoder-only transformer language model. Section 9.6

  • attention(blk, X)

class TokenEmbedding

TokenEmbedding(embedding_name)

Token Embedding. Section 18.8

class Trainer(d2l.HyperParameters)

Trainer(max_epochs, num_gpus=0, gradient_clip_val=0)

The base class for training models with data. Section 2.2

  • prepare_data(data)
  • prepare_model(model)
  • fit(model, data)
  • fit_epoch()
  • prepare_batch(batch)
  • clip_gradients(grad_clip_val, grads)

class TransformerBlock(nnx.Module)

TransformerBlock(num_hiddens, num_heads, dropout=0, norm='rms', act='swiglu', pre_norm=True, bias=False, attn_factory=None, ffn_factory=None, rngs=None)

Configurable transformer block: attention + FFN on a residual Section 11.1

class VOCSegDataset

VOCSegDataset(is_train, crop_size, voc_dir)

A customized dataset to load the VOC dataset. Section 20.9

  • normalize_image(img)
  • filter(imgs)

class ViT(d2l.Classifier)

ViT(img_size, patch_size, num_hiddens, mlp_num_hiddens, num_heads, num_blks, emb_dropout, blk_dropout, lr=0.1, use_bias=False, num_classes=10, num_channels=1, rngs=None)

Vision transformer. Section 11.5

  • forward(X)

class ViTBlock(nnx.Module)

ViTBlock(num_hiddens, mlp_num_hiddens, num_heads, dropout, use_bias=False, rngs=None)

Pre-norm transformer block with a GELU MLP. Section 11.5

class Vocab

Vocab(tokens=[], min_freq=0, reserved_tokens=[])

Vocabulary for text. Section 8.2

  • to_tokens(indices)
  • unk()

class Accumulator

Accumulator(n)

For accumulating sums over n variables. Section 30.9

  • add(*args)
  • reset()

class Animator

Animator(xlabel=None, ylabel=None, legend=None, xlim=None, ylim=None, xscale='linear', yscale='linear', fmts=('-', 'm--', 'g-.', 'r:'), nrows=1, ncols=1, figsize=(3.5, 2.5))

For plotting data in animation. Section 30.9

  • add(x, y)

class BERTEncoder(nn.Block)

BERTEncoder(vocab_size, num_hiddens, ffn_num_hiddens, num_heads, num_blks, dropout, max_len=1000)

BERT encoder. Section 18.9

  • forward(tokens, segments, valid_lens)

class BERTModel(nn.Block)

BERTModel(vocab_size, num_hiddens, ffn_num_hiddens, num_heads, num_blks, dropout, max_len=1000)

The BERT model. Section 18.9

  • forward(tokens, segments, valid_lens=None, pred_positions=None)

class BPETokenizer

BPETokenizer(vocab_size=1024, pattern=None, specials=('<pad>', '<bos>', '<eos>'))

Byte-level BPE tokenizer trained by iterated most-frequent-pair Section 8.2

  • pad()
  • bos()
  • eos()
  • train(text) — Learn vocab_size - 256 merges, most frequent pair first.
  • encode(text, allow_special=False)
  • decode(ids)
  • from_tiktoken(name) — Load a published bytes->rank table (e.g. ‘gpt2’) into our encoder. Section 8.2
  • to_tokens(ids)

class BananasDataset(gluon.data.Dataset)

BananasDataset(is_train)

A customized dataset to load the banana detection dataset. Section 20.6

class Classifier(d2l.Module)

The base class of classification models. Section 3.3

  • validation_step(batch)
  • accuracy(Y_hat, Y, averaged=True) — Compute the fraction of correct predictions. Section 3.3
  • loss(Y_hat, Y, averaged=True)
  • layer_summary(X_shape)

class DataModule(d2l.HyperParameters)

DataModule(root='../data', num_workers=4)

The base class of data. Section 2.2

  • get_dataloader(train)
  • train_dataloader()
  • val_dataloader()
  • get_tensorloader(tensors, train, indices=slice(0, None))

class Decoder(nn.Block)

The base decoder interface for the encoder-decoder architecture. Section 18.1.1

  • init_state(enc_all_outputs, *args)
  • forward(X, state)

class Encoder(nn.Block)

The base encoder interface for the encoder-decoder architecture. Section 18.1.1

  • forward(X, *args)

class EncoderDecoder(d2l.Classifier)

EncoderDecoder(encoder, decoder)

The base class for the encoder-decoder architecture. Section 18.1.1

  • forward(enc_X, dec_X, *args)
  • predict_step(batch, device, num_steps, save_attention_weights=False)

class FashionMNIST(d2l.DataModule)

FashionMNIST(batch_size=64, resize=(28, 28))

The Fashion-MNIST dataset. Section 3.2

  • text_labels(indices) — Return text labels. Section 3.2
  • get_dataloader(train)
  • visualize(batch, nrows=1, ncols=8, labels=None)

class HyperParameters

The base class of hyperparameters. Section 2.2

  • save_hyperparameters(ignore=None) — Save function arguments into class attributes. Section 30.9

class LeNet(d2l.Classifier)

LeNet(lr=0.1, num_classes=10)

The LeNet-5 model. Section 6.6

class LinearRegression(d2l.Module)

LinearRegression(lr)

The linear regression model implemented with high-level APIs. Section 2.5

  • forward(X)
  • loss(y_hat, y)
  • configure_optimizers()
  • get_w_b()

class LinearRegressionScratch(d2l.Module)

LinearRegressionScratch(num_inputs, lr, sigma=0.01)

The linear regression model implemented from scratch. Section 2.4

  • forward(X)
  • loss(y_hat, y)
  • configure_optimizers()

class MTFraEng(d2l.DataModule)

MTFraEng(batch_size, num_steps=20, num_train=1024, num_val=128, vocab_size=4000)

The English-French dataset, tokenized with a shared byte-level BPE. Section 18.1.2

  • build(src_sentences, tgt_sentences)
  • get_dataloader(train)

class MaskLM(nn.Block)

MaskLM(vocab_size, num_hiddens)

The masked language model task of BERT. Section 18.9

  • forward(X, pred_positions)

class MaskedSoftmaxCELoss(gluon.loss.SoftmaxCELoss)

The softmax cross-entropy loss with masks. Section 30.9

  • forward(pred, label, valid_len)

class Module(d2l.nn_Module, d2l.HyperParameters)

Module(plot_train_per_epoch=2, plot_valid_per_epoch=1)

The base class of models. Section 2.2

  • loss(y_hat, y)
  • forward(X)
  • plot(key, value, train) — Plot a point in animation.
  • training_step(batch)
  • validation_step(batch)
  • configure_optimizers()
  • get_scratch_params()
  • parameters()
  • set_scratch_params_device(device)

class NextSentencePred(nn.Block)

The next sentence prediction task of BERT. Section 18.9

  • forward(X)

class ProgressBoard(d2l.HyperParameters)

ProgressBoard(xlabel=None, ylabel=None, xlim=None, ylim=None, xscale='linear', yscale='linear', ls=['-', '--', '-.', ':'], colors=['C0', 'C1', 'C2', 'C3'], fig=None, axes=None, figsize=(3.5, 2.5), display=True)

The board that plots data points in animation. Section 2.2

  • draw(x, y, label, every_n=1) — Schedule the point (x, y) to be plotted under label. Section 30.9
  • flush() — Wait for every scheduled point to be drawn, then render the final Section 30.9

class RNN(d2l.Module)

RNN(num_inputs, num_hiddens)

The RNN model implemented with high-level APIs. Section 8.5.5

  • forward(inputs, H=None)

class RNNLM(d2l.RNNLMScratch)

The RNN-based language model implemented with high-level APIs. Section 8.5.5

  • init_params()
  • embedding(X)
  • output_layer(hiddens)

class RNNLMScratch(d2l.Classifier)

RNNLMScratch(rnn, vocab_size, lr=0.01)

The RNN-based language model implemented from scratch. Section 8.5

  • init_params()
  • training_step(batch)
  • validation_step(batch)
  • embedding(X)
  • output_layer(rnn_outputs)
  • forward(X, state=None)
  • predict(prefix, num_tokens, tok, device=None, temperature=0.0, rng=None)

class RNNScratch(d2l.Module)

RNNScratch(num_inputs, num_hiddens, sigma=0.01)

The RNN model implemented from scratch. Section 8.5

  • forward(inputs, state=None)

class RandomGenerator

RandomGenerator(sampling_weights)

Randomly draw among {1, …, n} according to n sampling weights. Section 18.4

  • draw()

class ResNeXtBlock(nn.Block)

ResNeXtBlock(num_channels, groups, bot_mul, use_1x1conv=False, strides=1)

The ResNeXt block. Section 7.4

  • forward(X)

class Residual(nn.Block)

Residual(num_channels, use_1x1conv=False, strides=1)

The Residual block of ResNet models. Section 7.4

  • forward(X)

class SGD(d2l.HyperParameters)

SGD(params, lr)

Minibatch stochastic gradient descent. Section 2.4

  • step(_)

class SNLIDataset(gluon.data.Dataset)

SNLIDataset(dataset, num_steps, vocab=None)

A customized dataset to load the SNLI dataset. Section 19.4

class Seq2Seq(d2l.EncoderDecoder)

Seq2Seq(encoder, decoder, tgt_pad, lr)

The RNN encoder-decoder for sequence-to-sequence learning. Section 18.1.2

  • validation_step(batch)
  • configure_optimizers()

class Seq2SeqEncoder(d2l.Encoder)

Seq2SeqEncoder(vocab_size, embed_size, num_hiddens, num_layers, dropout=0)

The RNN encoder for sequence-to-sequence learning. Section 18.1.2

  • forward(X, *args)

class SoftmaxRegression(d2l.Classifier)

SoftmaxRegression(num_outputs, lr)

The softmax regression model. Section 3.5

  • forward(X)

class SyntheticRegressionData(d2l.DataModule)

SyntheticRegressionData(w, b, noise=0.01, num_train=1000, num_val=1000, batch_size=32)

Synthetic data for linear regression. Section 2.3

  • get_dataloader(train)

class TimeMachine(d2l.DataModule)

TimeMachine(batch_size, num_steps, num_train=10000, num_val=5000, tokenization='bpe', vocab_size=1024)

The Time Machine dataset. Section 8.2

  • build(raw_text, vocab=None)
  • get_dataloader(train)

class Timer

Record multiple running times. Section 9.4

  • start() — Start the timer.
  • stop() — Stop the timer and record the time in a list.
  • avg() — Return the average time.
  • sum() — Return the sum of time.
  • cumsum() — Return the accumulated time.

class TokenEmbedding

TokenEmbedding(embedding_name)

Token Embedding. Section 18.8

class Trainer(d2l.HyperParameters)

Trainer(max_epochs, num_gpus=0, gradient_clip_val=0)

The base class for training models with data. Section 2.2

  • prepare_data(data)
  • fit(model, data)
  • fit_epoch()
  • prepare_batch(batch)
  • prepare_model(model)
  • clip_gradients(grad_clip_val, model)

class VOCSegDataset(gluon.data.Dataset)

VOCSegDataset(is_train, crop_size, voc_dir)

A customized dataset to load the VOC dataset. Section 20.9

  • normalize_image(img)
  • filter(imgs)

class Vocab

Vocab(tokens=[], min_freq=0, reserved_tokens=[])

Vocabulary for text. Section 8.2

  • to_tokens(indices)
  • unk()

30.10.2 Functions

accuracy

accuracy(y_hat, y)

Compute the number of correct predictions. Section 30.9

add_to_class

add_to_class(Class)

Register functions as methods in created class. Section 2.2

assign_anchor_to_bbox

assign_anchor_to_bbox(ground_truth, anchors, device, iou_threshold=0.5)

Assign closest ground-truth bounding boxes to anchor boxes. Section 20.4

associative_scan

associative_scan(a, b, dim=0)

Parallel prefix scan for h_t = a_t * h_{t-1} + b_t with h_0 = 0. Section 12.2

batchify

batchify(data)

Return a minibatch of examples for skip-gram with negative sampling. Section 18.4

bbox_to_rect

bbox_to_rect(bbox, color)

Convert bounding box to matplotlib format. Section 20.3

bleu

bleu(pred_seq, label_seq, k)

Compute the BLEU. Section 18.1.4

box_center_to_corner

box_center_to_corner(boxes)

Convert from (center, width, height) to (upper-left, lower-right). Section 20.3

box_corner_to_center

box_corner_to_center(boxes)

Convert from (upper-left, lower-right) to (center, width, height). Section 20.3

box_iou

box_iou(boxes1, boxes2)

Compute pairwise IoU across two lists of anchor or bounding boxes. Section 20.4

build_array_nmt

build_array_nmt(lines, vocab, num_steps)

Transform text sequences of machine translation into minibatches. Section 30.9

check_len

check_len(a, n)

Check the length of a list. Section 8.5

check_shape

check_shape(a, shape)

Check the shape of a tensor. Section 8.5

chrf

chrf(pred, label, n=6, beta=2)

chrF (Popovic, 2015): character n-gram F-score. Section 18.1.4

copyfile

copyfile(filename, target_dir)

Copy a file into a target directory. Section 20.13

corr2d

corr2d(X, K)

Compute 2D cross-correlation. Section 6.2

cpu

cpu()

Get the CPU device. Section 5.7

download

download(url, folder='../data', sha1_hash=None)

Download a file to folder and return the local filepath. Section 30.9

download_extract

download_extract(name, folder=None)

Download and extract a zip/tar file. Section 30.9

epsilon_greedy

epsilon_greedy(q, epsilon, rng)

Explore with probability epsilon, else act greedily on the values q. Section 14.4

evaluate

evaluate(env, policy, num_episodes, gamma=1.0, rng=None)

Mean discounted return of an acting policy over Monte Carlo episodes. Section 14.2

evaluate_accuracy_gpu

evaluate_accuracy_gpu(net, data_iter, device=None)

Compute the accuracy for a model on a dataset using a GPU. Section 30.9

evaluate_loss

evaluate_loss(net, data_iter, loss)

Evaluate the loss of a model on the given dataset. Section 30.9

extract

extract(filename, folder=None)

Extract a zip/tar file into folder. Section 30.9

fit_value

fit_value(ac, obs, target, num_steps=1)

Regress the value head on a fixed target: eq_value_baseline for nets. Section 14.7

generate

generate(step_fn, prefix, num_tokens, eos_id=None, **strategy)

Autoregressive generation. step_fn(ids: list[int]) -> numpy logits Section 8.7.3

get_centers_and_contexts

get_centers_and_contexts(corpus, max_window_size)

Return center words and context words in skip-gram. Section 18.4

get_dataloader_workers

get_dataloader_workers()

Use 4 processes to read the data. Section 30.9

get_fashion_mnist_labels

get_fashion_mnist_labels(labels)

Return text labels for the Fashion-MNIST dataset. Section 30.9

get_negatives

get_negatives(all_contexts, vocab, counter, K)

Return noise words in negative sampling. Section 18.4

get_tokens_and_segments

get_tokens_and_segments(tokens_a, tokens_b=None)

Get tokens of the BERT input sequence and their segment IDs. Section 18.9

gpu

gpu(i=0)

Get a GPU device. Section 5.7

grad_clipping

grad_clipping(net, theta)

Clip the gradient. Section 30.9

init_cnn

init_cnn(module)

Initialize weights for CNNs. Section 6.6

init_seq2seq

init_seq2seq(module)

Initialize weights for sequence-to-sequence learning. Section 18.1.2

linear_schedule

linear_schedule(start, end, num_steps)

step -> value, interpolated from start to end, then held at end. Section 14.4

linreg

linreg(X, w, b)

The linear regression model. Section 30.9

load_array

load_array(data_arrays, batch_size, is_train=True)

Construct a PyTorch data iterator. Section 30.9

load_checkpoint

load_checkpoint(path, model, optimizer=None)

Restore the state written by save_checkpoint; return the raw dict. Section 5.6

load_data_bananas

load_data_bananas(batch_size)

Load the banana detection dataset. Section 20.6

load_data_fashion_mnist

load_data_fashion_mnist(batch_size, resize=None)

Download the Fashion-MNIST dataset and then load it into memory. Section 30.9

load_data_imdb

load_data_imdb(batch_size, num_steps=500)

Return data iterators and the vocabulary of the IMDb review dataset. Section 19.1

load_data_nmt

load_data_nmt(batch_size, num_steps, num_examples=600)

Return the iterator and the vocabularies of the translation dataset. Section 30.9

load_data_ptb

load_data_ptb(batch_size, max_window_size, num_noise_words)

Download the PTB dataset and then load it into memory. Section 18.4

load_data_snli

load_data_snli(batch_size, num_steps=50)

Download the SNLI dataset and return data iterators and vocabulary. Section 19.4

load_data_voc

load_data_voc(batch_size, crop_size)

Load the VOC semantic segmentation dataset. Section 20.9

load_data_wiki

load_data_wiki(batch_size, max_len)

Load the WikiText-2 dataset. Section 18.10

masked_softmax

masked_softmax(X, valid_lens)

Perform softmax operation by masking elements on the last axis. Section 10.2

multibox_detection

multibox_detection(cls_probs, offset_preds, anchors, nms_threshold=0.5, pos_threshold=0.009999999)

Predict bounding boxes using non-maximum suppression. Section 20.4

multibox_prior

multibox_prior(data, sizes, ratios)

Generate anchor boxes with different shapes centered on each pixel. Section 20.4

multibox_target

multibox_target(anchors, labels)

Label anchor boxes using ground-truth bounding boxes. Section 20.4

nms

nms(boxes, scores, iou_threshold)

Sort confidence scores of predicted bounding boxes. Section 20.4

normalize

normalize(x, eps=1e-08)

Center a batch of weights and rescale them to unit spread. Section 14.6

num_gpus

num_gpus()

Get the number of available GPUs. Section 5.7

offline_q

offline_q(batch, num_sweeps, alpha, gamma, kappa=0.0, shape=(16, 4), seed=0)

Q-learning swept over a fixed dataset, with optional pessimism. Section 15.6

offset_boxes

offset_boxes(anchors, assigned_bb, eps=1e-06)

Transform for anchor box offsets. Section 20.4

offset_inverse

offset_inverse(anchors, offset_preds)

Predict bounding boxes based on anchor boxes with predicted offsets. Section 20.4

plot

plot(X, Y=None, xlabel=None, ylabel=None, legend=None, xlim=None, ylim=None, xscale='linear', yscale='linear', fmts=('-', 'm--', 'g-.', 'r:'), figsize=(3.5, 2.5), axes=None)

Plot data points. Section 1.4

plot_curves

plot_curves(curves, xlabel, ylabel, smooth=1, reference=None, ylim=None)

One panel per call. curves maps a label to an array of shape Section 30.9

policy_evaluation

policy_evaluation(mdp, pi, num_iters)

Same sweep with the max replaced by an average under pi(a|s). Section 14.2

policy_step

policy_step(ac, batch, advantage)

One ascent step on E[A_t log pi(a_t|s_t)]; A_t arrives as numpy = data. Section 14.3

ppo_epochs

ppo_epochs(ac, batch, adv, logp_old, epsilon, num_epochs, entropy_coef=0.01, use_clip=True)

num_epochs clipped-surrogate passes on one frozen batch; returns Section 15.2

predict_sentiment

predict_sentiment(net, vocab, sequence)

Predict the sentiment of a text sequence. Section 19.2

predict_seq2seq

predict_seq2seq(net, src_sentence, src_vocab, tgt_vocab, num_steps, device, save_attention_weights=False)

Predict for sequence to sequence. Section 30.9

predict_snli

predict_snli(net, vocab, premise, hypothesis)

Predict the logical relationship between the premise and hypothesis. Section 19.5

preprocess_nmt

preprocess_nmt(text)

Preprocess the English-French dataset. Section 30.9

r1_r2_penalty

r1_r2_penalty(critic, real, fake)

Per-sample squared critic input gradients on real (R1) and fake (R2), Section 16.4

read_csv_labels

read_csv_labels(fname)

Read fname to return a filename to label dictionary. Section 20.13

read_data_bananas

read_data_bananas(is_train=True)

Read the banana detection dataset images and labels. Section 20.6

read_data_nmt

read_data_nmt()

Load the English-French dataset. Section 30.9

read_imdb

read_imdb(data_dir, is_train)

Read the IMDb review dataset text sequences and labels. Section 19.1

read_ptb

read_ptb()

Load the PTB dataset into a list of text lines. Section 18.4

read_snli

read_snli(data_dir, is_train)

Read the SNLI dataset into premises, hypotheses, and labels. Section 19.4

read_voc_images

read_voc_images(voc_dir, is_train=True)

Read all VOC feature and label images. Section 20.9

reorg_test

reorg_test(data_dir)

Organize the testing set for data loading during prediction. Section 20.13

reorg_train_valid

reorg_train_valid(data_dir, labels, valid_ratio)

Split the validation set out of the original training set. Section 20.13

resnet18

resnet18(num_classes, in_channels=1)

A slightly modified ResNet-18 model. Section 13.6

rollout

rollout(env, policy, num_episodes, rng)

Collect complete episodes from policy(obs, rng) -> action as a Section 14.5

rpgan_loss_D

rpgan_loss_D(critic, real, fake)

Relativistic pairing loss for the critic: -E[log sigma(D(x) - D(y))]. Section 16.4

rpgan_loss_G

rpgan_loss_G(critic, real, fake)

Non-saturating pairing loss for the generator. Section 16.4

run_seeds

run_seeds(train, num_seeds, **kwargs)

Run train(seed, **kwargs), a generator of curve points, per seed. Section 14.6

sample_next

sample_next(logits, strategy='greedy', temperature=1.0, k=None, p=None, min_p=None, rng=None)

Choose the next token id from a 1-D numpy logits array. Section 8.7.3

save_checkpoint

save_checkpoint(path, model, optimizer, step, cfg=None)

Atomically write a resumable training checkpoint. Section 5.6

sequence_mask

sequence_mask(X, valid_len, value=0)

Mask irrelevant entries in sequences. Section 30.9

set_axes

set_axes(axes, xlabel, ylabel, xlim, ylim, xscale, yscale, legend)

Set the axes for matplotlib. Section 1.4

set_figsize

set_figsize(figsize=(3.5, 2.5))

Set the figure size for matplotlib. Section 1.4

sgd

sgd(params, lr, batch_size)

Minibatch stochastic gradient descent. Section 30.9

show_bboxes

show_bboxes(axes, bboxes, labels=None, colors=None)

Show bounding boxes. Section 20.4

show_grid

show_grid(desc, values, policy, titles=None)

The gridworld: cell colour = values, arrow = policy. The grid Section 30.9

show_heatmaps

show_heatmaps(matrices, xlabel, ylabel, titles=None, figsize=(2.5, 2.5), cmap='Reds')

Show heatmaps of matrices. Section 3.4

show_images

show_images(imgs, num_rows, num_cols, titles=None, scale=1.5)

Plot a list of images. Section 30.9

show_list_len_pair_hist

show_list_len_pair_hist(legend, xlabel, ylabel, xlist, ylist)

Plot the histogram for list length pairs. Section 18.1.2

show_trace_2d

show_trace_2d(f, results)

Show the trace of 2D variables during optimization. Section 9.2

split_batch

split_batch(X, y, devices)

Split X and y into multiple devices. Section 13.5

squared_loss

squared_loss(y_hat, y)

Squared loss. Section 30.9

subsample

subsample(sentences, vocab)

Subsample high-frequency words. Section 18.4

synthetic_data

synthetic_data(w, b, num_examples)

Generate y = Xw + b + noise. Section 30.9

tokenize

tokenize(lines, token='word')

Split text lines into word or character tokens. Section 30.9

tokenize_nmt

tokenize_nmt(text, num_examples=None)

Tokenize the English-French dataset. Section 30.9

train_2d

train_2d(trainer, steps=20, f_grad=None)

Optimize a 2D objective function with a customized trainer. Section 9.2

train_batch_ch13

train_batch_ch13(net, X, y, loss, trainer, devices)

Train for a minibatch with multiple GPUs (defined in Chapter 13). Section 20.1

train_ch13

train_ch13(net, train_iter, test_iter, loss, trainer, num_epochs, devices=d2l.try_all_gpus())

Train a model with multiple GPUs (defined in Chapter 13). Section 20.1

train_ch6

train_ch6(net, train_iter, test_iter, num_epochs, lr, device)

Train a model with a GPU (defined in Chapter 6). Section 30.9

train_lm

train_lm(model, data, optimizer, num_steps)

Train a model on next-token prediction for a fixed number of steps. Section 9.6

train_seq2seq

train_seq2seq(net, data_iter, lr, num_epochs, tgt_vocab, device)

Train a model for sequence to sequence. Section 30.9

truncate_pad

truncate_pad(line, num_steps, padding_token)

Truncate or pad sequences. Section 30.9

try_all_gpus

try_all_gpus()

Return all available GPUs, or [cpu(),] if no GPU exists. Section 5.7

try_gpu

try_gpu(i=0)

Return gpu(i) if exists, otherwise return cpu(). Section 5.7

update_D

update_D(X, Z, net_D, net_G, loss, trainer_D)

Update the discriminator. Section 16.1

update_G

update_G(Z, net_D, net_G, loss, trainer_G)

Update the generator on the non-saturating loss. Section 16.1

use_svg_display

use_svg_display()

Use the svg format to display a plot in Jupyter. Section 1.4

value_iteration

value_iteration(mdp, num_iters)

Sweep V <- max_a backup(V); return the whole history of iterates. Section 14.2

voc_colormap2label

voc_colormap2label()

Build the mapping from RGB to class indices for VOC labels. Section 20.9

voc_label_indices

voc_label_indices(colormap, colormap2label)

Map any RGB values in VOC labels to their class indices. Section 20.9

voc_rand_crop

voc_rand_crop(feature, label, height, width)

Randomly crop both feature and label images. Section 20.9

accuracy

accuracy(y_hat, y)

Compute the number of correct predictions. Section 30.9

add_to_class

add_to_class(Class)

Register functions as methods in created class. Section 2.2

assign_anchor_to_bbox

assign_anchor_to_bbox(ground_truth, anchors, device, iou_threshold=0.5)

Assign closest ground-truth bounding boxes to anchor boxes. Section 20.4

batchify

batchify(data)

Return a minibatch of examples for skip-gram with negative sampling. Section 18.4

bbox_to_rect

bbox_to_rect(bbox, color)

Convert bounding box to matplotlib format. Section 20.3

beam_search

beam_search(step_fn, prefix, num_tokens, beam_size=4, alpha=0.75, eos_id=None)

Length-normalized beam search (score = log P / len^alpha). Section 8.7.3

bleu

bleu(pred_seq, label_seq, k)

Compute the BLEU. Section 18.1.4

box_center_to_corner

box_center_to_corner(boxes)

Convert from (center, width, height) to (upper-left, lower-right). Section 20.3

box_corner_to_center

box_corner_to_center(boxes)

Convert from (upper-left, lower-right) to (center, width, height). Section 20.3

box_iou

box_iou(boxes1, boxes2)

Compute pairwise IoU across two lists of anchor or bounding boxes. Section 20.4

build_array_nmt

build_array_nmt(lines, vocab, num_steps)

Transform text sequences of machine translation into minibatches. Section 30.9

check_len

check_len(a, n)

Check the length of a list. Section 8.5

check_shape

check_shape(a, shape)

Check the shape of a tensor. Section 8.5

chrf

chrf(pred, label, n=6, beta=2)

chrF (Popovic, 2015): character n-gram F-score. Section 18.1.4

copyfile

copyfile(filename, target_dir)

Copy a file into a target directory. Section 20.13

corr2d

corr2d(X, K)

Compute 2D cross-correlation. Section 6.2

cpu

cpu()

Get the CPU device. Section 5.7

download

download(url, folder='../data', sha1_hash=None)

Download a file to folder and return the local filepath. Section 30.9

download_extract

download_extract(name, folder=None)

Download and extract a zip/tar file. Section 30.9

evaluate_accuracy

evaluate_accuracy(net, data_iter)

Compute the accuracy for a model on a dataset. Section 30.9

evaluate_loss

evaluate_loss(net, data_iter, loss)

Evaluate the loss of a model on the given dataset. Section 30.9

extract

extract(filename, folder=None)

Extract a zip/tar file into folder. Section 30.9

generate

generate(step_fn, prefix, num_tokens, eos_id=None, **strategy)

Autoregressive generation. step_fn(ids: list[int]) -> numpy logits Section 8.7.3

get_centers_and_contexts

get_centers_and_contexts(corpus, max_window_size)

Return center words and context words in skip-gram. Section 18.4

get_fashion_mnist_labels

get_fashion_mnist_labels(labels)

Return text labels for the Fashion-MNIST dataset. Section 30.9

get_negatives

get_negatives(all_contexts, vocab, counter, K)

Return noise words in negative sampling. Section 18.4

get_tokens_and_segments

get_tokens_and_segments(tokens_a, tokens_b=None)

Get tokens of the BERT input sequence and their segment IDs. Section 18.9

gpu

gpu(i=0)

Get a GPU device. Section 5.7

grad_clipping

grad_clipping(grads, theta)

Clip the gradient. Section 30.9

linreg

linreg(X, w, b)

The linear regression model. Section 30.9

load_array

load_array(data_arrays, batch_size, is_train=True)

Construct a TensorFlow data iterator. Section 30.9

load_data_bananas

load_data_bananas(batch_size)

Load the banana detection dataset. Section 20.6

load_data_fashion_mnist

load_data_fashion_mnist(batch_size, resize=None)

Download the Fashion-MNIST dataset and then load it into memory. Section 30.9

load_data_imdb

load_data_imdb(batch_size, num_steps=500)

Return data iterators and the vocabulary of the IMDb review dataset. Section 19.1

load_data_nmt

load_data_nmt(batch_size, num_steps, num_examples=600)

Return the iterator and the vocabularies of the translation dataset. Section 30.9

load_data_ptb

load_data_ptb(batch_size, max_window_size, num_noise_words)

Download the PTB dataset and then load it into memory. Section 18.4

load_data_snli

load_data_snli(batch_size, num_steps=50)

Download the SNLI dataset and return data iterators and vocabulary. Section 19.4

load_data_voc

load_data_voc(batch_size, crop_size)

Load the VOC semantic segmentation dataset. Section 20.9

load_data_wiki

load_data_wiki(batch_size, max_len)

Load the WikiText-2 dataset. Section 18.10

multibox_detection

multibox_detection(cls_probs, offset_preds, anchors, nms_threshold=0.5, pos_threshold=0.009999999)

Predict bounding boxes using non-maximum suppression. Section 20.4

multibox_prior

multibox_prior(data, sizes, ratios)

Generate anchor boxes with different shapes centered on each pixel. Section 20.4

multibox_target

multibox_target(anchors, labels)

Label anchor boxes using ground-truth bounding boxes. Section 20.4

nms

nms(boxes, scores, iou_threshold)

Sort confidence scores of predicted bounding boxes. Section 20.4

num_gpus

num_gpus()

Get the number of available GPUs. Section 5.7

offset_boxes

offset_boxes(anchors, assigned_bb, eps=1e-06)

Transform for anchor box offsets. Section 20.4

offset_inverse

offset_inverse(anchors, offset_preds)

Predict bounding boxes based on anchor boxes with predicted offsets. Section 20.4

plot

plot(X, Y=None, xlabel=None, ylabel=None, legend=None, xlim=None, ylim=None, xscale='linear', yscale='linear', fmts=('-', 'm--', 'g-.', 'r:'), figsize=(3.5, 2.5), axes=None)

Plot data points. Section 1.4

predict_sentiment

predict_sentiment(net, vocab, sequence)

Predict the sentiment of a text sequence. Section 19.2

predict_seq2seq

predict_seq2seq(net, src_sentence, src_vocab, tgt_vocab, num_steps, save_attention_weights=False)

Predict for sequence to sequence. Section 30.9

predict_snli

predict_snli(net, vocab, premise, hypothesis)

Predict the logical relationship between the premise and hypothesis. Section 19.5

preprocess_nmt

preprocess_nmt(text)

Preprocess the English-French dataset. Section 30.9

read_csv_labels

read_csv_labels(fname)

Read fname to return a filename to label dictionary. Section 20.13

read_data_bananas

read_data_bananas(is_train=True)

Read the banana detection dataset images and labels. Section 20.6

read_data_nmt

read_data_nmt()

Load the English-French dataset. Section 30.9

read_imdb

read_imdb(data_dir, is_train)

Read the IMDb review dataset text sequences and labels. Section 19.1

read_ptb

read_ptb()

Load the PTB dataset into a list of text lines. Section 18.4

read_snli

read_snli(data_dir, is_train)

Read the SNLI dataset into premises, hypotheses, and labels. Section 19.4

read_voc_images

read_voc_images(voc_dir, is_train=True)

Read all VOC feature and label images. Section 20.9

reorg_test

reorg_test(data_dir)

Organize the testing set for data loading during prediction. Section 20.13

reorg_train_valid

reorg_train_valid(data_dir, labels, valid_ratio)

Split the validation set out of the original training set. Section 20.13

resnet18

resnet18(num_classes, in_channels=1)

A slightly modified ResNet-18 model built with Keras. Section 13.6

sample_next

sample_next(logits, strategy='greedy', temperature=1.0, k=None, p=None, min_p=None, rng=None)

Choose the next token id from a 1-D numpy logits array. Section 8.7.3

sequence_mask

sequence_mask(X, valid_len, value=0)

Mask irrelevant entries in sequences. Section 30.9

set_axes

set_axes(axes, xlabel, ylabel, xlim, ylim, xscale, yscale, legend)

Set the axes for matplotlib. Section 1.4

set_figsize

set_figsize(figsize=(3.5, 2.5))

Set the figure size for matplotlib. Section 1.4

sgd

sgd(params, grads, lr, batch_size)

Minibatch stochastic gradient descent. Section 30.9

show_bboxes

show_bboxes(axes, bboxes, labels=None, colors=None)

Show bounding boxes. Section 20.4

show_heatmaps

show_heatmaps(matrices, xlabel, ylabel, titles=None, figsize=(2.5, 2.5), cmap='Reds')

Show heatmaps of matrices. Section 3.4

show_images

show_images(imgs, num_rows, num_cols, titles=None, scale=1.5)

Plot a list of images. Section 30.9

show_list_len_pair_hist

show_list_len_pair_hist(legend, xlabel, ylabel, xlist, ylist)

Plot the histogram for list length pairs. Section 18.1.2

split_batch

split_batch(X, y, devices)

Split X and y into multiple devices. Section 13.5

squared_loss

squared_loss(y_hat, y)

Squared loss. Section 30.9

subsample

subsample(sentences, vocab)

Subsample high-frequency words. Section 18.4

synthetic_data

synthetic_data(w, b, num_examples)

Generate y = Xw + b + noise. Section 30.9

tokenize

tokenize(lines, token='word')

Split text lines into word or character tokens. Section 30.9

tokenize_nmt

tokenize_nmt(text, num_examples=None)

Tokenize the English-French dataset. Section 30.9

train_2d

train_2d(trainer, steps=20, f_grad=None)

Optimize a 2D objective function with a customized trainer. Section 9.2

train_batch_ch13

train_batch_ch13(net, X, y, loss, optimizer)

Train for a minibatch with Keras (defined in Chapter 13). Section 20.1

train_ch13

train_ch13(net, train_iter, test_iter, loss, optimizer, num_epochs)

Train a model with Keras (defined in Chapter 13). Section 20.1

train_ch6

train_ch6(net_fn, train_iter, test_iter, num_epochs, lr, device)

Train a model with a GPU (defined in Chapter 6). Section 30.9

train_seq2seq

train_seq2seq(net, data_iter, lr, num_epochs, tgt_vocab, device)

Train a model for sequence to sequence. Section 30.9

truncate_pad

truncate_pad(line, num_steps, padding_token)

Truncate or pad sequences. Section 30.9

try_all_gpus

try_all_gpus()

Return all available GPUs, or [cpu(),] if no GPU exists. Section 5.7

try_gpu

try_gpu(i=0)

Return gpu(i) if exists, otherwise return cpu(). Section 5.7

use_svg_display

use_svg_display()

Use the svg format to display a plot in Jupyter. Section 1.4

voc_colormap2label

voc_colormap2label()

Build the mapping from RGB to class indices for VOC labels. Section 20.9

voc_label_indices

voc_label_indices(colormap, colormap2label)

Map any RGB values in VOC labels to their class indices. Section 20.9

voc_rand_crop

voc_rand_crop(feature, label, height, width)

Randomly crop both feature and label images. Section 20.9

add_to_class

add_to_class(Class)

Register functions as methods in created class. Section 2.2

assign_anchor_to_bbox

assign_anchor_to_bbox(ground_truth, anchors, device, iou_threshold=0.5)

Assign closest ground-truth bounding boxes to anchor boxes. Section 20.4

associative_scan

associative_scan(a, b)

Parallel prefix scan for h_t = a_t * h_{t-1} + b_t with h_0 = 0. Section 12.2

batchify

batchify(data)

Return a minibatch of examples for skip-gram with negative sampling. Section 18.4

bbox_to_rect

bbox_to_rect(bbox, color)

Convert bounding box to matplotlib format. Section 20.3

beam_search

beam_search(step_fn, prefix, num_tokens, beam_size=4, alpha=0.75, eos_id=None)

Length-normalized beam search (score = log P / len^alpha). Section 8.7.3

bleu

bleu(pred_seq, label_seq, k)

Compute the BLEU. Section 18.1.4

box_center_to_corner

box_center_to_corner(boxes)

Convert from (center, width, height) to (upper-left, lower-right). Section 20.3

box_corner_to_center

box_corner_to_center(boxes)

Convert from (upper-left, lower-right) to (center, width, height). Section 20.3

box_iou

box_iou(boxes1, boxes2)

Compute pairwise IoU across two lists of anchor or bounding boxes. Section 20.4

check_len

check_len(a, n)

Check the length of a list. Section 8.5

check_shape

check_shape(a, shape)

Check the shape of a tensor. Section 8.5

chrf

chrf(pred, label, n=6, beta=2)

chrF (Popovic, 2015): character n-gram F-score. Section 18.1.4

copyfile

copyfile(filename, target_dir)

Copy a file into a target directory. Section 20.13

corr2d

corr2d(X, K)

Compute 2D cross-correlation. Section 6.2

cpu

cpu()

Get the CPU device. Section 5.7

download

download(url, folder='../data', sha1_hash=None)

Download a file to folder and return the local filepath. Section 30.9

download_extract

download_extract(name, folder=None)

Download and extract a zip/tar file. Section 30.9

epsilon_greedy

epsilon_greedy(q, epsilon, rng)

Explore with probability epsilon, else act greedily on the values q. Section 14.4

evaluate

evaluate(env, policy, num_episodes, gamma=1.0, rng=None)

Mean discounted return of an acting policy over Monte Carlo episodes. Section 14.2

evaluate_loss

evaluate_loss(net, data_iter, loss)

Evaluate the loss of a model on the given dataset. Section 30.9

extract

extract(filename, folder=None)

Extract a zip/tar file into folder. Section 30.9

fit_value

fit_value(ac, obs, target, num_steps=1)

Regress the value head on a fixed target: eq_value_baseline for nets. Section 14.7

generate

generate(step_fn, prefix, num_tokens, eos_id=None, **strategy)

Autoregressive generation. step_fn(ids: list[int]) -> numpy logits Section 8.7.3

get_centers_and_contexts

get_centers_and_contexts(corpus, max_window_size)

Return center words and context words in skip-gram. Section 18.4

get_negatives

get_negatives(all_contexts, vocab, counter, K)

Return noise words in negative sampling. Section 18.4

get_tokens_and_segments

get_tokens_and_segments(tokens_a, tokens_b=None)

Get tokens of the BERT input sequence and their segment IDs. Section 18.9

gpu

gpu(i=0)

Get a GPU device. Section 5.7

linear_schedule

linear_schedule(start, end, num_steps)

step -> value, interpolated from start to end, then held at end. Section 14.4

linreg

linreg(X, w, b)

The linear regression model. Section 30.9

load_array

load_array(data_arrays, batch_size, is_train=True)

Construct a JAX-compatible data iterator. Section 30.9

load_data_bananas

load_data_bananas(batch_size)

Load the banana detection dataset. Section 20.6

load_data_imdb

load_data_imdb(batch_size, num_steps=500)

Return data iterators and the vocabulary of the IMDb review dataset. Section 19.1

load_data_ptb

load_data_ptb(batch_size, max_window_size, num_noise_words)

Download the PTB dataset and then load it into memory. Section 18.4

load_data_snli

load_data_snli(batch_size, num_steps=50)

Download the SNLI dataset and return data iterators and vocabulary. Section 19.4

load_data_voc

load_data_voc(batch_size, crop_size)

Load the VOC semantic segmentation dataset. Section 20.9

load_data_wiki

load_data_wiki(batch_size, max_len)

Load the WikiText-2 dataset. Section 18.10

masked_softmax

masked_softmax(X, valid_lens)

Perform softmax operation by masking elements on the last axis. Section 10.2

multibox_detection

multibox_detection(cls_probs, offset_preds, anchors, nms_threshold=0.5, pos_threshold=0.009999999)

Predict bounding boxes using non-maximum suppression. Section 20.4

multibox_prior

multibox_prior(data, sizes, ratios)

Generate anchor boxes with different shapes centered on each pixel. Section 20.4

multibox_target

multibox_target(anchors, labels)

Label anchor boxes using ground-truth bounding boxes. Section 20.4

nms

nms(boxes, scores, iou_threshold)

Sort confidence scores of predicted bounding boxes. Section 20.4

normalize

normalize(x, eps=1e-08)

Center a batch of weights and rescale them to unit spread. Section 14.6

num_gpus

num_gpus()

Get the number of available GPUs. Section 5.7

offline_q

offline_q(batch, num_sweeps, alpha, gamma, kappa=0.0, shape=(16, 4), seed=0)

Q-learning swept over a fixed dataset, with optional pessimism. Section 15.6

offset_boxes

offset_boxes(anchors, assigned_bb, eps=1e-06)

Transform for anchor box offsets. Section 20.4

offset_inverse

offset_inverse(anchors, offset_preds)

Predict bounding boxes based on anchor boxes with predicted offsets. Section 20.4

plot

plot(X, Y=None, xlabel=None, ylabel=None, legend=None, xlim=None, ylim=None, xscale='linear', yscale='linear', fmts=('-', 'm--', 'g-.', 'r:'), figsize=(3.5, 2.5), axes=None)

Plot data points. Section 1.4

plot_curves

plot_curves(curves, xlabel, ylabel, smooth=1, reference=None, ylim=None)

One panel per call. curves maps a label to an array of shape Section 30.9

policy_evaluation

policy_evaluation(mdp, pi, num_iters)

Same sweep with the max replaced by an average under pi(a|s). Section 14.2

policy_step

policy_step(ac, batch, advantage)

One ascent step on E[A_t log pi(a_t|s_t)]; A_t arrives as numpy = data. Section 14.3

ppo_epochs

ppo_epochs(ac, batch, adv, logp_old, epsilon, num_epochs, entropy_coef=0.01, use_clip=True)

num_epochs clipped-surrogate passes on one frozen batch; returns Section 15.2

predict_sentiment

predict_sentiment(net, vocab, sequence)

Predict the sentiment of a text sequence. Section 19.2

predict_snli

predict_snli(net, vocab, premise, hypothesis)

Predict the logical relationship between the premise and hypothesis. Section 19.5

r1_r2_penalty

r1_r2_penalty(critic, real, fake)

Per-sample squared critic input gradients on real (R1) and fake (R2), Section 16.4

read_csv_labels

read_csv_labels(fname)

Read fname to return a filename to label dictionary. Section 20.13

read_data_bananas

read_data_bananas(is_train=True)

Read the banana detection dataset images and labels. Section 20.6

read_imdb

read_imdb(data_dir, is_train)

Read the IMDb review dataset text sequences and labels. Section 19.1

read_ptb

read_ptb()

Load the PTB dataset into a list of text lines. Section 18.4

read_snli

read_snli(data_dir, is_train)

Read the SNLI dataset into premises, hypotheses, and labels. Section 19.4

read_voc_images

read_voc_images(voc_dir, is_train=True)

Read all VOC feature and label images. Section 20.9

reorg_test

reorg_test(data_dir)

Organize the testing set for data loading during prediction. Section 20.13

reorg_train_valid

reorg_train_valid(data_dir, labels, valid_ratio)

Split the validation set out of the original training set. Section 20.13

rollout

rollout(env, policy, num_episodes, rng)

Collect complete episodes from policy(obs, rng) -> action as a Section 14.5

rpgan_loss_D

rpgan_loss_D(critic, real, fake)

Relativistic pairing loss for the critic: -E[log sigma(D(x) - D(y))]. Section 16.4

rpgan_loss_G

rpgan_loss_G(critic, real, fake)

Non-saturating pairing loss for the generator. Section 16.4

run_seeds

run_seeds(train, num_seeds, **kwargs)

Run train(seed, **kwargs), a generator of curve points, per seed. Section 14.6

sample_next

sample_next(logits, strategy='greedy', temperature=1.0, k=None, p=None, min_p=None, rng=None)

Choose the next token id from a 1-D numpy logits array. Section 8.7.3

set_axes

set_axes(axes, xlabel, ylabel, xlim, ylim, xscale, yscale, legend)

Set the axes for matplotlib. Section 1.4

set_figsize

set_figsize(figsize=(3.5, 2.5))

Set the figure size for matplotlib. Section 1.4

show_bboxes

show_bboxes(axes, bboxes, labels=None, colors=None)

Show bounding boxes. Section 20.4

show_grid

show_grid(desc, values, policy, titles=None)

The gridworld: cell colour = values, arrow = policy. The grid Section 30.9

show_heatmaps

show_heatmaps(matrices, xlabel, ylabel, titles=None, figsize=(2.5, 2.5), cmap='Reds')

Show heatmaps of matrices. Section 3.4

show_images

show_images(imgs, num_rows, num_cols, titles=None, scale=1.5)

Plot a list of images. Section 30.9

show_list_len_pair_hist

show_list_len_pair_hist(legend, xlabel, ylabel, xlist, ylist)

Plot the histogram for list length pairs. Section 18.1.2

show_trace_2d

show_trace_2d(f, results)

Show the trace of 2D variables during optimization. Section 9.2

split_batch

split_batch(X, y, num_devices)

Reshape X and y onto a leading device axis of size num_devices. Section 13.5

squared_loss

squared_loss(y_hat, y)

Squared loss. Section 30.9

subsample

subsample(sentences, vocab)

Subsample high-frequency words. Section 18.4

tokenize

tokenize(lines, token='word')

Split text lines into word or character tokens. Section 30.9

train_2d

train_2d(trainer, steps=20, f_grad=None)

Optimize a 2D objective function with a customized trainer. Section 9.2

train_batch_ch13

train_batch_ch13(net, optimizer, X, y)

Train for a minibatch with JAX (defined in Chapter 13). Section 20.1

train_ch13

train_ch13(net, train_iter, test_iter, optimizer, num_epochs)

Train a model with JAX (defined in Chapter 13). Section 20.1

train_lm

train_lm(model, data, optimizer, num_steps)

Train a model on next-token prediction for a fixed number of steps. Section 9.6

truncate_pad

truncate_pad(line, num_steps, padding_token)

Truncate or pad sequences. Section 30.9

try_all_gpus

try_all_gpus()

Return all available GPUs, or [cpu(),] if no GPU exists. Section 5.7

try_gpu

try_gpu(i=0)

Return gpu(i) if exists, otherwise return cpu(). Section 5.7

update_D

update_D(X, Z, net_D, net_G, optimizer_D)

Update the discriminator. Section 16.1

update_G

update_G(Z, net_D, net_G, optimizer_G)

Update the generator on the non-saturating loss. Section 16.1

use_svg_display

use_svg_display()

Use the svg format to display a plot in Jupyter. Section 1.4

value_iteration

value_iteration(mdp, num_iters)

Sweep V <- max_a backup(V); return the whole history of iterates. Section 14.2

voc_colormap2label

voc_colormap2label()

Build the mapping from RGB to class indices for VOC labels. Section 20.9

voc_label_indices

voc_label_indices(colormap, colormap2label)

Map any RGB values in VOC labels to their class indices. Section 20.9

voc_rand_crop

voc_rand_crop(feature, label, height, width)

Randomly crop both feature and label images. Section 20.9

accuracy

accuracy(y_hat, y)

Compute the number of correct predictions. Section 30.9

add_to_class

add_to_class(Class)

Register functions as methods in created class. Section 2.2

assign_anchor_to_bbox

assign_anchor_to_bbox(ground_truth, anchors, device, iou_threshold=0.5)

Assign closest ground-truth bounding boxes to anchor boxes. Section 20.4

batchify

batchify(data)

Return a minibatch of examples for skip-gram with negative sampling. Section 18.4

bbox_to_rect

bbox_to_rect(bbox, color)

Convert bounding box to matplotlib format. Section 20.3

beam_search

beam_search(step_fn, prefix, num_tokens, beam_size=4, alpha=0.75, eos_id=None)

Length-normalized beam search (score = log P / len^alpha). Section 8.7.3

bleu

bleu(pred_seq, label_seq, k)

Compute the BLEU. Section 18.1.4

box_center_to_corner

box_center_to_corner(boxes)

Convert from (center, width, height) to (upper-left, lower-right). Section 20.3

box_corner_to_center

box_corner_to_center(boxes)

Convert from (upper-left, lower-right) to (center, width, height). Section 20.3

box_iou

box_iou(boxes1, boxes2)

Compute pairwise IoU across two lists of anchor or bounding boxes. Section 20.4

build_array_nmt

build_array_nmt(lines, vocab, num_steps)

Transform text sequences of machine translation into minibatches. Section 30.9

check_len

check_len(a, n)

Check the length of a list. Section 8.5

check_shape

check_shape(a, shape)

Check the shape of a tensor. Section 8.5

chrf

chrf(pred, label, n=6, beta=2)

chrF (Popovic, 2015): character n-gram F-score. Section 18.1.4

copyfile

copyfile(filename, target_dir)

Copy a file into a target directory. Section 20.13

corr2d

corr2d(X, K)

Compute 2D cross-correlation. Section 6.2

cpu

cpu()

Get the CPU device. Section 5.7

download

download(url, folder='../data', sha1_hash=None)

Download a file to folder and return the local filepath. Section 30.9

download_extract

download_extract(name, folder=None)

Download and extract a zip/tar file. Section 30.9

evaluate_accuracy

evaluate_accuracy(net, data_iter)

Compute the accuracy for a model on a dataset. Section 30.9

evaluate_accuracy_gpu

evaluate_accuracy_gpu(net, data_iter, device=None)

Compute the accuracy for a model on a dataset using a GPU. Section 30.9

evaluate_accuracy_gpus

evaluate_accuracy_gpus(net, data_iter, split_f=d2l.split_batch)

Compute the accuracy for a model on a dataset using multiple GPUs. Section 13.6

evaluate_loss

evaluate_loss(net, data_iter, loss)

Evaluate the loss of a model on the given dataset. Section 30.9

extract

extract(filename, folder=None)

Extract a zip/tar file into folder. Section 30.9

generate

generate(step_fn, prefix, num_tokens, eos_id=None, **strategy)

Autoregressive generation. step_fn(ids: list[int]) -> numpy logits Section 8.7.3

get_centers_and_contexts

get_centers_and_contexts(corpus, max_window_size)

Return center words and context words in skip-gram. Section 18.4

get_dataloader_workers

get_dataloader_workers()

Use 4 processes to read the data except for Windows. Section 30.9

get_fashion_mnist_labels

get_fashion_mnist_labels(labels)

Return text labels for the Fashion-MNIST dataset. Section 30.9

get_negatives

get_negatives(all_contexts, vocab, counter, K)

Return noise words in negative sampling. Section 18.4

get_tokens_and_segments

get_tokens_and_segments(tokens_a, tokens_b=None)

Get tokens of the BERT input sequence and their segment IDs. Section 18.9

gpu

gpu(i=0)

Get a GPU device. Section 5.7

linreg

linreg(X, w, b)

The linear regression model. Section 30.9

load_array

load_array(data_arrays, batch_size, is_train=True)

Construct a Gluon data iterator. Section 30.9

load_checkpoint

load_checkpoint(prefix, model, trainer=None)

Restore the state written by save_checkpoint; return the metadata. Section 5.6

load_data_bananas

load_data_bananas(batch_size)

Load the banana detection dataset. Section 20.6

load_data_fashion_mnist

load_data_fashion_mnist(batch_size, resize=None)

Download the Fashion-MNIST dataset and then load it into memory. Section 30.9

load_data_imdb

load_data_imdb(batch_size, num_steps=500)

Return data iterators and the vocabulary of the IMDb review dataset. Section 19.1

load_data_nmt

load_data_nmt(batch_size, num_steps, num_examples=600)

Return the iterator and the vocabularies of the translation dataset. Section 30.9

load_data_ptb

load_data_ptb(batch_size, max_window_size, num_noise_words)

Download the PTB dataset and then load it into memory. Section 18.4

load_data_snli

load_data_snli(batch_size, num_steps=50)

Download the SNLI dataset and return data iterators and vocabulary. Section 19.4

load_data_voc

load_data_voc(batch_size, crop_size)

Load the VOC semantic segmentation dataset. Section 20.9

load_data_wiki

load_data_wiki(batch_size, max_len)

Load the WikiText-2 dataset. Section 18.10

multibox_detection

multibox_detection(cls_probs, offset_preds, anchors, nms_threshold=0.5, pos_threshold=0.009999999)

Predict bounding boxes using non-maximum suppression. Section 20.4

multibox_prior

multibox_prior(data, sizes, ratios)

Generate anchor boxes with different shapes centered on each pixel. Section 20.4

multibox_target

multibox_target(anchors, labels)

Label anchor boxes using ground-truth bounding boxes. Section 20.4

nms

nms(boxes, scores, iou_threshold)

Sort confidence scores of predicted bounding boxes. Section 20.4

num_gpus

num_gpus()

Get the number of available GPUs. Section 5.7

offset_boxes

offset_boxes(anchors, assigned_bb, eps=1e-06)

Transform for anchor box offsets. Section 20.4

offset_inverse

offset_inverse(anchors, offset_preds)

Predict bounding boxes based on anchor boxes with predicted offsets. Section 20.4

plot

plot(X, Y=None, xlabel=None, ylabel=None, legend=None, xlim=None, ylim=None, xscale='linear', yscale='linear', fmts=('-', 'm--', 'g-.', 'r:'), figsize=(3.5, 2.5), axes=None)

Plot data points. Section 1.4

predict_sentiment

predict_sentiment(net, vocab, sequence)

Predict the sentiment of a text sequence. Section 19.2

predict_seq2seq

predict_seq2seq(net, src_sentence, src_vocab, tgt_vocab, num_steps, device, save_attention_weights=False)

Predict for sequence to sequence. Section 30.9

predict_snli

predict_snli(net, vocab, premise, hypothesis)

Predict the logical relationship between the premise and hypothesis. Section 19.5

preprocess_nmt

preprocess_nmt(text)

Preprocess the English-French dataset. Section 30.9

read_csv_labels

read_csv_labels(fname)

Read fname to return a filename to label dictionary. Section 20.13

read_data_bananas

read_data_bananas(is_train=True)

Read the banana detection dataset images and labels. Section 20.6

read_data_nmt

read_data_nmt()

Load the English-French dataset. Section 30.9

read_imdb

read_imdb(data_dir, is_train)

Read the IMDb review dataset text sequences and labels. Section 19.1

read_ptb

read_ptb()

Load the PTB dataset into a list of text lines. Section 18.4

read_snli

read_snli(data_dir, is_train)

Read the SNLI dataset into premises, hypotheses, and labels. Section 19.4

read_voc_images

read_voc_images(voc_dir, is_train=True)

Read all VOC feature and label images. Section 20.9

reorg_test

reorg_test(data_dir)

Organize the testing set for data loading during prediction. Section 20.13

reorg_train_valid

reorg_train_valid(data_dir, labels, valid_ratio)

Split the validation set out of the original training set. Section 20.13

resnet18

resnet18(num_classes)

A slightly modified ResNet-18 model. Section 13.6

sample_next

sample_next(logits, strategy='greedy', temperature=1.0, k=None, p=None, min_p=None, rng=None)

Choose the next token id from a 1-D numpy logits array. Section 8.7.3

save_checkpoint

save_checkpoint(prefix, model, trainer, step, cfg=None)

Replace each component of a resumable MXNet checkpoint. Section 5.6

set_axes

set_axes(axes, xlabel, ylabel, xlim, ylim, xscale, yscale, legend)

Set the axes for matplotlib. Section 1.4

set_figsize

set_figsize(figsize=(3.5, 2.5))

Set the figure size for matplotlib. Section 1.4

sgd

sgd(params, lr, batch_size)

Minibatch stochastic gradient descent. Section 30.9

show_bboxes

show_bboxes(axes, bboxes, labels=None, colors=None)

Show bounding boxes. Section 20.4

show_heatmaps

show_heatmaps(matrices, xlabel, ylabel, titles=None, figsize=(2.5, 2.5), cmap='Reds')

Show heatmaps of matrices. Section 3.4

show_images

show_images(imgs, num_rows, num_cols, titles=None, scale=1.5)

Plot a list of images. Section 30.9

show_list_len_pair_hist

show_list_len_pair_hist(legend, xlabel, ylabel, xlist, ylist)

Plot the histogram for list length pairs. Section 18.1.2

split_batch

split_batch(X, y, devices)

Split X and y into multiple devices. Section 13.5

split_batch_multi_inputs

split_batch_multi_inputs(X, y, devices)

Split multi-input X and y into multiple devices. Section 19.5

squared_loss

squared_loss(y_hat, y)

Squared loss. Section 30.9

subsample

subsample(sentences, vocab)

Subsample high-frequency words. Section 18.4

synthetic_data

synthetic_data(w, b, num_examples)

Generate y = Xw + b + noise. Section 30.9

tokenize

tokenize(lines, token='word')

Split text lines into word or character tokens. Section 30.9

tokenize_nmt

tokenize_nmt(text, num_examples=None)

Tokenize the English-French dataset. Section 30.9

train_2d

train_2d(trainer, steps=20, f_grad=None)

Optimize a 2D objective function with a customized trainer. Section 9.2

train_batch_ch13

train_batch_ch13(net, features, labels, loss, trainer, devices, split_f=d2l.split_batch)

Train for a minibatch with multiple GPUs (defined in Chapter 13). Section 20.1

train_ch13

train_ch13(net, train_iter, test_iter, loss, trainer, num_epochs, devices=d2l.try_all_gpus(), split_f=d2l.split_batch)

Train a model with multiple GPUs (defined in Chapter 13). Section 20.1

train_ch6

train_ch6(net, train_iter, test_iter, num_epochs, lr, device)

Train a model with a GPU (defined in Chapter 6). Section 30.9

train_seq2seq

train_seq2seq(net, data_iter, lr, num_epochs, tgt_vocab, device)

Train a model for sequence to sequence. Section 30.9

truncate_pad

truncate_pad(line, num_steps, padding_token)

Truncate or pad sequences. Section 30.9

try_all_gpus

try_all_gpus()

Return all available GPUs, or [cpu(),] if no GPU exists. Section 5.7

try_gpu

try_gpu(i=0)

Return gpu(i) if exists, otherwise return cpu(). Section 5.7

use_svg_display

use_svg_display()

Use the svg format to display a plot in Jupyter. Section 1.4

voc_colormap2label

voc_colormap2label()

Build the mapping from RGB to class indices for VOC labels. Section 20.9

voc_label_indices

voc_label_indices(colormap, colormap2label)

Map any RGB values in VOC labels to their class indices. Section 20.9

voc_rand_crop

voc_rand_crop(feature, label, height, width)

Randomly crop both feature and label images. Section 20.9