UNPKG

tfjs-tiny-yolov2

Version:

Tiny YOLO v2 object detection with tensorflow.js.

64 lines (63 loc) 1.82 kB
import * as tf from '@tensorflow/tfjs-core'; import { Box, IRect } from 'tfjs-image-recognition-base'; import { ConvParams } from '../common'; import { SeparableConvParams } from '../common/types'; export declare type BatchNorm = { sub: tf.Tensor1D; truediv: tf.Tensor1D; }; export declare type ConvWithBatchNorm = { conv: ConvParams; bn: BatchNorm; }; export declare type MobilenetParams = { conv0: SeparableConvParams | ConvParams; conv1: SeparableConvParams; conv2: SeparableConvParams; conv3: SeparableConvParams; conv4: SeparableConvParams; conv5: SeparableConvParams; conv6?: SeparableConvParams; conv7?: SeparableConvParams; conv8: ConvParams; }; export declare type DefaultTinyYolov2NetParams = { conv0: ConvWithBatchNorm; conv1: ConvWithBatchNorm; conv2: ConvWithBatchNorm; conv3: ConvWithBatchNorm; conv4: ConvWithBatchNorm; conv5: ConvWithBatchNorm; conv6: ConvWithBatchNorm; conv7: ConvWithBatchNorm; conv8: ConvParams; }; export declare type TinyYolov2NetParams = DefaultTinyYolov2NetParams | MobilenetParams; export declare type GridPosition = { row: number; col: number; anchor: number; }; export declare type GroundTruthWithGridPosition = GridPosition & { box: Box; label: number; }; export declare type GroundTruth = IRect & { label: number; }; export declare type YoloLoss = { totalLoss: number; noObjectLoss: number; objectLoss: number; coordLoss: number; classLoss: number; }; export declare type LossReport = { losses: YoloLoss; numBoxes: number; inputSize: number; }; export declare type TinyYolov2BackwardOptions = { minBoxSize?: number; reportLosses?: (report: LossReport) => void; };