@vladmandic/face-api
Version:
FaceAPI: AI-powered Face Detection & Rotation Tracking, Face Description & Recognition, Age & Gender & Emotion Prediction for Browser and NodeJS using TensorFlow/JS
33 lines (26 loc) • 1.03 kB
text/typescript
import { extractWeightsFactory, ParamMapping } from '../common/index';
import { extractorsFactory } from './extractorsFactory';
import { FaceFeatureExtractorParams } from './types';
export function extractParams(weights: Float32Array): { params: FaceFeatureExtractorParams, paramMappings: ParamMapping[] } {
const paramMappings: ParamMapping[] = [];
const {
extractWeights,
getRemainingWeights,
} = extractWeightsFactory(weights);
const {
extractDenseBlock4Params,
} = extractorsFactory(extractWeights, paramMappings);
const dense0 = extractDenseBlock4Params(3, 32, 'dense0', true);
const dense1 = extractDenseBlock4Params(32, 64, 'dense1');
const dense2 = extractDenseBlock4Params(64, 128, 'dense2');
const dense3 = extractDenseBlock4Params(128, 256, 'dense3');
if (getRemainingWeights().length !== 0) {
throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);
}
return {
paramMappings,
params: {
dense0, dense1, dense2, dense3,
},
};
}