Back to Annotated Deep Learning Paper Implementations

ඉහළ-Kනියැදීම්

docs/si/sampling/top_k.html

latest2.4 KB
Original Source

homesampling

View code on Github

#

ඉහළ-Kනියැදීම්

මෙන්නඅපි පළමුව පිවිසුම් බෙදා හැරීමෙන් ඉහළම කේ ටෝකන තෝරාගෙන ඒවායින් සාම්පල ලබා ගනිමු.

මෙන්නමෙම නියැදි ශිල්පීය ක්රම භාවිතා කරන අත්හදා බැලීමක් .

15importtorch1617fromlabml\_nn.samplingimportSampler

#

ඉහළ-Kනියැදි

20classTopKSampler(Sampler):

#

  • k තෝරා ගැනීමට ටෝකන ගණන වේ

  • sampler ඉහළ-k ටෝකන සඳහා භාවිතා කිරීමට නියැදිකරු වේ

sampler පිවිසුම් ටෙන්සරයක් ආදාන ලෙස ගෙන ටෝකන් ටෙන්සරයක් නැවත ලබා දෙන ඕනෑම නියැදියක විය හැකිය; උදා: `උෂ්ණත්ව සාම්පලයක්'.

24def\_\_init\_\_(self,k:int,sampler:Sampler):

#

32self.k=k33self.sampler=sampler

#

පිවිසුම්වලින් නියැදිය

35def\_\_call\_\_(self,logits:torch.Tensor):

#

නවපිවිසුම් පිරී ඇත −∞; i.e. ශුන්ය සම්භාවිතාව

40zeros=logits.new\_ones(logits.shape)\*float('-inf')

#

විශාලතම k පිවිසුම් සහ ඒවායේ දර්ශක තෝරන්න

42values,indices=torch.topk(logits,self.k,dim=-1)

#

Top-kතෝරාගත් දර්ශකවල අගයන් සැබෑ පිවිසුම් වලට සකසන්න. වෙනත් ටෝකන වල පිවිසුම් ඉතිරිව පවතී −∞

45zeros.scatter\_(-1,indices,values)

#

නිශ්චිතනියැදිය සමඟ ඉහළ-k පිවිසුම් වලින් නියැදිය.

48returnself.sampler(zeros)

Trending Research Paperslabml.ai