Undo changes which got removed

This commit is contained in:
Shailesh Pandit 2021-11-05 05:56:13 +05:30
parent aeccc14d3c
commit 4d1f8d28ac
2 changed files with 17 additions and 4 deletions

View file

@ -2,6 +2,7 @@ import { File, getLocalFiles } from 'services/fileService';
import DownloadManager from 'services/downloadManager'; import DownloadManager from 'services/downloadManager';
import * as tf from '@tensorflow/tfjs'; import * as tf from '@tensorflow/tfjs';
import { setWasmPaths } from '@tensorflow/tfjs-backend-wasm';
import TFJSFaceDetectionService from './tfjsFaceDetectionService'; import TFJSFaceDetectionService from './tfjsFaceDetectionService';
import TFJSFaceEmbeddingService from './tfjsFaceEmbeddingService'; import TFJSFaceEmbeddingService from './tfjsFaceEmbeddingService';
@ -10,7 +11,7 @@ import { FaceWithEmbedding, MLSyncResult } from 'utils/machineLearning/types';
import * as jpeg from 'jpeg-js'; import * as jpeg from 'jpeg-js';
import ClusteringService from './clusteringService'; import ClusteringService from './clusteringService';
class MlService { class MachineLearningService {
private faceDetectionService: TFJSFaceDetectionService; private faceDetectionService: TFJSFaceDetectionService;
private faceEmbeddingService: TFJSFaceEmbeddingService; private faceEmbeddingService: TFJSFaceEmbeddingService;
private clusteringService: ClusteringService; private clusteringService: ClusteringService;
@ -31,11 +32,19 @@ class MlService {
public async init(clusterFaceDistance: number, minClusterSize: number) { public async init(clusterFaceDistance: number, minClusterSize: number) {
this.clusterFaceDistance = clusterFaceDistance; this.clusterFaceDistance = clusterFaceDistance;
this.minClusterSize = minClusterSize; this.minClusterSize = minClusterSize;
setWasmPaths('/js/tfjs/');
await tf.ready();
await this.faceDetectionService.init(); await this.faceDetectionService.init();
await this.faceEmbeddingService.init(); await this.faceEmbeddingService.init();
} }
public async sync(token: string): Promise<MLSyncResult> { public async sync(token: string): Promise<MLSyncResult> {
if (!token) {
throw Error('Token needed by ml service to sync file');
}
const existingFiles = await getLocalFiles(); const existingFiles = await getLocalFiles();
existingFiles.sort( existingFiles.sort(
(a, b) => b.metadata.creationTime - a.metadata.creationTime (a, b) => b.metadata.creationTime - a.metadata.creationTime
@ -106,4 +115,4 @@ class MlService {
} }
} }
export default MlService; export default MachineLearningService;

View file

@ -1,6 +1,10 @@
import * as tf from '@tensorflow/tfjs'; import * as tf from '@tensorflow/tfjs';
import * as tflite from '@tensorflow/tfjs-tflite'; import * as tflite from '@tensorflow/tfjs-tflite';
import { AlignedFace, FaceEmbedding } from 'utils/machineLearning/types'; import {
AlignedFace,
FaceEmbedding,
FaceImage,
} from 'utils/machineLearning/types';
class TFJSFaceEmbeddingService { class TFJSFaceEmbeddingService {
private mobileFaceNetModel: tflite.TFLiteModel; private mobileFaceNetModel: tflite.TFLiteModel;
@ -95,7 +99,7 @@ class TFJSFaceEmbeddingService {
// console.log('embeddings: ', embeddings[0]); // console.log('embeddings: ', embeddings[0]);
return { return {
embeddings: embeddings as FaceEmbedding[], embeddings: embeddings as FaceEmbedding[],
faceImages: faceImages, faceImages: faceImages as FaceImage[],
}; };
} }
} }