Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 0 additions & 22 deletions express/parsers/exabyteml.py

This file was deleted.

30 changes: 0 additions & 30 deletions express/parsers/mixins/exabyteml.py

This file was deleted.

169 changes: 2 additions & 167 deletions express/properties/workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ def _serialize(self) -> dict:

class PyMLTrainAndPredictWorkflow(WorkflowProperty):
"""
Next generation of ExabyteML. We expect workflows to have a format as follows:
We expect workflows to have a format as follows:

Workflow_Head_Subworkflow - Contains various units which prepare an ML job. For example, we may have the following
units present.
Expand Down Expand Up @@ -203,7 +203,7 @@ def is_using_dataset(self):
@property
def workflow_specific_config(self) -> dict:
"""
Generates the specific config for the new implementation of ExabyteML. The remainder of the config is
Generates the specific config for the workflow. The remainder of the config is
generated inside of the parent Workflow class.

Returns:
Expand All @@ -224,168 +224,3 @@ def workflow_specific_config(self) -> dict:
}

return specific_config


class ExabyteMLPredictWorkflow(WorkflowProperty):
"""
Legacy implementation of Exabyte ML's predict Workflow property class.
"""

def __init__(self, name, parser, *args, **kwargs):
super().__init__(name, parser, *args, **kwargs)

self.model = self.parser.model
self.targets = self.parser.targets
self.features = self.parser.features
self.scaling_params_per_feature = self.parser.scaling_params_per_feature

@property
def workflow_specific_config(self) -> dict:
"""
Generates the specific config for a legacy ExabyteML workflow. The remainder of the config is generated
inside of the parent Worfklow class.

Returns:
dict
"""
specific_config = {
"units": [
{
"_id": "LCthJ6E2QabYCZqf4",
"name": "ml_predict_subworkflow",
"type": "subworkflow",
"flowchartId": "subworkflow",
"head": True,
}
],
"subworkflows": [
{
"name": "ml_predict_subworkflow",
"isDraft": True,
"application": {
"version": "0.2.0",
"summary": "Exabyte Machine Learning Engine",
"name": "exabyteml",
"shortName": "ml",
"build": "Default",
},
"units": [
{
"status": "idle",
"statusTrack": [],
"head": True,
"flowchartId": "io",
"name": "input",
"application": {
"version": "0.2.0",
"summary": "Exabyte Machine Learning Engine",
"name": "exabyteml",
"shortName": "ml",
"build": "Default",
},
"results": [],
"next": "data_transformation_manipulation",
"source": "api",
"postProcessors": [],
"preProcessors": [],
"subtype": "dataFrame",
"input": [
{
"endpoint": "dataframe",
"endpoint_options": {
"headers": {},
"data": {"features": self.features, "ids": [], "targets": self.targets},
"method": "POST",
"params": {},
"jobId": "",
},
}
],
"type": "io",
"monitors": [],
},
{
"status": "idle",
"statusTrack": [],
"head": False,
"flowchartId": "data_transformation_manipulation",
"name": "clean data",
"monitors": [],
"results": [],
"next": "data_transformation_scale_and_reduce",
"application": {
"version": "0.2.0",
"summary": "Exabyte Machine Learning Engine",
"name": "exabyteml",
"shortName": "ml",
"build": "Default",
},
"postProcessors": [],
"preProcessors": [],
"operationType": "manipulation",
"operation": "data_transformation",
"type": "processing",
"inputData": {
"cleanMissingData": True,
"replaceNoneValuesWith": 0,
"removeDuplicateRows": True,
},
},
{
"status": "idle",
"statusTrack": [],
"head": False,
"flowchartId": "data_transformation_scale_and_reduce",
"name": "scale and reduce",
"monitors": [],
"results": [],
"next": "score",
"application": {
"version": "0.2.0",
"build": "Default",
"name": "exabyteml",
"shortName": "ml",
"summary": "Exabyte Machine Learning Engine",
},
"postProcessors": [],
"preProcessors": [],
"operationType": "scale_and_reduce",
"operation": "data_transformation",
"type": "processing",
"inputData": {
"scaler": "standard_scaler",
"perFeature": self.scaling_params_per_feature,
},
},
{
"status": "idle",
"statusTrack": [],
"executable": {"name": "score"},
"flowchartId": "score",
"name": "score",
"head": False,
"results": [{"name": "predicted_properties"}],
"application": {
"version": "0.2.0",
"build": "Default",
"name": "exabyteml",
"shortName": "ml",
"summary": "Exabyte Machine Learning Engine",
},
"postProcessors": [],
"preProcessors": [],
"context": {},
"input": [],
"flavor": {"name": "score"},
"type": "execution",
"monitors": [{"name": "standard_output"}],
},
],
"model": self.model,
"_id": "LCthJ6E2QabYCZqf4",
"properties": self.targets,
}
],
"properties": self.targets,
}
return specific_config
2 changes: 0 additions & 2 deletions express/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
},
"material": {"reference": "express.properties.material.Material"},
"symmetry": {"reference": "express.properties.non_scalar.symmetry.Symmetry"},
"workflow:ml_predict": {"reference": "express.properties.workflow.ExabyteMLPredictWorkflow"},
"workflow:pyml_predict": {"reference": "express.properties.workflow.PyMLTrainAndPredictWorkflow"},
"phonon_dos": {"reference": "express.properties.non_scalar.two_dimensional_plot.phonon_dos.PhononDOS"},
"phonon_dispersions": {
Expand Down Expand Up @@ -70,7 +69,6 @@
"vasp": "express.parsers.apps.vasp.parser.VaspParser",
"nwchem": "express.parsers.apps.nwchem.parser.NwchemParser",
"structure": "express.parsers.structure.StructureParser",
"exabyteml": "express.parsers.exabyteml.ExabyteMLParser",
}

# Used to round to zero by default
Expand Down
Loading