Added successfully built docker-compose and cockerFile

This commit is contained in:
Alex Tran
2022-02-03 14:42:27 -06:00
parent 568cc243f0
commit 85b83f9666
15 changed files with 198 additions and 64 deletions

View File

@@ -7,7 +7,7 @@ import { AssetService } from '../../api-v1/asset/asset.service';
import { AssetEntity } from '../../api-v1/asset/entities/asset.entity';
import { ImageOptimizeProcessor } from './image-optimize.processor';
import { ImageOptimizeService } from './image-optimize.service';
import { MachineLearningProcessor } from './machine-learning.processor';
// import { MachineLearningProcessor } from './machine-learning.processor';
@Module({
imports: [
@@ -30,7 +30,7 @@ import { MachineLearningProcessor } from './machine-learning.processor';
TypeOrmModule.forFeature([AssetEntity]),
],
providers: [ImageOptimizeService, ImageOptimizeProcessor, MachineLearningProcessor],
providers: [ImageOptimizeService, ImageOptimizeProcessor],
exports: [ImageOptimizeService],
})
export class ImageOptimizeModule {}

View File

@@ -8,10 +8,7 @@ import { AuthUserDto } from '../../decorators/auth-user.decorator';
@Injectable()
export class ImageOptimizeService {
constructor(
@InjectQueue('image') private imageQueue: Queue,
@InjectQueue('machine-learning') private machineLearningQueue: Queue,
) {}
constructor(@InjectQueue('image') private imageQueue: Queue) {}
public async resizeImage(savedAsset: AssetEntity) {
const job = await this.imageQueue.add(

View File

@@ -1,39 +1,39 @@
import { Process, Processor } from '@nestjs/bull';
import { InjectRepository } from '@nestjs/typeorm';
import { Job } from 'bull';
import { Repository } from 'typeorm';
import { AssetEntity } from '../../api-v1/asset/entities/asset.entity';
import sharp from 'sharp';
import fs, { existsSync, mkdirSync } from 'fs';
import { ConfigService } from '@nestjs/config';
import * as tfnode from '@tensorflow/tfjs-node';
import * as cocoSsd from '@tensorflow-models/coco-ssd';
// import { Process, Processor } from '@nestjs/bull';
// import { InjectRepository } from '@nestjs/typeorm';
// import { Job } from 'bull';
// import { Repository } from 'typeorm';
// import { AssetEntity } from '../../api-v1/asset/entities/asset.entity';
// import sharp from 'sharp';
// import fs, { existsSync, mkdirSync } from 'fs';
// import { ConfigService } from '@nestjs/config';
// import * as tfnode from '@tensorflow/tfjs-node';
// import * as cocoSsd from '@tensorflow-models/coco-ssd';
@Processor('machine-learning')
export class MachineLearningProcessor {
constructor(
@InjectRepository(AssetEntity) private assetRepository: Repository<AssetEntity>,
private configService: ConfigService,
) {}
// @Processor('machine-learning')
// export class MachineLearningProcessor {
// constructor(
// @InjectRepository(AssetEntity) private assetRepository: Repository<AssetEntity>,
// private configService: ConfigService,
// ) {}
@Process('object-detection')
async handleOptimization(job: Job) {
try {
const { resizePath }: { resizePath: string } = job.data;
// @Process('object-detection')
// async handleOptimization(job: Job) {
// try {
// const { resizePath }: { resizePath: string } = job.data;
const image = fs.readFileSync(resizePath);
const decodedImage = tfnode.node.decodeImage(image, 3) as tfnode.Tensor3D;
const model = await cocoSsd.load();
const predictions = await model.detect(decodedImage);
console.log('start predictions ------------------ ');
for (var result of predictions) {
console.log(`Found ${result.class} with score ${result.score}`);
}
console.log('end predictions ------------------ ');
// const image = fs.readFileSync(resizePath);
// const decodedImage = tfnode.node.decodeImage(image, 3) as tfnode.Tensor3D;
// const model = await cocoSsd.load();
// const predictions = await model.detect(decodedImage);
// console.log('start predictions ------------------ ');
// for (var result of predictions) {
// console.log(`Found ${result.class} with score ${result.score}`);
// }
// console.log('end predictions ------------------ ');
return 'ok';
} catch (e) {
console.log('Error object detection ', e);
}
}
}
// return 'ok';
// } catch (e) {
// console.log('Error object detection ', e);
// }
// }
// }