UNPKG

ppljs-ppl-core

Version:

ppljs network inference framework core module

65 lines (53 loc) 1.5 kB
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 }