tensorflow-helpers
Version:
Helper functions to use tensorflow in nodejs for transfer learning, image classification, and more
42 lines (41 loc) • 1.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getModelArtifacts = getModelArtifacts;
exports.exposeModelArtifacts = exposeModelArtifacts;
function getModelArtifacts(_model) {
let model = _model;
if (model.artifacts) {
return model.artifacts;
}
if (model.userDefinedMetadata) {
return model;
}
if (typeof model.getUserDefinedMetadata === 'function') {
model.userDefinedMetadata = model.getUserDefinedMetadata();
return model;
}
throw new Error('model artifacts not found in ' + model.constructor.name);
}
/**
* wrapper to unify the LayeredModel and GraphModel
*/
function exposeModelArtifacts(model) {
// Add methods directly to the original model object
Object.defineProperty(model, 'getArtifacts', {
value: () => getModelArtifacts(model),
writable: false,
enumerable: false,
configurable: true,
});
Object.defineProperty(model, 'classNames', {
get: () => getModelArtifacts(model).userDefinedMetadata?.classNames,
set: (value) => {
const artifacts = getModelArtifacts(model);
artifacts.userDefinedMetadata ||= {};
artifacts.userDefinedMetadata.classNames = value;
},
enumerable: true,
configurable: true,
});
return model;
}