UNPKG

onnxruntime-web

Version:

A Javascript library for running ONNX models on browsers

179 lines (178 loc) 8.35 kB
'use strict'; // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. var __createBinding = (this && this.__createBinding) || (Object.create ? function (o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ('get' in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function () { return m[k]; }, }; } Object.defineProperty(o, k2, desc); } : function (o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; }); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? function (o, v) { Object.defineProperty(o, 'default', { enumerable: true, value: v }); } : function (o, v) { o['default'] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== 'default' && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, '__esModule', { value: true }); exports.WEBGL_OP_RESOLVE_RULES = void 0; const batch_normalization_1 = require('./ops/batch-normalization'); const binaryOps = __importStar(require('./ops/binary-op')); const cast_1 = require('./ops/cast'); const concat_1 = require('./ops/concat'); const conv_1 = require('./ops/conv'); const conv_transpose_1 = require('./ops/conv-transpose'); const depth_to_space_1 = require('./ops/depth-to-space'); const flatten_1 = require('./ops/flatten'); const gather_1 = require('./ops/gather'); const gemm_1 = require('./ops/gemm'); const image_scaler_1 = require('./ops/image-scaler'); const instance_normalization_1 = require('./ops/instance-normalization'); const lrn_1 = require('./ops/lrn'); const matmul_1 = require('./ops/matmul'); const pad_1 = require('./ops/pad'); const pool_1 = require('./ops/pool'); const reduce_1 = require('./ops/reduce'); const reshape_1 = require('./ops/reshape'); const resize_packed_1 = require('./ops/resize-packed'); const shape_1 = require('./ops/shape'); const slice_1 = require('./ops/slice'); const softmax_1 = require('./ops/softmax'); const split_1 = require('./ops/split'); const squeeze_1 = require('./ops/squeeze'); const sum_1 = require('./ops/sum'); const tile_1 = require('./ops/tile'); const transpose_1 = require('./ops/transpose'); const unaryOps = __importStar(require('./ops/unary-op')); const unsqueeze_1 = require('./ops/unsqueeze'); const upsample_1 = require('./ops/upsample'); exports.WEBGL_OP_RESOLVE_RULES = [ ['Abs', '', '6+', unaryOps.abs], ['Acos', '', '7+', unaryOps.acos], ['Add', '', '7+', binaryOps.add], ['And', '', '7+', binaryOps.and], ['Asin', '', '7+', unaryOps.asin], ['Atan', '', '7+', unaryOps.atan], // TODO: support new attributes for AveragePool-10 ['AveragePool', '', '7+', pool_1.averagePool, pool_1.parseAveragePoolAttributes], [ 'BatchNormalization', '', '7+', batch_normalization_1.batchNormalization, batch_normalization_1.parseBatchNormalizationAttributes, ], ['Cast', '', '6+', cast_1.cast, cast_1.parseCastAttributes], ['Ceil', '', '6+', unaryOps.ceil], ['Clip', '', '6-10', unaryOps.clip, unaryOps.parseClipAttributes], ['Clip', '', '11+', unaryOps.clipV11], ['Concat', '', '4+', concat_1.concat, concat_1.parseConcatAttributes], ['Conv', '', '1+', conv_1.conv, conv_1.parseConvAttributes], ['ConvTranspose', '', '1+', conv_transpose_1.convTranspose, conv_transpose_1.parseConvTransposeAttributes], ['Cos', '', '7+', unaryOps.cos], ['Div', '', '7+', binaryOps.div], ['Dropout', '', '7+', unaryOps.identity], ['DepthToSpace', '', '1+', depth_to_space_1.depthToSpace, depth_to_space_1.parseDepthToSpaceAttributes], ['Equal', '', '7+', binaryOps.equal], ['Elu', '', '6+', unaryOps.elu, unaryOps.parseEluAttributes], ['Exp', '', '6+', unaryOps.exp], ['Flatten', '', '1+', flatten_1.flatten, flatten_1.parseFlattenAttributes], ['Floor', '', '6+', unaryOps.floor], ['FusedConv', 'com.microsoft', '1+', conv_1.conv, conv_1.parseConvAttributes], ['Gather', '', '1+', gather_1.gather, gather_1.parseGatherAttributes], ['Gemm', '', '7-10', gemm_1.gemm, gemm_1.parseGemmAttributesV7], ['Gemm', '', '11+', gemm_1.gemm, gemm_1.parseGemmAttributesV11], ['GlobalAveragePool', '', '1+', pool_1.globalAveragePool, pool_1.parseGlobalAveragePoolAttributes], ['GlobalMaxPool', '', '1+', pool_1.globalMaxPool], ['Greater', '', '7+', binaryOps.greater], ['Identity', '', '1+', unaryOps.identity], ['ImageScaler', '', '1+', image_scaler_1.imageScaler, image_scaler_1.parseImageScalerAttributes], [ 'InstanceNormalization', '', '6+', instance_normalization_1.instanceNormalization, instance_normalization_1.parseInstanceNormalizationAttributes, ], ['LeakyRelu', '', '6+', unaryOps.leakyRelu, unaryOps.parseLeakyReluAttributes], ['Less', '', '7+', binaryOps.less], ['LRN', '', '1+', lrn_1.lrn, lrn_1.parseLrnAttributes], ['Log', '', '6+', unaryOps.log], ['MatMul', '', '1+', matmul_1.matMul, matmul_1.parseMatMulAttributes], // TODO: support new attributes for MaxPool-8 and MaxPool-10 ['MaxPool', '', '1+', pool_1.maxPool, pool_1.parseMaxPoolAttributes], ['Mul', '', '7+', binaryOps.mul], ['Neg', '', '6+', unaryOps.neg], ['Not', '', '1+', unaryOps.not], ['Or', '', '7+', binaryOps.or], ['Pad', '', '2-10', pad_1.padV2, pad_1.parsePadAttributesV2], ['Pad', '', '11+', pad_1.padV11, pad_1.parsePadAttributesV11], ['Pow', '', '7+', binaryOps.pow], ['PRelu', '', '7+', binaryOps.pRelu], ['ReduceLogSum', '', '1+', reduce_1.reduceLogSum, reduce_1.parseReduceAttributes], ['ReduceMax', '', '1+', reduce_1.reduceMax, reduce_1.parseReduceAttributes], ['ReduceMean', '', '1+', reduce_1.reduceMean, reduce_1.parseReduceAttributes], ['ReduceMin', '', '1+', reduce_1.reduceMin, reduce_1.parseReduceAttributes], ['ReduceProd', '', '1+', reduce_1.reduceProd, reduce_1.parseReduceAttributes], ['ReduceSum', '', '1-12', reduce_1.reduceSum, reduce_1.parseReduceAttributes], ['ReduceSumSquare', '', '1+', reduce_1.reduceLogSumSquare, reduce_1.parseReduceAttributes], ['Relu', '', '6+', unaryOps.relu], ['Reshape', '', '5+', reshape_1.reshape], ['Resize', '', '10', resize_packed_1.resize, resize_packed_1.parseResizeAttributesV10], ['Resize', '', '11+', resize_packed_1.resize, resize_packed_1.parseResizeAttributesV11], ['Shape', '', '1+', shape_1.shape], ['Sigmoid', '', '6+', unaryOps.sigmoid], ['Sin', '', '7+', unaryOps.sin], ['Slice', '', '10+', slice_1.sliceV10], ['Slice', '', '1-9', slice_1.slice, slice_1.parseSliceAttributes], // The "semantic" meaning of axis has changed in opset-13. ['Softmax', '', '1-12', softmax_1.softmax, softmax_1.parseSoftmaxAttributes], ['Softmax', '', '13+', softmax_1.softmaxV13, softmax_1.parseSoftmaxAttributesV13], // 'Split' operator has an optional attribute 'split' // this attribute determines how the specified axis of input data is split. // When the attribute is missing, we need the count of number of outputs // so that we can determine the 'split' attribute from the runtime input to the Operator ['Split', '', '2-12', split_1.split, split_1.parseSplitAttributes], ['Sqrt', '', '6+', unaryOps.sqrt], ['Squeeze', '', '1-12', squeeze_1.squeeze, squeeze_1.parseSqueezeAttributes], ['Squeeze', '', '13+', squeeze_1.squeezeV13], ['Sub', '', '7+', binaryOps.sub], ['Sum', '', '6+', sum_1.sum], ['Tan', '', '7+', unaryOps.tan], ['Tanh', '', '6+', unaryOps.tanh], ['Tile', '', '6+', tile_1.tile], ['Transpose', '', '1+', transpose_1.transpose, transpose_1.parseTransposeAttributes], ['Upsample', '', '7-8', upsample_1.upsample, upsample_1.parseUpsampleAttributesV7], ['Upsample', '', '9', upsample_1.upsample, upsample_1.parseUpsampleAttributesV9], ['Unsqueeze', '', '1-12', unsqueeze_1.unsqueeze, unsqueeze_1.parseUnsqueezeAttributes], ['Unsqueeze', '', '13+', unsqueeze_1.unsqueezeV13], ['Xor', '', '7+', binaryOps.xor], ]; //# sourceMappingURL=op-resolve-rules.js.map