in iep/models/module_net.py [0:0]
def forward(self, x, program):
N = x.size(0)
assert N == len(program)
feats = self.stem(x)
if type(program) is list or type(program) is tuple:
final_module_outputs = self._forward_modules_json(feats, program)
elif type(program) is Variable and program.dim() == 2:
final_module_outputs = self._forward_modules_ints(feats, program)
else:
raise ValueError('Unrecognized program format')
# After running modules for each input, concatenat the outputs from the
# final module and run the classifier.
out = self.classifier(final_module_outputs)
return out