උදාහරණයක්ලෙස සාමාන්යකරණය සඳහා CIFAR10 අත්හදා බැලීම

වර්ගීකරණයසඳහා සංවහන ස්නායුක ජාලයක උදාහරණයක් සාමාන්යකරණ ස්තරයක් භාවිතා කිරීම මෙයින් පෙන්නුම් කෙරේ. උදාහරණයක් නොවේ සාමාන්යකරණය මෝස්තර මාරු කිරීම සඳහා නිර්මාණය කර ඇති අතර මෙය නිරූපණයක් පමණි.

16import torch.nn as nn
17
18from labml import experiment
19from labml.configs import option
20from labml_nn.experiments.cifar10 import CIFAR10Configs, CIFAR10VGGModel
21from labml_nn.normalization.instance_norm import InstanceNorm

CIFA-10වර්ගීකරණය සඳහා VGG ආකෘතිය

මෙය සාමාන්ය VGG විලාසිතාවේ ගෘහ නිර්මාණ ශිල්පයෙන්ලබා ගනී.

24class Model(CIFAR10VGGModel):
31    def conv_block(self, in_channels, out_channels) -> nn.Module:
32        return nn.Sequential(
33            nn.Conv2d(in_channels, out_channels, kernel_size=3, padding=1),
34            InstanceNorm(out_channels),
35            nn.ReLU(inplace=True),
36        )
38    def __init__(self):
39        super().__init__([[64, 64], [128, 128], [256, 256, 256], [512, 512, 512], [512, 512, 512]])

ආකෘතියසාදන්න

42@option(CIFAR10Configs.model)
43def _model(c: CIFAR10Configs):
47    return Model().to(c.device)
50def main():

අත්හදාබැලීම සාදන්න

52    experiment.create(name='cifar10', comment='instance norm')

වින්යාසයන්සාදන්න

54    conf = CIFAR10Configs()

වින්යාසයන්පූරණය කරන්න

56    experiment.configs(conf, {
57        'optimizer.optimizer': 'Adam',
58        'optimizer.learning_rate': 2.5e-4,
59    })

අත්හදාබැලීම ආරම්භ කර පුහුණු ලූපය ක්රියාත්මක කරන්න

61    with experiment.start():
62        conf.run()

66if __name__ == '__main__':
67    main()