docs/si/normalization/group_norm/experiment.html
12importtorch.nnasnn1314fromlabmlimportexperiment15fromlabml.configsimportoption16fromlabml\_helpers.moduleimportModule17fromlabml\_nn.experiments.cifar10importCIFAR10Configs18fromlabml\_nn.normalization.group\_normimportGroupNorm
21classModel(Module):
26def\_\_init\_\_(self,groups:int=32):27super().\_\_init\_\_()28layers=[]
RGBනාලිකා
30in\_channels=3
එක්එක් කොටසෙහි එක් එක් ස්ථරයේ නාලිකා ගණන
32forblockin[[64,64],[128,128],[256,256,256],[512,512,512],[512,512,512]]:
සම්මුතිය, සාමාන්යකරණය සහ සක්රිය කිරීමේ ස්ථර
34forchannelsinblock:35layers+=[nn.Conv2d(in\_channels,channels,kernel\_size=3,padding=1),36GroupNorm(groups,channels),37nn.ReLU(inplace=True)]38in\_channels=channels
එක්එක් කොටස අවසානයේ මැක්ස් තටාක
40layers+=[nn.MaxPool2d(kernel\_size=2,stride=2)]
ස්ථරසමඟ අනුක්රමික ආකෘතියක් සාදන්න
43self.layers=nn.Sequential(\*layers)
අවසන්පිවිසුම් ස්ථරය
45self.fc=nn.Linear(512,10)
47defforward(self,x):
VGGස්ථර
49x=self.layers(x)
වර්ගීකරණස්ථරය සඳහා නැවත සකස් කරන්න
51x=x.view(x.shape[0],-1)
අවසානරේඛීය ස්ථරය
53returnself.fc(x)
56classConfigs(CIFAR10Configs):
කණ්ඩායම්ගණන
58groups:int=16
61@option(Configs.model)62defmodel(c:Configs):
66returnModel(c.groups).to(c.device)
69defmain():
අත්හදාබැලීම සාදන්න
71experiment.create(name='cifar10',comment='group norm')
වින්යාසයන්සාදන්න
73conf=Configs()
වින්යාසයන්පූරණය කරන්න
75experiment.configs(conf,{76'optimizer.optimizer':'Adam',77'optimizer.learning\_rate':2.5e-4,78})
අත්හදාබැලීම ආරම්භ කර පුහුණු ලූපය ක්රියාත්මක කරන්න
80withexperiment.start():81conf.run()
85if\_\_name\_\_=='\_\_main\_\_':86main()