docs/si/transformers/rope/experiment.html
මෙයරොටරි ස්ථානීය කාවැද්දීම් (කඹය) සමඟ ට්රාන්ස්ෆෝමර් ආකෘතියක් පුහුණු කිරීම සඳහා කරන ලද පයිටෝච් අත්හදා බැලීමකි.
14fromlabmlimportexperiment15fromlabml.configsimportoption,calculate16fromlabml\_nn.transformersimportTransformerConfigs17fromlabml\_nn.transformers.basic.autoregressive\_experimentimportAutoregressiveTransformer,Configs
21def\_rotary\_pe\_mha(c:TransformerConfigs):22fromlabml\_nn.transformers.ropeimportRotaryPEMultiHeadAttention23returnRotaryPEMultiHeadAttention(c.n\_heads,c.d\_model,1.)
වින්යාසවිකල්ප
27calculate(TransformerConfigs.encoder\_attn,'rotary',\_rotary\_pe\_mha)28calculate(TransformerConfigs.decoder\_attn,'rotary',\_rotary\_pe\_mha)29calculate(TransformerConfigs.decoder\_mem\_attn,'rotary',\_rotary\_pe\_mha)
ස්වයංක්රීයප්රතිගාමී ආකෘතියක් සාදන්න සහ බර ආරම්භ කරන්න
32@option(Configs.model,'rotary\_pe\_transformer')33def\_model(c:Configs):
37m=AutoregressiveTransformer(c.transformer.encoder,38c.transformer.src\_embed,39c.transformer.generator).to(c.device)4041returnm
44defmain():
අත්හදාබැලීම සාදන්න
46experiment.create(name="rotary\_pe\_transformer",writers={'screen'})
වින්යාසසාදන්න
48conf=Configs()
වින්යාසයන්අභිබවා යන්න
50experiment.configs(conf,{
ස්ථාවරස්ථානීය කාවැද්දීම් නොමැත
52'transformer.src\_embed':'no\_pos',53'transformer.tgt\_embed':'no\_pos',
කඹයසමග ආකේත
56'transformer.encoder\_attn':'rotary',
59'model':'rotary\_pe\_transformer',
අක්ෂරමට්ටමේ ටෝකනයිසර් භාවිතා කරන්න
62'tokenizer':'character',
කඩිනම්බෙදුම්කරු හිස් ය
64'prompt\_separator':'',
නියැදීමසඳහා විමසුමක් ආරම්භ කිරීම
66'prompt':'It is ',
කුඩාෂේක්ස්පියර් දත්ත කට්ටලය භාවිතා කරන්න
68'text':'tiny\_shakespeare',
කසන්දර්භය ප්රමාණය භාවිතා 256
71'seq\_len':512,
32වයස අවුරුදු සඳහා දුම්රිය
73'epochs':32,
කණ්ඩායම්ප්රමාණය 4
75'batch\_size':4,
එක් 10 යුගයකට වරක් පුහුණුව සහ වලංගු කිරීම අතර මාරු වන්න
78'inner\_iterations':10,
ආදර්ශප්රමාණය
81'd\_model':128,82'transformer.ffn.d\_ff':512,83'transformer.n\_heads':16,84'transformer.dropout':0.0,
නෝම් ප්රශස්තකරණය භාවිතා කරන්න
87'optimizer.optimizer':'Noam',88'optimizer.learning\_rate':1.,8990'dataloader\_shuffle\_with\_replacement':True91})
ඉතිරිකිරීම සහ පැටවීම සඳහා ආකෘති සකසන්න
94experiment.add\_pytorch\_models({'model':conf.model})
අත්හදාබැලීම ආරම්භ කරන්න
97withexperiment.start():
පුහුණුධාවනය
99conf.run()
103if\_\_name\_\_=='\_\_main\_\_':104main()