in deepracer_systems_pkg/deepracer_systems_pkg/model_loader_module/model_metadata_file_utils.py [0:0]
def get_sensors(model_metatdata_json):
"""Helper method that returns the corresponding enum values for sensors in the
model_metadata json of the model selected.
Args:
model_metatdata_json (dict): JSON object with contents of the model metadata file.
Returns:
tuple: Tuple of (error_code, error_message, list of integer values
corresponding the sensors of the model).
"""
try:
sensors = None
err_msg = ""
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].value for sensor_name in sensor_names]
else:
return 2, "The sensor configurations of your vehicle and trained model must match", []
else:
# To handle DeepRacer models with no sensor key
err_msg = "No sensor key in model_metadata_file. Defaulting to observation."
sensors = [constants.SensorInputKeys.observation.value]
return 0, err_msg, sensors
except Exception as exc:
return 1, f"Error while getting sensor names from model_metadata.json: {exc}", []