docs/si/transformers/primer_ez/experiment.html
මෙය ප්රයිමර් EZ ට්රාන්ස්ෆෝමරයක්පුහුණු කිරීම සඳහා කරන ලද පයිටෝර්ච් අත්හදා බැලීමකි.
මෙයඅපගේ වැනිලා ට්රාන්ස්ෆෝමර් අත්හදා බැලීමමත පදනම් වේ. අපි එකම අත්හදා බැලීම භාවිතා කරන අතර ප්රයිමර් EZ වෙනස් කිරීම් එකතු කරමු.
15fromlabmlimportexperiment16fromlabml.configsimportoption17fromlabml\_nn.transformersimportTransformerConfigs18fromlabml\_nn.transformers.basic.autoregressive\_experimentimportConfigs19fromlabml\_nn.transformers.configsimportFeedForwardConfigs20fromlabml\_nn.transformers.primer\_ezimportSquaredReLU
වින්යාසගත කළ හැකිආහාර ඉදිරි මොඩියුලයට කොටු කළ හැකි RelU විකල්පය එක් කරන්න.
23@option(FeedForwardConfigs.activation,'SquaredReLU')24def\_squared\_relu():
30returnSquaredReLU()
වින්යාසගත කළ හැකි ට්රාන්ස්ෆෝමරයට බහු-DCONV-හිස අවධානය යොමු කිරීමේ විකල්පය එක් කරන්න
33@option(TransformerConfigs.encoder\_attn,'MultiDConvHeadAttention')34def\_d\_conv\_mha(c:TransformerConfigs):
40fromlabml\_nn.transformers.primer\_ezimportMultiDConvHeadAttention41returnMultiDConvHeadAttention(c.n\_heads,c.d\_model,dropout\_prob=c.dropout)
වින්යාසගත කළ හැකි ට්රාන්ස්ෆෝමරයට බහු ගැඹුරු-නැණවත් හවුල් කොන්වී ප්රධාන අවධානය විකල්පය එක් කරන්න
📝 මෙය අප උත්සාහ කළ විචලනයකි
44@option(TransformerConfigs.encoder\_attn,'MultiDSharedConvHeadAttention')45def\_d\_shared\_conv\_mha(c:TransformerConfigs):
53fromlabml\_nn.transformers.primer\_ez.variationsimportMultiDSharedConvHeadAttention54returnMultiDSharedConvHeadAttention(c.n\_heads,c.d\_model,dropout\_prob=c.dropout)
වින්යාසගත කළ හැකි ට්රාන්ස්ෆෝමරයට බහු ගැඹුරු-නැණවත් එක් ශීර්ෂයක් Conv හිස අවධානය යොමු කිරීමේ විකල්පය එක් කරන්න
📝 මෙය අප උත්සාහ කළ විචලනයකි
57@option(TransformerConfigs.encoder\_attn,'MultiDPHConvHeadAttention')58def\_d\_per\_head\_conv\_mha(c:TransformerConfigs):
66fromlabml\_nn.transformers.primer\_ez.variationsimportMultiDPHConvHeadAttention67returnMultiDPHConvHeadAttention(c.n\_heads,c.d\_model,dropout\_prob=c.dropout)
70defmain():
අත්හදාබැලීම සාදන්න
72experiment.create(name="primer\_ez")
වින්යාසසාදන්න
74conf=Configs()
වින්යාසයන්අභිබවා යන්න
76experiment.configs(conf,{
අක්ෂරමට්ටමේ ටෝකනයිසර් භාවිතා කරන්න
78'tokenizer':'character',
කඩිනම්බෙදුම්කරු හිස් ය
80'prompt\_separator':'',
නියැදීමසඳහා විමසුමක් ආරම්භ කිරීම
82'prompt':'It is ',
කුඩාෂේක්ස්පියර් දත්ත කට්ටලය භාවිතා කරන්න
84'text':'tiny\_shakespeare',
කසන්දර්භය ප්රමාණය භාවිතා 256
87'seq\_len':256,
128 Epochs සඳහා දුම්රිය
89'epochs':128,
කණ්ඩායම්ප්රමාණය 32
91'batch\_size':32,
එක් 10 යුගයකට වරක් පුහුණුව සහ වලංගු කිරීම අතර මාරු වන්න
94'inner\_iterations':10,
ආදර්ශප්රමාණය
97'd\_model':512,98'transformer.ffn.d\_ff':2048,
ආදම්ප්රශස්තකරණය භාවිතා
101'optimizer.optimizer':'Adam',102'optimizer.learning\_rate':2.5e-4,
⭐️භාවිත ආහාර ඉදිරියට ජාලය තුළ RelU සක්රිය වර්ග .
මෙයප්රතිස්ථාපනය ReLU කරන්න ReLU.
107'transformer.ffn.activation':'SquaredReLU',
⭐️ආකේතකය අවධානය සඳහා බහු-Dconv-හිස අවධානය භාවිතා කරන්න.
මුල්බහු-හිස අවධානය mha සඳහා මෙය ප්රතිස්ථාපනය කරන්න.
112'transformer.encoder\_attn':'MultiDConvHeadAttention',113})
ඉතිරිකිරීම සහ පැටවීම සඳහා ආකෘති සකසන්න
116experiment.add\_pytorch\_models({'model':conf.model})
අත්හදාබැලීම ආරම්භ කරන්න
119withexperiment.start():
පුහුණුධාවනය
121conf.run()
125if\_\_name\_\_=='\_\_main\_\_':126main()