(self, n_block=2, d_templ=64, n_head=4, d_hidden=16, p_drop=0.15)
| 227 | |
| 228 | class TemplateTorsionStack(nn.Module): |
| 229 | def __init__(self, n_block=2, d_templ=64, n_head=4, d_hidden=16, p_drop=0.15): |
| 230 | super(TemplateTorsionStack, self).__init__() |
| 231 | self.n_block=n_block |
| 232 | self.proj_pair = nn.Linear(d_templ+36, d_templ) |
| 233 | proc_s = [AttentionWithBias(d_in=d_templ, d_bias=d_templ, |
| 234 | n_head=n_head, d_hidden=d_hidden) for i in range(n_block)] |
| 235 | self.row_attn = nn.ModuleList(proc_s) |
| 236 | proc_s = [FeedForwardLayer(d_templ, 4, p_drop=p_drop) for i in range(n_block)] |
| 237 | self.ff = nn.ModuleList(proc_s) |
| 238 | self.norm = nn.LayerNorm(d_templ) |
| 239 | |
| 240 | def reset_parameter(self): |
| 241 | self.proj_pair = init_lecun_normal(self.proj_pair) |
nothing calls this directly
no test coverage detected