Undo changes which got removed
This commit is contained in:
parent
aeccc14d3c
commit
4d1f8d28ac
|
@ -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;
|
||||||
|
|
|
@ -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[],
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue