My HybridBlock code runs fine when net.hybridize() is commented out, but, I get the following error when it is not commented out.
elemwise_op_common.h:122: Check failed: assign(&dattr, (*vec)[i]) Incompatible attr in node lyp_network2_mul12 at 1-th input: expected (32, 301, 512), got (32,1,1)
What are the possibilities that would cause that error?
Here is essentially the network code:
def doBatchDot(F, W, inVal):
inVal1 = F.expand_dims(inVal, axis=2)
temp1 = F.batch_dot(W, inVal1)
temp2 = F.flatten(temp1)
def hybrid_forward(self, F, x, i1, i2, i3, i4, i5, i6):
H1 = self.activation(doBatchDot(F, W0, self.dropout0(x)) + b0)
H2 = self.activation(doBatchDot(F, W1, self.dropout1(H1)) + b1)
H3 = doBatchDot(F, W2, self.dropout2(H2)) + b2