in webserver_pkg/webserver_pkg/models.py [0:0]
def get_sensors(model_metatdata_json):
"""Helper method that returns the SensorInputKeys enum values from model_metadata json
of the model selected.
Args:
model_metatdata_json (dict): JSON data with the content read from
model_metadata.json of the model.
Returns:
tuple: A tuple of error code, error message and the list of SensorInputKeys enum values.
"""
webserver_node = webserver_publisher_node.get_webserver_node()
try:
sensors = None
if constants.ModelMetadataKeys.SENSOR in model_metatdata_json:
sensor_names = set(model_metatdata_json[constants.ModelMetadataKeys.SENSOR])
if all([constants.SensorInputKeys.has_member(sensor_name)
for sensor_name in sensor_names]):
sensors = [constants.SensorInputKeys[sensor_name]
for sensor_name in sensor_names]
else:
webserver_node.get_logger().error("The sensor configurations of your vehicle "
"and trained model must match")
return (2,
"The sensor configurations of your vehicle and "
"trained model must match",
[])
else:
# To handle DeepRacer models with no sensor key
webserver_node.get_logger().info("No sensor key in model_metadata_file. "
"Defaulting to observation.")
sensors = [constants.SensorInputKeys.observation]
return 0, "", sensors
except Exception as ex:
webserver_node.get_logger().error("Error while getting sensor names "
f"from model_metadata.json: {ex}")
return 1, "Error while getting sensor names from model_metadata.json", []