Open varisd opened 5 years ago
A rekuretní dekodér není attentive?
Rekurentni je attentive, ale ten tedka predelavam v dalsim PR, tak aby pouzival stejnou implementaci enkoder attentionu jako transformer. V budoucnu to bude chtit doresit attention_histories a nebo to zpetne narobovat na ty attention objekty.
Jak se k tomu má
encoders/attentive.py
? Jedno z toho bych přejmenoval (spíš ten enkodér) a taky bych tomu enkodéru oddědil věci, který jsou tady vyčleněný, pokud to dává smysl.
Vubec nesouvisi. Ono je to tezky: Ondrovo attention_heads
jsou neco jineho nez heads
v multi_head_attentionu. Nejbliz by se to dalo popsat jako: Ondra udela klasik self-attention (kde queries je prazdny; nedela scaled_dot_product, ale projekce, tak ze to jde), pak dane vektory secte v case a nakonec reshapne z shape(t) na shape(t/h, h).
Tezky je na tom to, ze bychom museli zmenit jeho terminy, aby to nevnaselo zmatek, ale pak by to tolik nesedelo na terminy v tom jeho clanku.
Nechal bych to jako TODO pro refactor attentionu / attention objektu.
IMHO stačí přejmenovat ten Ondrovo soubor nebo třídu. Něco jako self-attentive temporal encoder nebo tak něco.
Jo, neco vymyslim.
Edit: Prejmenovano na Structured
Nejvdřív je potřeba pořešit #796, na kterým je tohleto naroubovaný.
Takže #796 je na #786 a tohle je na obojím? :-)
ping opravil jsem tests/classifier, tak ted uz by to snad melo byt vse, ne?
Vypadá to, že je to špatně narebasovaný, protože se jako součást ukazuje tvuj PR (#818) řešící to, co jsem udělal v #819
Rebase opraven.
ten pull request je nastavenej na mergování do branche autoregressive_refactor
. Nechceš mergovat do mastera?
Moved attention-related attributes/methods to a separate class Attentive. Every decoder that requires computing attention against the encoders should inherit this class.