in ludwig/utils/neuropod_utils.py [0:0]
def postprocess_for_neuropod(predicted, model_definition):
postprocessed = {}
for output_feature in model_definition['output_features']:
feature_name = output_feature['name']
feature_type = output_feature['type']
if feature_type == BINARY:
postprocessed[feature_name + "_predictions"] = \
np.expand_dims(
predicted[feature_name][PREDICTIONS].astype('str'), 1)
postprocessed[feature_name + "_probabilities"] = \
np.expand_dims(
predicted[feature_name][PROBABILITIES].astype('float64'),
1)
elif feature_type == NUMERICAL:
postprocessed[feature_name + "_predictions"] = \
np.expand_dims(
predicted[feature_name][PREDICTIONS].astype('float64'),
1)
elif feature_type == CATEGORY:
postprocessed[feature_name + "_predictions"] = np.expand_dims(
np.array(predicted[feature_name][PREDICTIONS], dtype='str'), 1
)
postprocessed[feature_name + "_probability"] = \
np.expand_dims(
predicted[feature_name][PROBABILITY].astype('float64'),
1)
postprocessed[feature_name + "_probabilities"] = \
predicted[feature_name][PROBABILITIES].astype('float64')
elif feature_type == SEQUENCE:
predictions = list(map(
lambda x: ' '.join(x),
predicted[feature_name][PREDICTIONS]
))
postprocessed[feature_name + "_predictions"] = np.expand_dims(
np.array(predictions, dtype='str'), 1
)
elif feature_type == TEXT:
predictions = list(map(
lambda x: ' '.join(x),
predicted[feature_name][PREDICTIONS]
))
postprocessed[feature_name + "_predictions"] = np.expand_dims(
np.array(predictions, dtype='str'), 1
)
elif feature_type == SET:
predictions = list(map(
lambda x: ' '.join(x),
predicted[feature_name][PREDICTIONS]
))
postprocessed[feature_name + "_predictions"] = np.expand_dims(
np.array(predictions, dtype='str'), 1
)
probability = list(map(
lambda x: ' '.join([str(e) for e in x]),
predicted[feature_name]['probability']
))
postprocessed[feature_name + "_probability"] = np.expand_dims(
np.array(probability, dtype='str'), 1
)
postprocessed[feature_name + "_probabilities"] = \
predicted[feature_name][PROBABILITIES].astype('float64')
elif feature_type == VECTOR:
postprocessed[feature_name + "_predictions"] = \
predicted[feature_name][PREDICTIONS].astype('float64')
else:
postprocessed[feature_name + "_predictions"] = np.expand_dims(
np.array(predicted[feature_name][PREDICTIONS], dtype='str'), 1
)
# print(postprocessed, file=sys.stderr)
return postprocessed