# Verify if the modelId is registered over mme or not
- registered_model_dict = get_modelinfo_by_modelId_service(model_id.modelname, model_id.modelversion)
- if registered_model_dict is None:
+ registered_model_list = get_modelinfo_by_modelId_service(model_id.modelname, model_id.modelversion)
+ if registered_model_list is None:
return jsonify({"Exception":f"modelId {model_id.modelname} and {model_id.modelversion} is not registered at MME, Please first register at MME and then continue"}), status.HTTP_400_BAD_REQUEST
+ registered_model_dict = registered_model_list[0]
create_training_job(trainingjob, registered_model_dict)
return jsonify({"Trainingjob": trainingjob_schema.dump(trainingjob)}), 201
def get_trainingjobs():
LOGGER.debug(f'get the trainingjobs')
try:
- resp = trainingjob_schema.dump(get_trainining_jobs())
+ resp = trainingjobs_schema.dump(get_trainining_jobs())
return jsonify(resp), 200
except TMException as err:
return jsonify({
# self.training_config = json.dumps(value)
def __repr__(self):
- return f'<Trainingjob {self.trainingjob_name}>'
+ return f'<Trainingjob {self.id}>'
from trainingmgr.schemas import ma
from trainingmgr.models import TrainingJob
from trainingmgr.models.trainingjob import ModelID
-
-from marshmallow import pre_load, validates, ValidationError
+import json
+from marshmallow import pre_load, post_dump, validates, ValidationError
PATTERN = re.compile(r"\w+")
modeldict = dict(modelname=modelname, modelversion=modelversion)
data['modelId'] = modeldict
return data
-
+
+ @post_dump(pass_many=True)
+ def trainingConfigtoDict(self, data, many, **kwargs):
+ if many:
+ for index in range(len(data)):
+ data[index]["training_config"] = json.loads(data[index]["training_config"])
+ else:
+ data["training_config"] = json.loads(data["training_config"])
+
+ return data
\ No newline at end of file
feature_group_name = getField(training_config, "feature_group_name")
if feature_group_name == "":
# User has not provided feature_group_name, then it MUST be deduced from Registered InputDataType
- feature_group_name = get_featuregroup_from_inputDataType(registered_model_dict['modelinfo']['modelInformation']['inputDataType'])
+ feature_group_name = get_featuregroup_from_inputDataType(registered_model_dict['modelInformation']['inputDataType'])
trainingjob.training_config = json.dumps(setField(training_config, "feature_group_name", feature_group_name))
LOGGER.debug("Training Config after FeatureGroup deduction --> " + trainingjob.training_config)
trainingjob_schema = TrainingJobSchema()
trainingjobs_schema = TrainingJobSchema(many=True)
-
+featuregroups_schema = FeatureGroupSchema(many=True)
@APP.errorhandler(APIException)
def error(err):
api_response={}
response_code=status.HTTP_500_INTERNAL_SERVER_ERROR
try:
- result= get_feature_groups_db()
- feature_groups=[]
- for res in result:
- dict_data={
- "featuregroup_name": res.featuregroup_name,
- "features": res.feature_list,
- "datalake": res.datalake_source,
- "dme": res.enable_dme
- }
- feature_groups.append(dict_data)
- api_response={"featuregroups":feature_groups}
- response_code=status.HTTP_200_OK
-
+ api_response={"featuregroups": featuregroups_schema.dump(get_feature_groups_db())}
+ response_code=status.HTTP_200_OK
except Exception as err:
api_response = {"Exception": str(err)}
LOGGER.error(str(err))