ppljs-ppl-core
Version:
ppljs network inference framework core module
65 lines (53 loc) • 1.5 kB
text/typescript
import Buffer from '../buffer'
export interface OpNode{
props: OpProps;
attrs: OpAttrs;
inputs: OpEdge[];
outputs: OpEdge[];
hostDataOffset:number; //if op exits hostData,we read it by offset
data: OpData;
}
export interface OpEdge{
name: string;
tensorInfo: tensorInfo;
}
export interface OpAttrs{
[key: string]: any
}
export interface OpProps{
type: string;
name: string;
}
export interface OpData {
[key: string]: opDataInfo;
}
export interface tensorInfo{
name: string;
shape: number[];
precision: number; //0: fp16 1: fp32
hostData?: number[] | Float32Array; //first put the host weight/bias data in hostData
deviceData?: Buffer; //if backend if gpu,we will transform hostData to data and release hostData
}
export interface opDataInfo{
size: number;
precision: number; //0: fp16 1: fp32
hostData?: number[] | Float32Array; //first put the host weight/bias data in hostData
deviceData?: Buffer; //if backend if gpu,we will transform hostData to data and release hostData
}
export interface Model {
ops: OpNode[];
}
export interface ModelConfig {
modelPath: string;
modelName?: string;
binaryDataName?: string;
}
export enum backend {
Backend_WebGPU,
}
export interface backend_config {
backend_: backend;
precision_:number;
modelData_:Model;
debug?: boolean; //printf some log to debug our code
}