@modelx/jsonm
Version:
Construct AI & ML models with JSON using Typescript & Tensorflow
48 lines (42 loc) • 1.36 kB
text/typescript
import { ModelX,ModelContext, ModelTypes, } from './model';
import { Data, DataSet, } from '@modelx/data/src/DataSet';
import { TrainingProgressCallback, } from './constants';
import { JDS, getDataSet, } from './dataset';
import { AutoFeature } from './features';
export type JML = {
options: {
accuracy_target: number;
};
saved_model?: any;
inputs: string[];
outputs: string[];
input_transforms?: AutoFeature[];
output_transforms?: AutoFeature[];
type: ModelTypes;
dataset?: JDS | Data;
on_progress?: TrainingProgressCallback;
}
export async function getModelFromJSONM(jml?: JML): Promise<ModelContext> {
const trainingData = Array.isArray(jml.dataset)
? jml.dataset
: await getDataSet(jml.dataset);
return new ModelX({
trainingData,
independent_variables: jml.inputs,
input_independent_features: jml.input_transforms,
dependent_variables: jml.outputs,
output_dependent_features: jml.output_transforms,
training_progress_callback: jml.on_progress,
training_options:getModelTrainingOptions(jml.options),
model_type: jml.type,
});
}
export const getModel = getModelFromJSONM;
export function getModelTrainingOptions({ accuracy_target }: { accuracy_target: number;}) {
return {
fit: {
epochs: 300,
batchSize: 20,
},
};
}