CIFAR10 හි කුඩා ආකෘතියක් පුහුණු කරන්න

මෙමCIFAR මත කුඩා ආකෘතිය පුහුණු 10 කොපමණ ආසවනය ප්රතිලාභ පරීක්ෂා කිරීමට.

View Run

15import torch.nn as nn
16
17from labml import experiment, logger
18from labml.configs import option
19from labml_nn.experiments.cifar10 import CIFAR10Configs, CIFAR10VGGModel
20from labml_nn.normalization.batch_norm import BatchNorm

වින්යාසකිරීම්

සියලුමදත්ත කට්ටල ආශ්රිත වින්යාසයන්, ප්රශස්තකරණය සහ පුහුණු ලූපයක් නිර්වචනය කරන අපි භාවිතා CIFAR10Configs කරමු.

23class Configs(CIFAR10Configs):
30    pass

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

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

33class SmallModel(CIFAR10VGGModel):

සංවහනස්තරයක් සහ සක්රිය කිරීම් සාදන්න

40    def conv_block(self, in_channels, out_channels) -> nn.Module:
44        return nn.Sequential(

සංවහනස්ථරය

46            nn.Conv2d(in_channels, out_channels, kernel_size=3, padding=1),

කණ්ඩායම්සාමාන්යකරණය

48            BatchNorm(out_channels, track_running_stats=False),

Reluසක්රිය

50            nn.ReLU(inplace=True),
51        )
53    def __init__(self):

ලබාදී ඇති සංවහන ප්රමාණ (නාලිකා) සහිත ආකෘතියක් සාදන්න

55        super().__init__([[32, 32], [64, 64], [128], [128], [128]])

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

58@option(Configs.model)
59def _small_model(c: Configs):
63    return SmallModel().to(c.device)
66def main():

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

68    experiment.create(name='cifar10', comment='small model')

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

70    conf = Configs()

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

72    experiment.configs(conf, {
73        'optimizer.optimizer': 'Adam',
74        'optimizer.learning_rate': 2.5e-4,
75    })

ඉතිරිකිරීම/පැටවීම සඳහා ආකෘතිය සකසන්න

77    experiment.add_pytorch_models({'model': conf.model})

ආකෘතියේපරාමිති ගණන මුද්රණය කරන්න

79    logger.inspect(params=(sum(p.numel() for p in conf.model.parameters() if p.requires_grad)))

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

81    with experiment.start():
82        conf.run()

86if __name__ == '__main__':
87    main()