in ludwig/models/ecd.py [0:0]
def predictions(self, inputs, output_features=None):
# check validity of output_features
if output_features is None:
of_list = self.output_features
elif isinstance(output_features, str):
if output_features == 'all':
of_list = set(self.output_features.keys())
elif output_features in self.output_features:
of_list = [output_features]
else:
raise ValueError(
"'output_features' {} is not a valid for this model. "
"Available ones are: {}".format(
output_features, set(self.output_features.keys())
)
)
elif isinstance(output_features, list or set):
if output_features.issubset(self.output_features):
of_list = output_features
else:
raise ValueError(
"'output_features' {} must be a subset of "
"available features {}".format(
output_features, set(self.output_features.keys())
)
)
else:
raise ValueError(
"'output_features' must be None or a string or a list "
"of output features"
)
outputs = self.call(inputs, training=False)
predictions = {}
for of_name in of_list:
predictions[of_name] = self.output_features[of_name].predictions(
outputs[of_name],
training=False
)
return predictions