Back to Annotated Deep Learning Paper Implementations

දුම්රියප්රතිපෝෂණ ට්රාන්ස්ෆෝමර්

docs/si/transformers/feedback/experiment.html

latest5.9 KB
Original Source

hometransformersfeedback

View code on Github

#

දුම්රියප්රතිපෝෂණ ට්රාන්ස්ෆෝමර්

මෙයස්වයංක්රීයව ප්රතිගාමී කිරීම සඳහා ප්රතිපෝෂණ ට්රාන්ස්ෆෝමර් ආකෘතියක් පුහුණු කරයි. යතුරු සහ අගයන් පූර්ව ගණනය කරනු ලබන මුල් ප්රතිපෝෂණ ට්රාන්ස්ෆෝමරය හෝ නව අනුවාදය ඔබට තෝරා ගත හැකිය.

කුඩාෂේක්ස්පියර් දත්ත කට්ටලය පිළිබඳ ප්රතිපෝෂණ ට්රාන්ස්ෆෝමරයක් පුහුණු කිරීම සඳහා කොලබ් සටහන් පොතක් මෙන්න.

19importtorch20fromtorchimportnn2122fromlabmlimportexperiment23fromlabml.configsimportoption24fromlabml.utils.pytorchimportget\_modules25fromlabml\_helpers.moduleimportModule2627fromlabml\_nn.experiments.nlp\_autoregressionimportNLPAutoRegressionConfigs28fromlabml\_nn.transformersimportEncoder,Generator,TransformerConfigs29fromlabml\_nn.transformers.utilsimportsubsequent\_mask

#

ස්වයංක්රීයප්රතිගාමී ආකෘතිය

32classAutoregressiveModel(Module):

#

37def\_\_init\_\_(self,n\_vocab:int,d\_model:int,transformer:Module):38super().\_\_init\_\_()

#

ටෝකන්කාවැද්දීම මොඩියුලය

40self.src\_embed=nn.Embedding(n\_vocab,d\_model)41self.transformer=transformer42self.generator=nn.Linear(d\_model,n\_vocab)

#

44defforward(self,x:torch.Tensor):

#

ටෝකනකාවැද්දීම

46x=self.src\_embed(x)

#

ට්රාන්ස්ෆෝමරයහරහා එය ධාවනය කරන්න

48res=self.transformer(x)

#

ඊළඟටෝකනයේ පිවිසුම් ජනනය කරන්න

50returnself.generator(res),None

#

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

අපිඅත්හදා බැලීම ආරම්භ කරන විට පෙරනිමි වින්යාස කළ හැකි අතර එය අධික ලෙස ධාවනය වනු ඇත

53classConfigs(NLPAutoRegressionConfigs):

#

60model:AutoregressiveModel6162d\_model:int=51263heads:int=864dropout:float=0.065d\_ff:int=204866n\_layers:int=6

#

මුල් ප්රතිපෝෂණ ට්රාන්ස්ෆෝමරයසාදන්න.

69@option(Configs.model)70deffeedback\_transformer(c:Configs):

#

74fromlabml\_nn.transformers.feedbackimportFeedbackTransformer,FeedbackTransformerLayer,\75FeedbackAttention,FeedForward7677returnAutoregressiveModel(78c.n\_tokens,c.d\_model,79FeedbackTransformer(80FeedbackTransformerLayer(d\_model=c.d\_model,81attn=FeedbackAttention(c.heads,c.d\_model,c.dropout),82feed\_forward=FeedForward(c.d\_model,c.d\_ff,c.dropout),83dropout\_prob=c.dropout),84c.n\_layers)).to(c.device)

#

පූර්වගණනය කළ යතුරු සහ අගයන් සමඟ යාවත්කාලීන කරන ලද ප්රතිපෝෂණ ට්රාන්ස්ෆෝමරයක්සාදන්න.

87@option(Configs.model)88deffeedback\_transformer\_kv(c:Configs):

#

92fromlabml\_nn.transformers.feedbackimportFeedbackTransformerKV,FeedbackTransformerLayer,\93FeedbackAttention,FeedForward9495returnAutoregressiveModel(96c.n\_tokens,c.d\_model,97FeedbackTransformerKV(98FeedbackTransformerLayer(d\_model=c.d\_model,99attn=FeedbackAttention(c.heads,c.d\_model,c.dropout,100is\_kv\_precomputed=True),101feed\_forward=FeedForward(c.d\_model,c.d\_ff,c.dropout),102dropout\_prob=c.dropout),103c.n\_layers,c.d\_model,c.heads)).to(c.device)

#

106defmain():

#

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

108experiment.create(name="feedback\_transformer")

#

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

110conf=Configs()

#

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

112experiment.configs(conf,

#

අභිබවායාම සඳහා වින්යාසයන් පිළිබඳ ශබ්දකෝෂයක්

114{'tokenizer':'character',115'text':'tiny\_shakespeare',116'optimizer.learning\_rate':1.0,117'optimizer.optimizer':'Noam',118'prompt':'It is',119'prompt\_separator':'',

#

මුල්ප්රතිපෝෂණ ට්රාන්ස්ෆෝමර් feedback_transformer සඳහා භාවිතා කරන්න

122'model':'feedback\_transformer\_kv',123124'train\_loader':'shuffled\_train\_loader',125'valid\_loader':'shuffled\_valid\_loader',126127'seq\_len':128,128'epochs':128,129'batch\_size':64,130'inner\_iterations':25})

#

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

133experiment.add\_pytorch\_models(get\_modules(conf))

#

අත්හදාබැලීම ආරම්භ කරන්න

136withexperiment.start():

#

පුහුණුලූපය ධාවනය කරන්න

138conf.run()139140141if\_\_name\_\_=='\_\_main\_\_':142main()

Trending Research Paperslabml.ai