import { Metadata as ImageMetadata } from './gtm-image'; import { TrainingParameters as ImageTrainingParams } from './gtm-image/teachable-mobilenet'; import { TeachablePoseNet, Metadata as PoseMetadata } from './gtm-pose'; import { TrainingParameters as PoseTrainingParams } from './gtm-pose/teachable-posenet'; import { TeachableHandPose, Metadata as HandMetadata } from './gtm-hand'; import { TrainingParameters as HandTrainingParams } from './gtm-hand/teachable-handpose'; import * as tf from '@tensorflow/tfjs'; import { AudioExample } from './gtm-utils/recorder'; import { SpeechCommandRecognizer, SpeechCommandRecognizerMetadata, TransferLearnConfig } from './speech-commands'; import { ImageNetTopClass } from './gtm-image/imagenet-prediction'; import { ExposedMobileNet } from './gtm-image/exposed-mobilenet'; export declare type TMType = 'image' | 'pose' | 'speech' | 'hand' | 'text'; export interface PredictionsOutput { className: string; probability: number; } export interface UserClassProfile { userClassIndex: number; userClassLabel: string; sampleCount: number; topConcepts: ImageNetTopClass[]; } export interface UserClassSimilarity { userClassIndex: number; userClassLabel: string; score: number; } export interface TransferLearningExplanation { currentImageTopConcepts: ImageNetTopClass[]; userClassProfiles: UserClassProfile[]; userClassSimilarity: UserClassSimilarity[]; } export interface ExplainedPredictionsOutput { predictions: PredictionsOutput[]; multiHandPredictions?: PredictionsOutput[][]; heatmap?: number[][]; transferLearning?: TransferLearningExplanation; } interface TrainingParameters extends ImageTrainingParams, PoseTrainingParams, HandTrainingParams, TransferLearnConfig { } interface BaseMetadata { modelBaseUrl?: string; } export declare type Metadata = BaseMetadata & (ImageMetadata | PoseMetadata | HandMetadata | SpeechCommandRecognizerMetadata); export interface TeachableModel { readonly variant: TMType; explained?: HTMLCanvasElement; readonly modelBaseUrl: string; getVariant(): TMType; setXAICanvas(canvas: HTMLCanvasElement): void; setName(name: string): void; getModel(): ExposedMobileNet | TeachablePoseNet | TeachableHandPose | SpeechCommandRecognizer | undefined; getImageSize(): number; isTrained(): boolean; ready(): Promise; isReady(): boolean; setSeed(seed: string): void; getMetadata(): Metadata | undefined; save(handler: tf.io.IOHandler): Promise; draw(image: HTMLCanvasElement): HTMLCanvasElement; estimate(image: HTMLCanvasElement, staticImageMode?: boolean): Promise; predict(image: HTMLCanvasElement | AudioExample, staticImageMode?: boolean): Promise; train(params: TrainingParameters, callbacks: tf.CustomCallbackArgs): Promise; addExample(className: number, image: HTMLCanvasElement | AudioExample): Promise; setLabels(labels: string[]): void; dispose(): void; getLabels(): string[]; getLabel(ix: number): string; getNumExamples(): number; getExamplesPerClass(): number[]; getNumValidation(): number; calculateAccuracy(): Promise<{ reference: any; predictions: tf.Tensor; }>; } export {};