Learn Before
Code

AnyNet Model Code Implementation

The complete AnyNet model is constructed by initializing a sequential container and adding the stem, iterating through an architectural configuration tuple (arch) to append each stage of the body, and finally adding the head (consisting of global average pooling and a dense classification layer).

PyTorch Implementation:

@d2l.add_to_class(AnyNet) def __init__(self, arch, stem_channels, lr=0.1, num_classes=10): super(AnyNet, self).__init__() self.save_hyperparameters() self.net = nn.Sequential(self.stem(stem_channels)) for i, s in enumerate(arch): self.net.add_module(f'stage{i+1}', self.stage(*s)) self.net.add_module('head', nn.Sequential( nn.AdaptiveAvgPool2d((1, 1)), nn.Flatten(), nn.LazyLinear(num_classes))) self.net.apply(d2l.init_cnn)

MXNet Implementation:

@d2l.add_to_class(AnyNet) def __init__(self, arch, stem_channels, lr=0.1, num_classes=10): super(AnyNet, self).__init__() self.save_hyperparameters() self.net = nn.Sequential() self.net.add(self.stem(stem_channels)) for i, s in enumerate(arch): self.net.add(self.stage(*s)) self.net.add(nn.GlobalAvgPool2D(), nn.Dense(num_classes)) self.net.initialize(init.Xavier())

JAX Implementation:

@d2l.add_to_class(AnyNet) def create_net(self): net = nn.Sequential([self.stem(self.stem_channels)]) for i, s in enumerate(self.arch): net.layers.extend([self.stage(*s)]) net.layers.extend([nn.Sequential([ lambda x: nn.avg_pool(x, window_shape=x.shape[1:3], strides=x.shape[1:3], padding='valid'), lambda x: x.reshape((x.shape[0], -1)), nn.Dense(self.num_classes)])]) return net

TensorFlow Implementation:

@d2l.add_to_class(AnyNet) def __init__(self, arch, stem_channels, lr=0.1, num_classes=10): super(AnyNet, self).__init__() self.save_hyperparameters() self.net = tf.keras.models.Sequential(self.stem(stem_channels)) for i, s in enumerate(arch): self.net.add(self.stage(*s)) self.net.add(tf.keras.models.Sequential([ tf.keras.layers.GlobalAvgPool2D(), tf.keras.layers.Dense(units=num_classes)]))

0

1

Updated 2026-05-13

Contributors are:

Who are from:

Tags

D2L

Dive into Deep Learning @ D2L