def hybrid_forward(self, F, a, b):
<EOL>tilde_a = self.f(a)  <EOL>tilde_b = self.f(b)  <EOL>e = F.batch_dot(tilde_a, tilde_b, transpose_b=True)<EOL>beta = F.batch_dot(e.softmax(), tilde_b)<EOL>alpha = F.batch_dot(e.transpose([<NUM_LIT:0>, <NUM_LIT:2>, <NUM_LIT:1>]).softmax(), tilde_a)<EOL>feature1 = self.g(F.concat(tilde_a, beta, dim=<NUM_LIT:2>))<EOL>feature2 = self.g(F.concat(tilde_b, alpha, dim=<NUM_LIT:2>))<EOL>feature1 = feature1.sum(axis=<NUM_LIT:1>)<EOL>feature2 = feature2.sum(axis=<NUM_LIT:1>)<EOL>yhat = self.h(F.concat(feature1, feature2, dim=<NUM_LIT:1>))<EOL>return yhat<EOL>
Forward of Decomposable Attention layer