TensorFlow Source
This commit is contained in:
1 parent
a58bf292a9
commit
3d3ab2548d
557 files changed
+10955
-12169
No files matched your search
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"Tanh.js","sourceRoot":"","sources":["../../src/kernels/Tanh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAe,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD,MAAM,CAAC,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,UAAU,GAAiB;IACtC,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,IAAI;CACjB,CAAC"}
|
||||
{"version":3,"file":"Tanh.js","sourceRoot":"","sources":["../../src/kernels/Tanh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAe,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD,MAAM,CAAC,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,UAAU,GAAiB;IACtC,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,IAAI;CACjB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the License);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an AS IS BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {KernelConfig, Tanh} from '@tensorflow/tfjs-core';\n\nimport {unaryKernelFunc} from '../utils/unary_utils';\n\nexport const tanh = unaryKernelFunc(Tanh, (xi) => Math.tanh(xi));\n\nexport const tanhConfig: KernelConfig = {\n kernelName: Tanh,\n backendName: 'cpu',\n kernelFunc: tanh,\n};\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"Tile.js","sourceRoot":"","sources":["../../src/kernels/Tile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAuC,IAAI,EAAwB,MAAM,uBAAuB,CAAC;AAGxG,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,IAAI,CAChB,IAAqE;IAEvE,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC;IACtC,MAAM,EAAC,CAAC,EAAC,GAAG,MAAM,CAAC;IACnB,MAAM,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC;IAErB,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAErD,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAiB;IACtC,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,IAAwB;CACrC,CAAC"}
|
||||
{"version":3,"file":"Tile.js","sourceRoot":"","sources":["../../src/kernels/Tile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAuC,IAAI,EAAwB,MAAM,uBAAuB,CAAC;AAGxG,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,IAAI,CAChB,IAAqE;IAEvE,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC;IACtC,MAAM,EAAC,CAAC,EAAC,GAAG,MAAM,CAAC;IACnB,MAAM,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC;IAErB,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAErD,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAiB;IACtC,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,IAAwB;CACrC,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {KernelConfig, KernelFunc, TensorInfo, Tile, TileAttrs, TileInputs} from '@tensorflow/tfjs-core';\n\nimport {MathBackendCPU} from '../backend_cpu';\nimport {assertNotComplex} from '../cpu_util';\nimport {tileImpl} from './Tile_impl';\n\nexport function tile(\n args: {inputs: TileInputs, backend: MathBackendCPU, attrs: TileAttrs}):\n TensorInfo {\n const {inputs, backend, attrs} = args;\n const {x} = inputs;\n const {reps} = attrs;\n\n assertNotComplex(x, 'tile');\n const outBuf = tileImpl(backend.bufferSync(x), reps);\n\n return backend.makeTensorInfo(outBuf.shape, outBuf.dtype, outBuf.values);\n}\n\nexport const tileConfig: KernelConfig = {\n kernelName: Tile,\n backendName: 'cpu',\n kernelFunc: tile as {} as KernelFunc\n};\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"Tile_impl.js","sourceRoot":"","sources":["../../src/kernels/Tile_impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,MAAM,EAA+B,MAAM,uBAAuB,CAAC;AAE3E;;;GAGG;AAEH,MAAM,UAAU,QAAQ,CACpB,IAA+B,EAC/B,IAAc;IAChB,MAAM,QAAQ,GAAa,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;KACvC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAEpC,MAAM,WAAW,GAAa,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC5C;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAEnD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;KAC/C;IACD,OAAO,MAAmC,CAAC;AAC7C,CAAC"}
|
||||
{"version":3,"file":"Tile_impl.js","sourceRoot":"","sources":["../../src/kernels/Tile_impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,MAAM,EAA+B,MAAM,uBAAuB,CAAC;AAE3E;;;GAGG;AAEH,MAAM,UAAU,QAAQ,CACpB,IAA+B,EAC/B,IAAc;IAChB,MAAM,QAAQ,GAAa,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;KACvC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAEpC,MAAM,WAAW,GAAa,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC5C;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAEnD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;KAC/C;IACD,OAAO,MAAmC,CAAC;AAC7C,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {buffer, DataType, Rank, TensorBuffer} from '@tensorflow/tfjs-core';\n\n/**\n * An implementation of the tile kernel shared between webgl and cpu for string\n * tensors only.\n */\n\nexport function tileImpl<R extends Rank>(\n xBuf: TensorBuffer<R, DataType>,\n reps: number[]): TensorBuffer<R, DataType> {\n const newShape: number[] = new Array(xBuf.rank);\n for (let i = 0; i < newShape.length; i++) {\n newShape[i] = xBuf.shape[i] * reps[i];\n }\n const result = buffer(newShape, xBuf.dtype);\n for (let i = 0; i < result.values.length; ++i) {\n const newLoc = result.indexToLoc(i);\n\n const originalLoc: number[] = new Array(xBuf.rank);\n for (let j = 0; j < originalLoc.length; j++) {\n originalLoc[j] = newLoc[j] % xBuf.shape[j];\n }\n\n const originalIndex = xBuf.locToIndex(originalLoc);\n\n result.values[i] = xBuf.values[originalIndex];\n }\n return result as TensorBuffer<R, DataType>;\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"TopK.js","sourceRoot":"","sources":["../../src/kernels/TopK.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAwD,IAAI,EAAoC,MAAM,uBAAuB,CAAC;AAGrI,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,IAAI,CAChB,IAAqE;IAEvE,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC;IACtC,MAAM,EAAC,CAAC,EAAC,GAAG,MAAM,CAAC;IACnB,MAAM,EAAC,CAAC,EAAE,MAAM,EAAC,GAAG,KAAK,CAAC;IAE1B,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAE5B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAoB,CAAC;IAC9D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAC/B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAwB,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAEpE,OAAO;QACL,OAAO,CAAC,cAAc,CAClB,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC;QAC7D,OAAO,CAAC,cAAc,CAClB,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC;KACvE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAiB;IACtC,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,IAAwB;CACrC,CAAC"}
|
||||
{"version":3,"file":"TopK.js","sourceRoot":"","sources":["../../src/kernels/TopK.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAwD,IAAI,EAAoC,MAAM,uBAAuB,CAAC;AAGrI,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,IAAI,CAChB,IAAqE;IAEvE,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC;IACtC,MAAM,EAAC,CAAC,EAAC,GAAG,MAAM,CAAC;IACnB,MAAM,EAAC,CAAC,EAAE,MAAM,EAAC,GAAG,KAAK,CAAC;IAE1B,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAE5B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAoB,CAAC;IAC9D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAC/B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAwB,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAEpE,OAAO;QACL,OAAO,CAAC,cAAc,CAClB,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC;QAC7D,OAAO,CAAC,cAAc,CAClB,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC;KACvE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAiB;IACtC,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,IAAwB;CACrC,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {KernelConfig, KernelFunc, NumericDataType, TensorInfo, TopK, TopKAttrs, TopKInputs, TypedArray} from '@tensorflow/tfjs-core';\n\nimport {MathBackendCPU} from '../backend_cpu';\nimport {assertNotComplex} from '../cpu_util';\nimport {topKImpl} from './TopK_impl';\n\nexport function topK(\n args: {inputs: TopKInputs, backend: MathBackendCPU, attrs: TopKAttrs}):\n [TensorInfo, TensorInfo] {\n const {inputs, backend, attrs} = args;\n const {x} = inputs;\n const {k, sorted} = attrs;\n\n assertNotComplex(x, 'topk');\n\n const xVals = backend.data.get(x.dataId).values as TypedArray;\n const [allTopKVals, allTopKIndices] =\n topKImpl(xVals, x.shape, x.dtype as NumericDataType, k, sorted);\n\n return [\n backend.makeTensorInfo(\n allTopKVals.shape, allTopKVals.dtype, allTopKVals.values),\n backend.makeTensorInfo(\n allTopKIndices.shape, allTopKIndices.dtype, allTopKIndices.values)\n ];\n}\n\nexport const topKConfig: KernelConfig = {\n kernelName: TopK,\n backendName: 'cpu',\n kernelFunc: topK as {} as KernelFunc\n};\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"TopK_impl.js","sourceRoot":"","sources":["../../src/kernels/TopK_impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,yEAAyE;AAEzE,OAAO,EAAC,MAAM,EAAqE,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAEtH,MAAM,UAAU,QAAQ,CACpB,CAAa,EAAE,MAAgB,EAAE,MAAuB,EAAE,CAAS,EACnE,MAAe;IAEjB,4EAA4E;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAEvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;QAC/C,MAAM,SAAS,GAA0C,EAAE,CAAC;QAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,SAAS,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC,CAAC;SAC5C;QACD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAE5C,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;QACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACjC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SACrC;KACF;IACD,iEAAiE;IACjE,kBAAkB;IAClB,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IACnC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAExC,OAAO;QACL,MAAM,CAAC,WAA0B,EAAE,MAAM,EAAE,WAAW,CAAC;QACvD,MAAM,CAAC,WAA0B,EAAE,OAAO,EAAE,cAAc,CAAC;KAC5D,CAAC;AACJ,CAAC"}
|
||||
{"version":3,"file":"TopK_impl.js","sourceRoot":"","sources":["../../src/kernels/TopK_impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,yEAAyE;AAEzE,OAAO,EAAC,MAAM,EAAqE,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAEtH,MAAM,UAAU,QAAQ,CACpB,CAAa,EAAE,MAAgB,EAAE,MAAuB,EAAE,CAAS,EACnE,MAAe;IAEjB,4EAA4E;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAEvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;QAC/C,MAAM,SAAS,GAA0C,EAAE,CAAC;QAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,SAAS,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC,CAAC;SAC5C;QACD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAE5C,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;QACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACjC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SACrC;KACF;IACD,iEAAiE;IACjE,kBAAkB;IAClB,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IACnC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAExC,OAAO;QACL,MAAM,CAAC,WAA0B,EAAE,MAAM,EAAE,WAAW,CAAC;QACvD,MAAM,CAAC,WAA0B,EAAE,OAAO,EAAE,cAAc,CAAC;KAC5D,CAAC;AACJ,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\n/** An implementation of the TopK kernel shared between webgl and cpu. */\n\nimport {buffer, NumericDataType, Rank, ShapeMap, Tensor, TensorBuffer, TypedArray, util} from '@tensorflow/tfjs-core';\n\nexport function topKImpl<T extends Tensor, R extends Rank>(\n x: TypedArray, xShape: number[], xDtype: NumericDataType, k: number,\n sorted: boolean):\n [TensorBuffer<R, NumericDataType>, TensorBuffer<R, 'int32'>] {\n // Reshape into a 2d tensor [batch, lastDim] and compute topk along lastDim.\n const lastDim = xShape[xShape.length - 1];\n const [batch, size] = [x.length / lastDim, lastDim];\n const allTopKVals = util.getTypedArrayFromDType(xDtype, batch * k);\n const allTopKIndices = util.getTypedArrayFromDType('int32', batch * k);\n\n for (let b = 0; b < batch; b++) {\n const offset = b * size;\n const vals = x.subarray(offset, offset + size);\n const valAndInd: Array<{value: number, index: number}> = [];\n for (let i = 0; i < vals.length; i++) {\n valAndInd.push({value: vals[i], index: i});\n }\n valAndInd.sort((a, b) => b.value - a.value);\n\n const outOffset = b * k;\n const topKVals = allTopKVals.subarray(outOffset, outOffset + k);\n const topKIndices = allTopKIndices.subarray(outOffset, outOffset + k);\n for (let i = 0; i < k; i++) {\n topKVals[i] = valAndInd[i].value;\n topKIndices[i] = valAndInd[i].index;\n }\n }\n // Reshape back to the original input shape, except that the last\n // dimension is k.\n const outputShape = xShape.slice();\n outputShape[outputShape.length - 1] = k;\n\n return [\n buffer(outputShape as ShapeMap[R], xDtype, allTopKVals),\n buffer(outputShape as ShapeMap[R], 'int32', allTopKIndices)\n ];\n}\n"]}
|
||||
Generated
Vendored
+24
@@ -0,0 +1,24 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2021 Google LLC. All Rights Reserved.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================================
|
||||
*/
|
||||
import { KernelConfig, TensorInfo, TransformAttrs, TransformInputs } from '@tensorflow/tfjs-core';
|
||||
import { MathBackendCPU } from '../backend_cpu';
|
||||
export declare function transform(args: {
|
||||
inputs: TransformInputs;
|
||||
attrs: TransformAttrs;
|
||||
backend: MathBackendCPU;
|
||||
}): TensorInfo;
|
||||
export declare const transformConfig: KernelConfig;
|
||||
Generated
Vendored
+191
@@ -0,0 +1,191 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2021 Google LLC. All Rights Reserved.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================================
|
||||
*/
|
||||
import { Transform, util } from '@tensorflow/tfjs-core';
|
||||
export function transform(args) {
|
||||
const { inputs, attrs, backend } = args;
|
||||
const { image, transforms } = inputs;
|
||||
const { interpolation, fillMode, fillValue, outputShape } = attrs;
|
||||
const [batch, imageHeight, imageWidth, numChannels] = image.shape;
|
||||
const [outHeight, outWidth] = outputShape != null ? outputShape : [imageHeight, imageWidth];
|
||||
const outShape = [batch, outHeight, outWidth, numChannels];
|
||||
const strides = util.computeStrides(image.shape);
|
||||
const batchStride = strides[0];
|
||||
const rowStride = strides[1];
|
||||
const colStride = strides[2];
|
||||
const outVals = util.getTypedArrayFromDType(image.dtype, util.sizeFromShape(outShape));
|
||||
outVals.fill(fillValue);
|
||||
const imageVals = backend.data.get(image.dataId).values;
|
||||
const transformVals = backend.data.get(transforms.dataId).values;
|
||||
// Ref TF implementation:
|
||||
// https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/image/image_ops.h
|
||||
for (let b = 0; b < batch; ++b) {
|
||||
const transform = transforms.shape[0] === 1 ?
|
||||
transformVals :
|
||||
transformVals.subarray(b * 8, b * 8 + 8);
|
||||
for (let outY = 0; outY < outHeight; ++outY) {
|
||||
for (let outX = 0; outX < outWidth; ++outX) {
|
||||
for (let channel = 0; channel < numChannels; ++channel) {
|
||||
let val;
|
||||
const projection = transform[6] * outX + transform[7] * outY + 1;
|
||||
if (projection === 0) {
|
||||
// Return the fill value for infinite coordinates,
|
||||
// which are outside the input image
|
||||
continue;
|
||||
}
|
||||
const inX = (transform[0] * outX + transform[1] * outY + transform[2]) /
|
||||
projection;
|
||||
const inY = (transform[3] * outX + transform[4] * outY + transform[5]) /
|
||||
projection;
|
||||
const x = mapCoord(inX, imageWidth, fillMode);
|
||||
const y = mapCoord(inY, imageHeight, fillMode);
|
||||
switch (interpolation) {
|
||||
case 'nearest':
|
||||
val = nearestInterpolation(imageVals, imageHeight, imageWidth, batchStride, rowStride, colStride, b, y, x, channel, fillValue);
|
||||
break;
|
||||
case 'bilinear':
|
||||
val = bilinearInterpolation(imageVals, imageHeight, imageWidth, batchStride, rowStride, colStride, b, y, x, channel, fillValue);
|
||||
break;
|
||||
default:
|
||||
throw new Error(`Error in Transform: Expect 'nearest' or ` +
|
||||
`'bilinear', but got ${interpolation}`);
|
||||
}
|
||||
const ind = b * batchStride + outY * rowStride + outX * colStride + channel;
|
||||
outVals[ind] = val;
|
||||
}
|
||||
}
|
||||
}
|
||||
return backend.makeTensorInfo(outShape, image.dtype, outVals);
|
||||
}
|
||||
const dataId = backend.write(outVals, outShape, image.dtype);
|
||||
return { dataId, shape: image.shape, dtype: image.dtype };
|
||||
}
|
||||
export const transformConfig = {
|
||||
kernelName: Transform,
|
||||
backendName: 'cpu',
|
||||
kernelFunc: transform
|
||||
};
|
||||
function mapCoord(outCoord, len, mode) {
|
||||
switch (mode) {
|
||||
case 'reflect':
|
||||
return mapCoordReflect(outCoord, len);
|
||||
case 'wrap':
|
||||
return mapCoordWrap(outCoord, len);
|
||||
case 'nearest':
|
||||
return mapCoordNearest(outCoord, len);
|
||||
case 'constant':
|
||||
default:
|
||||
return mapCoordConstant(outCoord, len);
|
||||
}
|
||||
}
|
||||
function mapCoordReflect(outCoord, len) {
|
||||
// Reflect [abcd] to [dcba|abcd|dcba].
|
||||
let inCoord = outCoord;
|
||||
if (inCoord < 0) {
|
||||
if (len <= 1) {
|
||||
inCoord = 0;
|
||||
}
|
||||
else {
|
||||
const sz2 = 2 * len;
|
||||
if (inCoord < sz2) {
|
||||
inCoord = sz2 * Math.trunc(-inCoord / sz2) + inCoord;
|
||||
}
|
||||
inCoord = inCoord < -len ? inCoord + sz2 : -inCoord - 1;
|
||||
}
|
||||
}
|
||||
else if (inCoord > len - 1) {
|
||||
if (len <= 1) {
|
||||
inCoord = 0;
|
||||
}
|
||||
else {
|
||||
const sz2 = 2 * len;
|
||||
inCoord -= sz2 * Math.trunc(inCoord / sz2);
|
||||
if (inCoord >= len) {
|
||||
inCoord = sz2 - inCoord - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
// clamp is necessary because when outCoord = 3.5 and len = 4,
|
||||
// inCoord = 3.5 and will be rounded to 4 in nearest interpolation.
|
||||
return util.clamp(0, inCoord, len - 1);
|
||||
}
|
||||
function mapCoordWrap(outCoord, len) {
|
||||
// Wrap [abcd] to [abcd|abcd|abcd].
|
||||
let inCoord = outCoord;
|
||||
if (inCoord < 0) {
|
||||
if (len <= 1) {
|
||||
inCoord = 0;
|
||||
}
|
||||
else {
|
||||
const sz = len - 1;
|
||||
inCoord += len * (Math.trunc(-inCoord / sz) + 1);
|
||||
}
|
||||
}
|
||||
else if (inCoord > len - 1) {
|
||||
if (len <= 1) {
|
||||
inCoord = 0;
|
||||
}
|
||||
else {
|
||||
const sz = len - 1;
|
||||
inCoord -= len * Math.trunc(inCoord / sz);
|
||||
}
|
||||
}
|
||||
// clamp is necessary because when outCoord = -0.5 and len = 4,
|
||||
// inCoord = 3.5 and will be rounded to 4 in nearest interpolation.
|
||||
return util.clamp(0, inCoord, len - 1);
|
||||
}
|
||||
function mapCoordConstant(outCoord, len) {
|
||||
return outCoord;
|
||||
}
|
||||
function mapCoordNearest(outCoord, len) {
|
||||
return util.clamp(0, outCoord, len - 1);
|
||||
}
|
||||
function readWithFillValue(imageVals, imageHeight, imageWidth, batchStride, rowStride, colStride, batch, y, x, channel, fillValue) {
|
||||
const ind = batch * batchStride + y * rowStride + x * colStride + channel;
|
||||
if (0 <= y && y < imageHeight && 0 <= x && x < imageWidth) {
|
||||
return imageVals[ind];
|
||||
}
|
||||
else {
|
||||
return fillValue;
|
||||
}
|
||||
}
|
||||
function nearestInterpolation(imageVals, imageHeight, imageWidth, batchStride, rowStride, colStride, batch, y, x, channel, fillValue) {
|
||||
const $y = Math.round(y);
|
||||
const $x = Math.round(x);
|
||||
return readWithFillValue(imageVals, imageHeight, imageWidth, batchStride, rowStride, colStride, batch, $y, $x, channel, fillValue);
|
||||
}
|
||||
function bilinearInterpolation(imageVals, imageHeight, imageWidth, batchStride, rowStride, colStride, batch, y, x, channel, fillValue) {
|
||||
const yFloor = Math.floor(y);
|
||||
const xFloor = Math.floor(x);
|
||||
const yCeil = yFloor + 1;
|
||||
const xCeil = xFloor + 1;
|
||||
// f(x, yFloor) = (xCeil - x) / (xCeil - xFloor) * f(xFloor, yFloor)
|
||||
// + (x - xFloor) / (xCeil - xFloor) * f(xCeil, yFloor)
|
||||
const valueYFloor = (xCeil - x) *
|
||||
readWithFillValue(imageVals, imageHeight, imageWidth, batchStride, rowStride, colStride, batch, yFloor, xFloor, channel, fillValue) +
|
||||
(x - xFloor) *
|
||||
readWithFillValue(imageVals, imageHeight, imageWidth, batchStride, rowStride, colStride, batch, yFloor, xCeil, channel, fillValue);
|
||||
// f(x, yCeil) = (xCeil - x) / (xCeil - xFloor) * f(xFloor, yCeil)
|
||||
// + (x - xFloor) / (xCeil - xFloor) * f(xCeil, yCeil)
|
||||
const valueYCeil = (xCeil - x) *
|
||||
readWithFillValue(imageVals, imageHeight, imageWidth, batchStride, rowStride, colStride, batch, yCeil, xFloor, channel, fillValue) +
|
||||
(x - xFloor) *
|
||||
readWithFillValue(imageVals, imageHeight, imageWidth, batchStride, rowStride, colStride, batch, yCeil, xCeil, channel, fillValue);
|
||||
// f(x, y) = (yCeil - y) / (yCeil - yFloor) * f(x, yFloor)
|
||||
// + (y - yFloor) / (yCeil - yFloor) * f(x, yCeil)
|
||||
return (yCeil - y) * valueYFloor + (y - yFloor) * valueYCeil;
|
||||
}
|
||||
//# sourceMappingURL=Transform.js.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Transform.js","sourceRoot":"","sources":["../../src/kernels/Transform.ts"],"names":[],"mappings":"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 truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"Transpose.js","sourceRoot":"","sources":["../../src/kernels/Transpose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAuC,SAAS,EAA8C,MAAM,uBAAuB,CAAC;AAGnI,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAE/C,MAAM,UAAU,SAAS,CAAC,IAIzB;IACC,MAAM,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC;IACtC,MAAM,EAAC,CAAC,EAAC,GAAG,MAAM,CAAC;IACnB,MAAM,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC;IAErB,gBAAgB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAEjC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAE7B,MAAM,QAAQ,GAAa,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KAChC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAoB,CAAC;IAC/D,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAEvE,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACxD,OAAO,EAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAiB;IAC3C,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,SAA6B;CAC1C,CAAC"}
|
||||
{"version":3,"file":"Transpose.js","sourceRoot":"","sources":["../../src/kernels/Transpose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAuC,SAAS,EAA8C,MAAM,uBAAuB,CAAC;AAGnI,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAE/C,MAAM,UAAU,SAAS,CAAC,IAIzB;IACC,MAAM,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC;IACtC,MAAM,EAAC,CAAC,EAAC,GAAG,MAAM,CAAC;IACnB,MAAM,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC;IAErB,gBAAgB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAEjC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAE7B,MAAM,QAAQ,GAAa,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KAChC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAoB,CAAC;IAC/D,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAEvE,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACxD,OAAO,EAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAiB;IAC3C,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,SAA6B;CAC1C,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {KernelConfig, KernelFunc, TensorInfo, Transpose, TransposeAttrs, TransposeInputs, TypedArray} from '@tensorflow/tfjs-core';\n\nimport {MathBackendCPU} from '../backend_cpu';\nimport {assertNotComplex} from '../cpu_util';\n\nimport {transposeImpl} from './Transpose_impl';\n\nexport function transpose(args: {\n inputs: TransposeInputs,\n attrs: TransposeAttrs,\n backend: MathBackendCPU\n}): TensorInfo {\n const {inputs, attrs, backend} = args;\n const {x} = inputs;\n const {perm} = attrs;\n\n assertNotComplex(x, 'transpose');\n\n const xRank = x.shape.length;\n\n const newShape: number[] = new Array(xRank);\n for (let i = 0; i < newShape.length; i++) {\n newShape[i] = x.shape[perm[i]];\n }\n\n const values = backend.data.get(x.dataId).values as TypedArray;\n const result = transposeImpl(values, x.shape, x.dtype, perm, newShape);\n\n const dataId = backend.write(result, newShape, x.dtype);\n return {dataId, shape: newShape, dtype: x.dtype};\n}\n\nexport const transposeConfig: KernelConfig = {\n kernelName: Transpose,\n backendName: 'cpu',\n kernelFunc: transpose as {} as KernelFunc\n};\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"Transpose_impl.js","sourceRoot":"","sources":["../../src/kernels/Transpose_impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAC,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAE3C,MAAM,UAAU,aAAa,CACzB,KAAiB,EAAE,MAAgB,EAAE,KAAe,EAAE,IAAc,EACpE,QAAkB;IACpB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEjD,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CACtC,KAAwB,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,EAAE;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEhD,oBAAoB;QACpB,MAAM,MAAM,GAAa,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1B;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;KAC7B;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
||||
{"version":3,"file":"Transpose_impl.js","sourceRoot":"","sources":["../../src/kernels/Transpose_impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAC,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAE3C,MAAM,UAAU,aAAa,CACzB,KAAiB,EAAE,MAAgB,EAAE,KAAe,EAAE,IAAc,EACpE,QAAkB;IACpB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEjD,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CACtC,KAAwB,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,EAAE;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEhD,oBAAoB;QACpB,MAAM,MAAM,GAAa,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1B;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;KAC7B;IACD,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {DataType, NumericDataType, TypedArray} from '@tensorflow/tfjs-core';\nimport {util} from '@tensorflow/tfjs-core';\n\nexport function transposeImpl(\n xVals: TypedArray, xShape: number[], dtype: DataType, perm: number[],\n newShape: number[]): TypedArray {\n const xRank = xShape.length;\n const xSize = util.sizeFromShape(xShape);\n const xStrides = util.computeStrides(xShape);\n const newStrides = util.computeStrides(newShape);\n\n const result = util.getTypedArrayFromDType(\n dtype as NumericDataType, util.sizeFromShape(newShape));\n\n for (let i = 0; i < xSize; ++i) {\n const loc = util.indexToLoc(i, xRank, xStrides);\n\n // Permute location.\n const newLoc: number[] = new Array(loc.length);\n for (let i = 0; i < newLoc.length; i++) {\n newLoc[i] = loc[perm[i]];\n }\n\n const newIndex = util.locToIndex(newLoc, xRank, newStrides);\n result[newIndex] = xVals[i];\n }\n return result;\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"Unique.js","sourceRoot":"","sources":["../../src/kernels/Unique.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAuC,MAAM,EAA4B,MAAM,uBAAuB,CAAC;AAG9G,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,MAAM,UAAU,MAAM,CAClB,IAAyE;IAE3E,MAAM,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC;IACtC,MAAM,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC;IACrB,MAAM,EAAC,CAAC,EAAC,GAAG,MAAM,CAAC;IACnB,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE9B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IACjD,MAAM,EAAC,YAAY,EAAE,WAAW,EAAE,OAAO,EAAC,GACtC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO;QACL,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC;QAC1D,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,MAA0B;CACvC,CAAC"}
|
||||
{"version":3,"file":"Unique.js","sourceRoot":"","sources":["../../src/kernels/Unique.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAuC,MAAM,EAA4B,MAAM,uBAAuB,CAAC;AAG9G,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,MAAM,UAAU,MAAM,CAClB,IAAyE;IAE3E,MAAM,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC;IACtC,MAAM,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC;IACrB,MAAM,EAAC,CAAC,EAAC,GAAG,MAAM,CAAC;IACnB,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE9B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IACjD,MAAM,EAAC,YAAY,EAAE,WAAW,EAAE,OAAO,EAAC,GACtC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO;QACL,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC;QAC1D,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,MAA0B;CACvC,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the License);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an AS IS BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {KernelConfig, KernelFunc, TensorInfo, Unique, UniqueAttrs, UniqueInputs} from '@tensorflow/tfjs-core';\n\nimport {MathBackendCPU} from '../backend_cpu';\nimport {assertNotComplex} from '../cpu_util';\n\nimport {uniqueImpl} from './Unique_impl';\n\nexport function unique(\n args: {inputs: UniqueInputs, attrs: UniqueAttrs, backend: MathBackendCPU}):\n TensorInfo[] {\n const {inputs, attrs, backend} = args;\n const {axis} = attrs;\n const {x} = inputs;\n assertNotComplex(x, 'unique');\n\n const values = backend.data.get(x.dataId).values;\n const {outputValues, outputShape, indices} =\n uniqueImpl(values, axis, x.shape, x.dtype);\n return [\n backend.makeTensorInfo(outputShape, x.dtype, outputValues),\n backend.makeTensorInfo([indices.length], 'int32', indices),\n ];\n}\n\nexport const uniqueConfig: KernelConfig = {\n kernelName: Unique,\n backendName: 'cpu',\n kernelFunc: unique as {} as KernelFunc,\n};\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"Unique_impl.js","sourceRoot":"","sources":["../../src/kernels/Unique_impl.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"Unique_impl.js","sourceRoot":"","sources":["../../src/kernels/Unique_impl.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {BackendValues, DataType, TensorBuffer, TypedArray, util} from '@tensorflow/tfjs-core';\n\nexport function uniqueImpl(\n values: BackendValues, axis: number, shape: number[], dtype: DataType): {\n outputValues: BackendValues,\n outputShape: number[],\n indices: BackendValues\n} {\n // Normalize and validate axis.\n const $axis = util.parseAxisParam(axis, shape)[0];\n\n // Calculate the new shape that is suitable for extracting data along the\n // given axis.\n //\n // The rank is 3.\n // The size of the 1st dimension is the size of all the axes < the given axis.\n // The size of the 2nd dimension is the same as the size of the given axis.\n // The size of the 3rd dimension is the size of all the axeLine truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"Unpack.js","sourceRoot":"","sources":["../../src/kernels/Unpack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAuC,MAAM,EAA4B,MAAM,uBAAuB,CAAC;AAG9G,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAE9B,MAAM,UAAU,MAAM,CAClB,IAAyE;IAE3E,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC;IACtC,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,CAAC;IACvB,IAAI,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC;IAEnB,IAAI,IAAI,GAAG,CAAC,EAAE;QACZ,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;KAC5B;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;IAErC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAa,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACpD,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;QAClC,IAAI,CAAC,KAAK,IAAI,EAAE;YACd,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACvC;KACF;IAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACjC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,MAAM,OAAO,GAAG,KAAK,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAE,KAAK,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,EAAC,CAAC,CAAC;QAC3E,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAE,OAAO,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAC,EAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;KAChD;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,MAA0B;CACvC,CAAC"}
|
||||
{"version":3,"file":"Unpack.js","sourceRoot":"","sources":["../../src/kernels/Unpack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAuC,MAAM,EAA4B,MAAM,uBAAuB,CAAC;AAG9G,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAE9B,MAAM,UAAU,MAAM,CAClB,IAAyE;IAE3E,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC;IACtC,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,CAAC;IACvB,IAAI,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC;IAEnB,IAAI,IAAI,GAAG,CAAC,EAAE;QACZ,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;KAC5B;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;IAErC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAa,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACpD,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;QAClC,IAAI,CAAC,KAAK,IAAI,EAAE;YACd,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACvC;KACF;IAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACjC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,MAAM,OAAO,GAAG,KAAK,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAE,KAAK,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,EAAC,CAAC,CAAC;QAC3E,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAE,OAAO,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAC,EAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;KAChD;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,MAA0B;CACvC,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {KernelConfig, KernelFunc, TensorInfo, Unpack, UnpackAttrs, UnpackInputs} from '@tensorflow/tfjs-core';\n\nimport {MathBackendCPU} from '../backend_cpu';\nimport {reshape} from './Reshape';\nimport {slice} from './Slice';\n\nexport function unpack(\n args: {inputs: UnpackInputs, backend: MathBackendCPU, attrs: UnpackAttrs}):\n TensorInfo[] {\n const {inputs, backend, attrs} = args;\n const {value} = inputs;\n let {axis} = attrs;\n\n if (axis < 0) {\n axis += value.shape.length;\n }\n\n const valueRank = value.shape.length;\n\n const num = value.shape[axis];\n const outShape: number[] = new Array(valueRank - 1);\n let outIndex = 0;\n for (let i = 0; i < valueRank; i++) {\n if (i !== axis) {\n outShape[outIndex++] = value.shape[i];\n }\n }\n\n const begin = new Array(valueRank).fill(0);\n const size = value.shape.slice();\n size[axis] = 1;\n const res = new Array(num);\n for (let i = 0; i < res.length; i++) {\n begin[axis] = i;\n const tempRes = slice({inputs: {x: value}, backend, attrs: {begin, size}});\n res[i] = reshape({inputs: {x: tempRes}, backend, attrs: {shape: outShape}});\n backend.disposeIntermediateTensorInfo(tempRes);\n }\n\n return res;\n}\n\nexport const unpackConfig: KernelConfig = {\n kernelName: Unpack,\n backendName: 'cpu',\n kernelFunc: unpack as {} as KernelFunc\n};\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"UnsortedSegmentSum.js","sourceRoot":"","sources":["../../src/kernels/UnsortedSegmentSum.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"UnsortedSegmentSum.js","sourceRoot":"","sources":["../../src/kernels/UnsortedSegmentSum.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {KernelConfig, KernelFunc, TensorInfo, UnsortedSegmentSum, UnsortedSegmentSumAttrs, UnsortedSegmentSumInputs, util} from '@tensorflow/tfjs-core';\n\nimport {MathBackendCPU} from '../backend_cpu';\nimport {assertNotComplex} from '../cpu_util';\nimport {cast} from './Cast';\nimport {equal} from './Equal';\nimport {expandDims} from './ExpandDims';\nimport {multiply} from './Multiply';\nimport {pack} from './Pack';\nimport {sum} from './Sum';\n\nexport function unsortedSegmentSum(args: {\n inputs: UnsortedSegmentSumInputs,\n backend: MathBackendCPU,\n attrs: UnsortedSegmentSumAttrs\n}): TensorInfo {\n const {inputs, backend, attrs} = args;\n const {x, segmentIds} = inputs;\n const {numSegments} = attrs;\n\n assertNotComplex(x, 'unsortedSegmentSum');\n\n const xRank = x.shape.length;\n const segmentIdsRank = segmentIds.shape.length;\n const res = [];\n const intermediates: TensorInfo[] = [];\n\n // Reshape the segment id's so that they can be broadcast with\n // x. The new shape should be [segmentIds.shape, 1, ..., 1]\n const numIters = xRank - segmentIdsRank;\n let $segmentIds = segmentIds;\n\n for (let i = 0; i < numIters; ++i) {\n const expanded = expandDims(\n {inputs: {input: $segmentIds}, backend, attrs: {dim: i + 1}});\n $segmentIds = expanded;\n intermediates.push(expanded);\n }\n\n for (let i = 0; i < numSegments; ++i) {\n const scalarValue = util.createScalarValue(i as {} as 'int32', 'int32');\n const segmentId = backend.makeTensorInfo([], 'int32', scalarValue);\n const mask =\n equal({inputs: {a: segmentId, b: $segmentIds}, backend}) as TLine truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"ZerosLike.js","sourceRoot":"","sources":["../../src/kernels/ZerosLike.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAuC,SAAS,EAAkB,MAAM,uBAAuB,CAAC;AAIvG,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAE5B,MAAM,UAAU,SAAS,CACrB,IAAwD;IAC1D,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAC,CAAC,EAAC,GAAG,MAAM,CAAC;IAEnB,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;KAClE;SAAM,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW,EAAE;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAC,MAAM,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,OAAO,EAAC,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,SAAS,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAE,QAAQ,EAAC,EAAE,OAAO,EAAC,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAC,MAAM,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,OAAO,EAAC,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,SAAS,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAE,QAAQ,EAAC,EAAE,OAAO,EAAC,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,OAAO,CAAC,EAAC,MAAM,EAAE,EAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAC,EAAE,OAAO,EAAC,CAAC,CAAC;QAE9D,OAAO,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC;KACf;SAAM;QACL,OAAO,IAAI,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAC,EAAC,CAAC,CAAC;KAC3E;AACH,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAiB;IAC3C,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,SAA6B;CAC1C,CAAC"}
|
||||
{"version":3,"file":"ZerosLike.js","sourceRoot":"","sources":["../../src/kernels/ZerosLike.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAuC,SAAS,EAAkB,MAAM,uBAAuB,CAAC;AAIvG,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAE5B,MAAM,UAAU,SAAS,CACrB,IAAwD;IAC1D,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAC,CAAC,EAAC,GAAG,MAAM,CAAC;IAEnB,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;KAClE;SAAM,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW,EAAE;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAC,MAAM,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,OAAO,EAAC,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,SAAS,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAE,QAAQ,EAAC,EAAE,OAAO,EAAC,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAC,MAAM,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,OAAO,EAAC,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,SAAS,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAE,QAAQ,EAAC,EAAE,OAAO,EAAC,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,OAAO,CAAC,EAAC,MAAM,EAAE,EAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAC,EAAE,OAAO,EAAC,CAAC,CAAC;QAE9D,OAAO,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC;KACf;SAAM;QACL,OAAO,IAAI,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAC,EAAC,CAAC,CAAC;KAC3E;AACH,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAiB;IAC3C,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,SAA6B;CAC1C,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {KernelConfig, KernelFunc, TensorInfo, ZerosLike, ZerosLikeInputs} from '@tensorflow/tfjs-core';\n\nimport {MathBackendCPU} from '../backend_cpu';\n\nimport {complex} from './Complex';\nimport {fill} from './Fill';\nimport {imag} from './Imag';\nimport {real} from './Real';\n\nexport function zerosLike(\n args: {inputs: ZerosLikeInputs, backend: MathBackendCPU}): TensorInfo {\n const {inputs, backend} = args;\n const {x} = inputs;\n\n if (x.dtype === 'string') {\n throw new Error('zerosLike is not supported for string tensors');\n } else if (x.dtype === 'complex64') {\n const realPart = real({inputs: {input: x}, backend});\n const r = zerosLike({inputs: {x: realPart}, backend});\n const imagPart = imag({inputs: {input: x}, backend});\n const i = zerosLike({inputs: {x: imagPart}, backend});\n\n const result = complex({inputs: {real: r, imag: i}, backend});\n\n backend.disposeIntermediateTensorInfo(realPart);\n backend.disposeIntermediateTensorInfo(r);\n backend.disposeIntermediateTensorInfo(imagPart);\n backend.disposeIntermediateTensorInfo(i);\n\n return result;\n } else {\n return fill({backend, attrs: {shape: x.shape, value: 0, dtype: x.dtype}});\n }\n}\n\nexport const zerosLikeConfig: KernelConfig = {\n kernelName: ZerosLike,\n backendName: 'cpu',\n kernelFunc: zerosLike as {} as KernelFunc\n};\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -14,5 +14,5 @@
|
||||
* limitations under the License.
|
||||
* =============================================================================
|
||||
*/
|
||||
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?a(exports,require("@tensorflow/tfjs-core"),require("seedrandom")):"function"==typeof define&&define.amd?define(["exports","@tensorflow/tfjs-core","seedrandom"],a):a((e=e||self).tf=e.tf||{},e.tf,e.seedrandom)}(this,(function(e,a,t){"use strict";var n=function(e,a){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,a){e.__proto__=a}||function(e,a){for(var t in a)a.hasOwnProperty(t)&&(e[t]=a[t])})(e,a)};function r(e,a,t,n){return new(t||(t=Promise))((function(r,i){function o(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var a;e.done?r(e.value):(a=e.value,a instanceof t?a:new t((function(e){e(a)}))).then(o,s)}u((n=n.apply(e,a||[])).next())}))}function i(e,a){var t,n,r,i,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(t)throw new TypeError("Generator is already executing.");for(;o;)try{if(t=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return o.label++,{value:i[1],done:!1};case 5:o.label++,n=i[1],i=[0];continue;case 7:i=o.ops.pop(),o.trys.pop();continue;default:if(!(r=o.trys,(r=r.length>0&&r[r.length-1])||6!==i[0]&&2!==i[0])){o=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){o.label=i[1];break}if(6===i[0]&&o.label<r[1]){o.label=r[1],r=i;break}if(r&&o.label<r[2]){o.label=r[2],o.ops.push(i);break}r[2]&&o.ops.pop(),o.trys.pop();continue}i=a.call(e,o)}catch(e){i=[6,e],n=0}finally{t=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}}function o(e,t){Array.isArray(e)||(e=[e]),e.forEach((function(e){null!=e&&a.util.assert("complex64"!==e.dtype,(function(){return t+" does not support complex64 tensors in the CPU backend."}))}))}var s=a.kernel_impls.whereImpl,u=function(e){function t(){var t=e.call(this)||this;return t.blockSize=48,t.firstUse=!0,t.data=new a.DataStorage(t,a.engine()),t}return function(e,a){function t(){this.constructor=e}n(e,a),e.prototype=null===a?Object.create(a):(t.prototype=a.prototype,new t)}(t,e),t.prototype.write=function(e,t,n){this.firstUse&&(this.firstUse=!1,a.env().get("IS_NODE")&&a.backend_util.warn("\n============================\nHi there 👋. Looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, which binds to TensorFlow C++, by running npm i @tensorflow/tfjs-node, or npm i @tensorflow/tfjs-node-gpu if you have CUDA. Then call require('@tensorflow/tfjs-node'); (-gpu suffix for CUDA) at the start of your program. Visit https://github.com/tensorflow/tfjs-node for more details.\n============================"));var r={};return this.data.set(r,{values:e,dtype:n,refCount:1}),r},t.prototype.makeTensorInfo=function(e,t,n){var r;if("string"===t&&null!=n&&n.length>0&&a.util.isString(n[0])){var i=n.map((function(e){return a.util.encodeString(e)}));r=this.write(i,e,t)}else r=this.write(n,e,t);return{dataId:r,shape:e,dtype:t}},t.prototype.incRef=function(e){this.data.get(e).refCount++},t.prototype.decRef=function(e){this.data.has(e)&&this.data.get(e).refCount--},t.prototype.move=function(e,a,t,n){this.data.set(e,{values:a,dtype:n,refCount:1})},t.prototype.numDataIds=function(){return this.data.numDataIds()},t.prototype.read=function(e){return r(this,void 0,void 0,(function(){return i(this,(function(a){return[2,this.readSync(e)]}))}))},t.prototype.readSync=function(e){var t=this.data.get(e),n=t.dtype,r=t.complexTensorInfos;if("complex64"===n){var i=this.readSync(r.real.dataId),o=this.readSync(r.imag.dataId);return a.backend_util.mergeRealAndImagArrays(i,o)}return this.data.get(e).values},t.prototype.bufferSync=function(e){var t=this.readSync(e.dataId),n=t;if("string"===e.dtype)try{n=t.map((function(e){return a.util.decodeString(e)}))}catch(e){throw new Error("Failed to decode encoded string bytes into utf-8")}return a.buffer(e.shape,e.dtype,n)},t.prototype.makeOutput=function(e,t,n){var r=this.write(e,t,n);return a.engine().makeTensorFromDataId(r,t,n,this)},t.prototype.disposeData=function(e){if(this.data.has(e)){var a=this.data.get(e).complexTensorInfos;null!=a&&(this.disposeData(a.real.dataId),this.disposeData(a.imag.dataId)),this.data.delete(e)}},t.prototype.disposeIntermediateTensorInfo=function(e){var a=e.dataId;if(this.data.has(a)){var t=this.data.get(a);t.refCount--,t.refCount<1&&this.disposeData(a)}},t.prototype.time=function(e){return r(this,void 0,void 0,(function(){var t;return i(this,(function(n){return t=a.util.now(),e(),[2,{kernelMs:a.util.now()-t}]}))}))},t.prototype.memory=function(){return{unreliable:!0,reasons:["The reported memory is an upper bound. Due to automatic garbage collection, the true allocated memory may be less."]}},t.Line truncated
|
||||
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?a(exports,require("@tensorflow/tfjs-core"),require("seedrandom")):"function"==typeof define&&define.amd?define(["exports","@tensorflow/tfjs-core","seedrandom"],a):a((e=e||self).tf=e.tf||{},e.tf,e.seedrandom)}(this,(function(e,a,t){"use strict";var n=function(e,a){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,a){e.__proto__=a}||function(e,a){for(var t in a)a.hasOwnProperty(t)&&(e[t]=a[t])})(e,a)};function r(e,a,t,n){return new(t||(t=Promise))((function(r,i){function s(e){try{u(n.next(e))}catch(e){i(e)}}function o(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var a;e.done?r(e.value):(a=e.value,a instanceof t?a:new t((function(e){e(a)}))).then(s,o)}u((n=n.apply(e,a||[])).next())}))}function i(e,a){var t,n,r,i,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(t)throw new TypeError("Generator is already executing.");for(;s;)try{if(t=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,n=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){s.label=i[1];break}if(6===i[0]&&s.label<r[1]){s.label=r[1],r=i;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(i);break}r[2]&&s.ops.pop(),s.trys.pop();continue}i=a.call(e,s)}catch(e){i=[6,e],n=0}finally{t=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,o])}}}function s(e,t){Array.isArray(e)||(e=[e]),e.forEach((function(e){null!=e&&a.util.assert("complex64"!==e.dtype,(function(){return t+" does not support complex64 tensors in the CPU backend."}))}))}var o=a.kernel_impls.whereImpl,u=function(e){function t(){var t=e.call(this)||this;return t.blockSize=48,t.firstUse=!0,t.data=new a.DataStorage(t,a.engine()),t}return function(e,a){function t(){this.constructor=e}n(e,a),e.prototype=null===a?Object.create(a):(t.prototype=a.prototype,new t)}(t,e),t.prototype.nextDataId=function(){return t.nextDataId++},t.prototype.write=function(e,t,n){this.firstUse&&(this.firstUse=!1,a.env().get("IS_NODE")&&a.backend_util.warn("\n============================\nHi there 👋. Looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, which binds to TensorFlow C++, by running npm i @tensorflow/tfjs-node, or npm i @tensorflow/tfjs-node-gpu if you have CUDA. Then call require('@tensorflow/tfjs-node'); (-gpu suffix for CUDA) at the start of your program. Visit https://github.com/tensorflow/tfjs-node for more details.\n============================"));var r={id:this.nextDataId()};return this.data.set(r,{values:e,dtype:n,refCount:1}),r},t.prototype.makeTensorInfo=function(e,t,n){var r;if("string"===t&&null!=n&&n.length>0&&a.util.isString(n[0])){var i=n.map((function(e){return a.util.encodeString(e)}));r=this.write(i,e,t)}else r=this.write(n,e,t);return{dataId:r,shape:e,dtype:t}},t.prototype.refCount=function(e){return this.data.has(e)?this.data.get(e).refCount:0},t.prototype.incRef=function(e){this.data.get(e).refCount++},t.prototype.decRef=function(e){this.data.has(e)&&this.data.get(e).refCount--},t.prototype.move=function(e,a,t,n,r){this.data.set(e,{values:a,dtype:n,refCount:r})},t.prototype.numDataIds=function(){return this.data.numDataIds()},t.prototype.read=function(e){return r(this,void 0,void 0,(function(){return i(this,(function(a){return[2,this.readSync(e)]}))}))},t.prototype.readSync=function(e){var t=this.data.get(e),n=t.dtype,r=t.complexTensorInfos;if("complex64"===n){var i=this.readSync(r.real.dataId),s=this.readSync(r.imag.dataId);return a.backend_util.mergeRealAndImagArrays(i,s)}return this.data.get(e).values},t.prototype.bufferSync=function(e){var t=this.readSync(e.dataId),n=t;if("string"===e.dtype)try{n=t.map((function(e){return a.util.decodeString(e)}))}catch(e){throw new Error("Failed to decode encoded string bytes into utf-8")}return a.buffer(e.shape,e.dtype,n)},t.prototype.makeOutput=function(e,t,n){var r=this.write(e,t,n);return a.engine().makeTensorFromDataId(r,t,n,this)},t.prototype.disposeData=function(e,a){if(void 0===a&&(a=!1),this.data.has(e)){if(this.data.get(e).refCount--,!a&&this.data.get(e).refCount>0)return!1;var t=this.data.get(e).complexTensorInfos;null!=t&&(this.disposeData(t.real.dataId,!0),this.disposeData(t.imag.dataId,!0)),this.data.delete(e)}return!0},t.prototype.disposeIntermediateTensorInfo=function(e){this.disposeData(e.dataId)},t.prototype.time=function(e){return r(this,void 0,void 0,(function(){var t;return i(this,(function(n){return t=a.util.now(),e(),[2,{kernelMs:a.util.now()-tLine truncated
|
||||
//# sourceMappingURL=tf-backend-cpu.min.js.map
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"tf-backend-cpu.min.js","sources":["../src/cpu_util.ts","../src/backend_cpu.ts","../src/kernels/Abs.ts","../src/utils/binary_impl.ts","../src/kernels/Complex.ts","../src/utils/zeros_impl.ts","../src/kernels/Identity.ts","../src/kernels/Real.ts","../src/kernels/Cast.ts","../src/utils/binary_utils.ts","../src/kernels/Add.ts","../src/kernels/Bincount_impl.ts","../src/utils/unary_impl.ts","../src/utils/unary_utils.ts","../src/kernels/Ceil.ts","../src/kernels/Concat_impl.ts","../src/kernels/Exp.ts","../src/kernels/Expm1.ts","../src/kernels/Floor.ts","../src/kernels/GatherV2_impl.ts","../src/kernels/Greater.ts","../src/kernels/Less.ts","../src/kernels/LinSpace_impl.ts","../src/kernels/Log.ts","../src/kernels/Max_impl.ts","../src/kernels/Maximum.ts","../src/kernels/Minimum.ts","../src/kernels/Multiply.ts","../src/kernels/Neg.ts","../src/kernels/NotEqual.ts","../src/kernels/Transpose_impl.ts","../src/kernels/Transpose.ts","../src/kernels/Prod.ts","../src/kernels/Range_impl.ts","../src/kernels/Rsqrt.ts","../src/kernels/Slice.ts","../src/kernels/SquaredDifference.ts","../src/kernels/StridedSlice_impl.ts","../src/kernels/Sub.ts","../src/kernels/Tile_impl.ts","../src/kernels/TopK_impl.ts","../src/kernels/Unique_impl.ts","../src/base.ts","../src/kernels/Elu.ts","../src/kernels/LeakyRelu.ts","../src/kernels/Prelu.ts","../src/kernels/Relu.ts","../src/kernels/Relu6.ts","../src/utils/fused_utils.ts","../src/kernels/Reshape.ts","../src/kernels/BatchMatMul.ts","../src/kernels/_FusedMatMul.ts","../src/kernels/Acos.ts","../src/kernels/Acosh.ts","../src/kernels/AddN.ts","../src/kernels/All.ts","../src/kernels/Any.ts","../src/kernels/ArgMax.ts","../src/kernels/ArgMin.ts","../src/kernels/Asin.ts","../src/kernels/Asinh.ts","../src/kernels/Atan.ts","../src/kernels/Atan2.ts","../src/kernels/Atanh.ts","../src/utils/pool_utils.ts","../src/kernels/AvgPool.ts","../src/kernels/AvgPool3D.ts","../src/kernels/AvgPool3DGrad.ts","../src/kernels/AvgPoolGrad.ts","../src/kernels/BatchNorm.ts","../src/kernels/BatchToSpaceND.ts","../src/kernels/Bincount.ts","../src/kernels/Clip.ts","../src/kernels/ComplexAbs.ts","../src/kernels/Imag.ts","../src/kernels/Concat.ts","../src/kernels/Conv2D.ts","../src/kernels/Conv2DBackpropFilter.ts","../src/kernels/Conv2DBackpropInput.ts","../src/kernels/Conv3D.ts","../src/kernels/Conv3DBackpropFilterV2.ts","../src/kernels/Conv3DBackpropInputV2.ts","../src/kernels/Cos.ts","../src/kernels/Cosh.ts","../src/kernels/CropAndResize.ts","../src/kernels/Cumsum.ts","../src/kernels/DenseBincount.ts","../src/kernels/DepthToSpace.ts","../src/kernels/DepthwiseConv2dNative.ts","../src/kernels/DepthwiseConv2dNativeBackpropFilter.ts","../src/kernels/DepthwiseConv2dNativeBackpropInput.ts","../src/kernels/Diag.ts","../src/kernels/Dilation2D.ts","../src/kernels/Dilation2DBackpropFilter.ts","../src/kernels/Dilation2DBackpropInput.ts","../src/kernels/EluGrad.ts","../src/kernels/Equal.ts","../src/kernels/Erf.ts","../src/kernels/ExpandDims.ts","../src/kernels/RealDiv.ts","../src/utils/fft_utils.ts","../src/kernels/FFT.ts","../src/kernels/Fill.ts","../src/kernels/FlipLeftRight.ts","../src/kernels/FloorDiv.ts","../src/kernels/FusedConv2D.ts","../src/kernels/FusedDepthwiseConv2D.ts","../src/kernels/GatherNd.ts","../src/kernels/GatherV2.ts","../src/kernels/GreaterEqual.ts","../src/kernels/IFFT.ts","../src/kernels/IsFinite.ts","../src/kernels/IsInf.ts","../src/kernels/IsNaN.ts","../src/kernels/LessEqual.ts","../src/kernels/LinSpace.ts","../src/kernels/Log1p.ts","../src/kernels/LogicalAnd.ts","../src/kernels/LogicalNot.ts","../src/kernels/LogicalOr.ts","../src/kernels/LRN.ts","../src/kernels/LRNGrad.ts","../src/kernels/Max.ts","../src/kernels/MaxPool.ts","../src/kernels/MaxPool3D.ts","../src/kernels/MaxPool3DGrad.ts","../src/kernels/MaxPoolGrad.ts","../src/kernels/MaxPoolWithArgmax.ts","../src/kernels/MaxPoolWithArgmax_impl.ts","../src/kernels/Sum.ts","../src/kernels/Mean.ts","../src/kernels/Min.ts","../src/kernels/MirrorPad.ts","../src/kernels/Mod.ts","../src/kernels/Softmax.ts","../src/kernels/Multinomial.ts","../src/kernels/NonMaxSuppressionV3.ts","../src/kernels/NonMaxSuppressionV4.ts","../src/kernels/NonMaxSuppressionV5.ts","../src/kernels/OneHot.ts","../src/kernels/ZerosLike.ts","../src/kernels/OnesLike.ts","../src/kernels/Pack.ts","../src/kernels/PadV2.ts","../src/kernels/Pow.ts","../src/kernels/Range.ts","../src/kernels/Reciprocal.ts","../src/kernels/ResizeBilinear.ts","../src/kernels/ResizeBilinearGrad.ts","../src/kernels/ResizeNearestNeighbor.ts","../src/kernels/ResizeNearestNeighborGrad.ts","../src/kernels/Reverse.ts","../src/kernels/RotateWithOffset.ts","../src/kernels/Round.ts","../src/kernels/Scatter_impl.ts","../src/kernels/ScatterNd.ts","../src/kernels/Select.ts","../src/kernels/Selu.ts","../src/kernels/Sigmoid.ts","../src/kernels/Sign.ts","../src/kernels/Sin.ts","../src/kernels/Sinh.ts","../src/kernels/Softplus.ts","../src/kernels/SpaceToBatchND.ts","../src/kernels/SparseToDense.ts","../src/kernels/SplitV.ts"Line truncated
|
||||
{"version":3,"file":"tf-backend-cpu.min.js","sources":["../src/cpu_util.ts","../src/backend_cpu.ts","../src/kernels/Abs.ts","../src/utils/binary_impl.ts","../src/kernels/Complex.ts","../src/utils/zeros_impl.ts","../src/kernels/Identity.ts","../src/kernels/Real.ts","../src/kernels/Cast.ts","../src/utils/binary_utils.ts","../src/kernels/Add.ts","../src/kernels/Bincount_impl.ts","../src/utils/unary_impl.ts","../src/utils/unary_utils.ts","../src/kernels/Ceil.ts","../src/kernels/Concat_impl.ts","../src/kernels/Exp.ts","../src/kernels/Expm1.ts","../src/kernels/Floor.ts","../src/kernels/GatherV2_impl.ts","../src/kernels/Greater.ts","../src/kernels/Less.ts","../src/kernels/LinSpace_impl.ts","../src/kernels/Log.ts","../src/kernels/Max_impl.ts","../src/kernels/Maximum.ts","../src/kernels/Minimum.ts","../src/kernels/Multiply.ts","../src/kernels/Neg.ts","../src/kernels/NotEqual.ts","../src/kernels/Transpose_impl.ts","../src/kernels/Transpose.ts","../src/kernels/Prod.ts","../src/kernels/Range_impl.ts","../src/kernels/Rsqrt.ts","../src/kernels/Slice.ts","../src/kernels/SparseFillEmptyRows_impl.ts","../src/kernels/SparseReshape_impl.ts","../src/kernels/SquaredDifference.ts","../src/kernels/StridedSlice_impl.ts","../src/kernels/Sub.ts","../src/kernels/Tile_impl.ts","../src/kernels/TopK_impl.ts","../src/kernels/Unique_impl.ts","../src/base.ts","../src/kernels/Elu.ts","../src/kernels/LeakyRelu.ts","../src/kernels/Prelu.ts","../src/kernels/Relu.ts","../src/kernels/Relu6.ts","../src/kernels/Sigmoid.ts","../src/utils/fused_utils.ts","../src/kernels/Reshape.ts","../src/kernels/BatchMatMul.ts","../src/kernels/_FusedMatMul.ts","../src/kernels/Acos.ts","../src/kernels/Acosh.ts","../src/kernels/AddN.ts","../src/kernels/All.ts","../src/kernels/Any.ts","../src/kernels/ArgMax.ts","../src/kernels/ArgMin.ts","../src/kernels/Asin.ts","../src/kernels/Asinh.ts","../src/kernels/Atan.ts","../src/kernels/Atan2.ts","../src/kernels/Atanh.ts","../src/utils/pool_utils.ts","../src/kernels/AvgPool.ts","../src/kernels/AvgPool3D.ts","../src/kernels/AvgPool3DGrad.ts","../src/kernels/AvgPoolGrad.ts","../src/kernels/BatchNorm.ts","../src/kernels/BatchToSpaceND.ts","../src/kernels/Bincount.ts","../src/kernels/Clip.ts","../src/kernels/ComplexAbs.ts","../src/kernels/Imag.ts","../src/kernels/Concat.ts","../src/kernels/Conv2D.ts","../src/kernels/Conv2DBackpropFilter.ts","../src/kernels/Conv2DBackpropInput.ts","../src/kernels/Conv3D.ts","../src/kernels/Conv3DBackpropFilterV2.ts","../src/kernels/Conv3DBackpropInputV2.ts","../src/kernels/Cos.ts","../src/kernels/Cosh.ts","../src/kernels/CropAndResize.ts","../src/kernels/Cumsum.ts","../src/kernels/DenseBincount.ts","../src/kernels/DepthToSpace.ts","../src/kernels/DepthwiseConv2dNative.ts","../src/kernels/DepthwiseConv2dNativeBackpropFilter.ts","../src/kernels/DepthwiseConv2dNativeBackpropInput.ts","../src/kernels/Diag.ts","../src/kernels/Dilation2D.ts","../src/kernels/Dilation2DBackpropFilter.ts","../src/kernels/Dilation2DBackpropInput.ts","../src/kernels/Sum.ts","../src/kernels/Einsum.ts","../src/kernels/EluGrad.ts","../src/kernels/Equal.ts","../src/kernels/Erf.ts","../src/kernels/ExpandDims.ts","../src/kernels/RealDiv.ts","../src/utils/fft_utils.ts","../src/kernels/FFT.ts","../src/kernels/Fill.ts","../src/kernels/FlipLeftRight.ts","../src/kernels/FloorDiv.ts","../src/kernels/FusedConv2D.ts","../src/kernels/FusedDepthwiseConv2D.ts","../src/kernels/GatherNd.ts","../src/kernels/GatherV2.ts","../src/kernels/GreaterEqual.ts","../src/kernels/IFFT.ts","../src/kernels/IsFinite.ts","../src/kernels/IsInf.ts","../src/kernels/IsNaN.ts","../src/kernels/LessEqual.ts","../src/kernels/LinSpace.ts","../src/kernels/Log1p.ts","../src/kernels/LogicalAnd.ts","../src/kernels/LogicalNot.ts","../src/kernels/LogicalOr.ts","../src/kernels/LRN.ts","../src/kernels/LRNGrad.ts","../src/kernels/Max.ts","../src/kernels/MaxPool.ts","../src/kernels/MaxPool3D.ts","../src/kernels/MaxPool3DGrad.ts","../src/kernels/MaxPoolGrad.ts","../src/kernels/MaxPoolWithArgmax.ts","../src/kernels/MaxPoolWithArgmax_impl.ts","../src/kernels/Mean.ts","../src/kernels/Min.ts","../src/kernels/MirrorPad.ts","../src/kernels/Mod.ts","../src/kernels/Softmax.ts","../src/kernels/Multinomial.ts","../src/kernels/NonMaxSuppressionV3.ts","../src/kernels/NonMaxSuppressionV4.ts","../src/kernels/NonMaxSuppressionV5.ts","../src/kernels/OneHot.ts","../src/kernels/ZerosLike.ts","../src/kernels/OnesLike.ts","../src/kernels/Pack.ts","../src/kernels/PadV2.ts","../src/kernels/Pow.ts","../src/kernels/Range.ts","../src/kernels/Reciprocal.ts","../src/kernels/ResizeBilinear.ts","../src/kernels/ResizeBilinearGrad.ts","../src/kernels/ResizeNearestNeighbor.ts","../src/kernels/ResizeNearestNeighborGrad.ts","../src/kernels/Reverse.ts","../src/kernels/RotateWithOffset.ts","../src/kernels/Round.ts","../src/kernels/Scatter_impl.ts","../src/kernels/ScatterNd.ts","../src/kernels/Select.ts","../src/kernels/Selu.ts","../src/kernels/Sign.ts","../src/kernels/Sin.ts","../src/kernels/Sinh.ts","../src/kerneLine truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"binary_impl.js","sourceRoot":"","sources":["../../src/utils/binary_impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,YAAY,EAAyC,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAIhG;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,EAAyB;IAEpE,OAAO,CAAC,MAAgB,EAAE,MAAgB,EAAE,KAAiB,EACrD,KAAiB,EAAE,KAAe,EAA0B,EAAE;QACpE,MAAM,QAAQ,GAAG,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEzE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;QACnC,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEhD,MAAM,MAAM,GACR,IAAI,CAAC,sBAAsB,CAAC,KAAwB,EAAE,UAAU,CAAC,CAAC;QAEtE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE7C,MAAM,cAAc,GAAG,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvE,MAAM,cAAc,GAAG,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEvE,IAAI,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;YACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBACtC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aAClE;SACF;aAAM;YACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;gBAE1D,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC/B,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAEtD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC/B,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAEtD,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aAC9C;SACF;QAED,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC"}
|
||||
{"version":3,"file":"binary_impl.js","sourceRoot":"","sources":["../../src/utils/binary_impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,YAAY,EAAyC,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAIhG;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,EAAyB;IAEpE,OAAO,CAAC,MAAgB,EAAE,MAAgB,EAAE,KAAiB,EACrD,KAAiB,EAAE,KAAe,EAA0B,EAAE;QACpE,MAAM,QAAQ,GAAG,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEzE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;QACnC,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEhD,MAAM,MAAM,GACR,IAAI,CAAC,sBAAsB,CAAC,KAAwB,EAAE,UAAU,CAAC,CAAC;QAEtE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE7C,MAAM,cAAc,GAAG,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvE,MAAM,cAAc,GAAG,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEvE,IAAI,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;YACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBACtC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aAClE;SACF;aAAM;YACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;gBAE1D,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC/B,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAEtD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC/B,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAEtD,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aAC9C;SACF;QAED,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {backend_util, DataType, NumericDataType, TypedArray, util} from '@tensorflow/tfjs-core';\n\nimport {SimpleBinaryKernelImpl, SimpleBinaryOperation} from './binary_types';\n\n/**\n * Template that creates implementation for binary ops. Supports broadcast.\n */\nexport function createSimpleBinaryKernelImpl(op: SimpleBinaryOperation):\n SimpleBinaryKernelImpl {\n return (aShape: number[], bShape: number[], aVals: TypedArray,\n bVals: TypedArray, dtype: DataType): [TypedArray, number[]] => {\n const newShape = backend_util.assertAndGetBroadcastShape(aShape, bShape);\n\n const resultRank = newShape.length;\n const resultStrides = util.computeStrides(newShape);\n const resultSize = util.sizeFromShape(newShape);\n\n const result =\n util.getTypedArrayFromDType(dtype as NumericDataType, resultSize);\n\n const aRank = aShape.length;\n const bRank = bShape.length;\n\n const aStrides = util.computeStrides(aShape);\n const bStrides = util.computeStrides(bShape);\n\n const aBroadcastDims = backend_util.getBroadcastDims(aShape, newShape);\n const bBroadcastDims = backend_util.getBroadcastDims(bShape, newShape);\n\n if (aBroadcastDims.length + bBroadcastDims.length === 0) {\n for (let i = 0; i < result.length; ++i) {\n result[i] = op(aVals[i % aVals.length], bVals[i % bVals.length]);\n }\n } else {\n for (let i = 0; i < result.length; ++i) {\n const loc = util.indexToLoc(i, resultRank, resultStrides);\n\n const aLoc = loc.slice(-aRank);\n aBroadcastDims.forEach(d => aLoc[d] = 0);\n const aIndex = util.locToIndex(aLoc, aRank, aStrides);\n\n const bLoc = loc.slice(-bRank);\n bBroadcastDims.forEach(d => bLoc[d] = 0);\n const bIndex = util.locToIndex(bLoc, bRank, bStrides);\n\n result[i] = op(aVals[aIndex], bVals[bIndex]);\n }\n }\n\n return [result, newShape];\n };\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"binary_types.js","sourceRoot":"","sources":["../../src/utils/binary_types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}
|
||||
{"version":3,"file":"binary_types.js","sourceRoot":"","sources":["../../src/utils/binary_types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {DataType, TypedArray} from '@tensorflow/tfjs-core';\n\nexport type SimpleBinaryOperation = (a: number, b: number) => number;\nexport type SimpleBinaryKernelImpl =\n (aShape: number[], bShape: number[], aVals: TypedArray, bVals: TypedArray,\n dtype: DataType) => [TypedArray, number[]];\nexport type ComplexBinaryOperation =\n (aReal: number, aImag: number, bReal: number, bImag: number) => {\n real: number, imag: number\n };\nexport type ComplexBinaryKernelImpl =\n (aShape: number[], bShape: number[], aRealVals: Float32Array,\n aImagVals: Float32Array, bRealVals: Float32Array,\n bImagVals: Float32Array) => [TypedArray, TypedArray, number[]];\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"binary_utils.js","sourceRoot":"","sources":["../../src/utils/binary_utils.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"binary_utils.js","sourceRoot":"","sources":["../../src/utils/binary_utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,YAAY,EAAkD,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAGzG,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAI3C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAC5B,IAAY,EAAE,UAAkC,EAChD,WAAqC,EAAE,KAAgB;IACzD,IAAI,WAAW,IAAI,IAAI,EAAE;QACvB,OAAO,CAAC,EAAC,MAAM,EAAE,OAAO,EAAC,EAAE,EAAE;YAC3B,MAAM,EAAC,CAAC,EAAE,CAAC,EAAC,GAAG,MAAsB,CAAC;YACtC,MAAM,UAAU,GAAG,OAAyB,CAAC;YAE7C,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAE/B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAoB,CAAC;YACjE,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAoB,CAAC;YAEjE,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;YAEhC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAC3B,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAEvD,OAAO,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACpE,CAAC,CAAC;KACH;IAED,OAAO,CAAC,EAAC,MAAM,EAAE,OAAO,EAAC,EAAE,EAAE;QAC3B,MAAM,EAAC,CAAC,EAAE,CAAC,EAAC,GAAG,MAAsB,CAAC;QACtC,MAAM,UAAU,GAAG,OAAyB,CAAC;QAE7C,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW,EAAE;YACtD,MAAM,SAAS,GAAG,IAAI,CAClB,EAAC,MAAM,EAAE,EAAC,CAAC,EAAE,CAAC,EAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,WAAW,EAAC,EAAC,CAAC,CAAC;YAExE,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAE5D,MAAM,KAAK,GAAG,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACpD,MAAM,KAAK,GAAG,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAEpD,MAAM,SAAS,GACX,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAsB,CAAC;YAC7D,MAAM,SAAS,GACX,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAsB,CAAC;YAE7D,MAAM,SAAS,GAAG,IAAI,CAClB,EAAC,MAAM,EAAE,EAAC,CAAC,EAAE,CAAC,EAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,WAAW,EAAC,EAAC,CAAC,CAAC;YAExE,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAE5D,MAAM,KAAK,GAAG,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACpD,MAAM,KAAK,GAAG,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAEpD,MAAM,SAAS,GACX,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAsB,CAAC;YAC7D,MAAM,SAAS,GACX,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAsB,CAAC;YAE7D,MAAM,CAAC,cAAc,EAAE,cAAc,EAAE,WAAW,CAAC,GAAG,WAAW,CAC7D,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAElE,MAAM,UAAU,GACZ,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;YAEtE,MAAM,UAAU,GACZ,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;YAEtE,MAAM,MAAM,GAAG,OAAO,CAClB,EAAC,MAAM,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAC,EAAE,OAAO,EAAE,UAAU,EAAC,CAAC,CAAC;YAEzE,UAAU,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC;YACpD,UAAU,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC;YACpD,UAAU,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC;YACrD,UAAU,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC;YAErD,OAAO,MAAM,CAAC;SACf;aAAM;YACL,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAoB,CAAC;YACjE,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAoB,CAAC;YAEjE,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;YAEhC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAC3B,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAEvD,OAAO,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;SACnE;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAA0B;IAEtE,OAAO,CAAC,MAAgB,EAAE,MAAgB,EAAE,SAAuB,EAC3D,SAAuB,EAAE,SAAuB,EAChD,SAAuB,EAAsC,EAAE;QACrE,MAAM,WAAW,GAAG,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;QACtC,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAEvD,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC1E,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAE1E,MAAM,cAAc,GAAG,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC1E,MAAM,cAAc,GAAG,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAE1E,MAAM,KAAK,GAAG,YAAY,CAAC,sBAAsB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,YAAY,CAAC,sBAAsB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAExE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE7C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;YACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC9B,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;gBAE9B,MAAM,MAAM,GACR,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,EACrD,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAE5B,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;gBAChC,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;aACjC;SACF;aAAM;YACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,MAAM,GAAG,GAAG,IAALine truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"fft_utils.js","sourceRoot":"","sources":["../../src/utils/fft_utils.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"fft_utils.js","sourceRoot":"","sources":["../../src/utils/fft_utils.ts"],"names":[],"mappings":"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 truncated
|
||||
Generated
Vendored
+4
@@ -20,6 +20,7 @@ import { leakyRelu } from '../kernels/LeakyRelu';
|
||||
import { prelu } from '../kernels/Prelu';
|
||||
import { relu } from '../kernels/Relu';
|
||||
import { relu6 } from '../kernels/Relu6';
|
||||
import { sigmoid } from '../kernels/Sigmoid';
|
||||
export function applyActivation(backend, x, activation, preluActivationWeights, leakyreluAlpha) {
|
||||
if (activation === 'linear') {
|
||||
return identity({ inputs: { x }, backend });
|
||||
@@ -39,6 +40,9 @@ export function applyActivation(backend, x, activation, preluActivationWeights,
|
||||
else if (activation === 'leakyrelu') {
|
||||
return leakyRelu({ inputs: { x }, backend, attrs: { alpha: leakyreluAlpha } });
|
||||
}
|
||||
else if (activation === 'sigmoid') {
|
||||
return sigmoid({ inputs: { x }, backend });
|
||||
}
|
||||
throw new Error(`Activation ${activation} has not been implemented for the CPU backend.`);
|
||||
}
|
||||
//# sourceMappingURL=fused_utils.js.map
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"fused_utils.js","sourceRoot":"","sources":["../../src/utils/fused_utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AACnC,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAC;AAEvC,MAAM,UAAU,eAAe,CAC3B,OAAuB,EAAE,CAAa,EAAE,UAAmC,EAC3E,sBAAmC,EAAE,cAAuB;IAC9D,IAAI,UAAU,KAAK,QAAQ,EAAE;QAC3B,OAAO,QAAQ,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAC,EAAE,OAAO,EAAC,CAAC,CAAC;KACzC;SAAM,IAAI,UAAU,KAAK,MAAM,EAAE;QAChC,OAAO,IAAI,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAC,EAAE,OAAO,EAAC,CAAe,CAAC;KACnD;SAAM,IAAI,UAAU,KAAK,KAAK,EAAE;QAC/B,OAAO,GAAG,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAC,EAAE,OAAO,EAAC,CAAe,CAAC;KAClD;SAAM,IAAI,UAAU,KAAK,OAAO,EAAE;QACjC,OAAO,KAAK,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAC,EAAE,OAAO,EAAC,CAAe,CAAC;KACpD;SAAM,IAAI,UAAU,KAAK,OAAO,EAAE;QACjC,OAAO,KAAK,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAC,EAAE,OAAO,EAAC,CAAC,CAAC;KACrE;SAAM,IAAI,UAAU,KAAK,WAAW,EAAE;QACrC,OAAO,SAAS,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC,EAAC,CAAC,CAAC;KAC1E;IACD,MAAM,IAAI,KAAK,CACX,cAAc,UAAU,gDAAgD,CAAC,CAAC;AAChF,CAAC"}
|
||||
{"version":3,"file":"fused_utils.js","sourceRoot":"","sources":["../../src/utils/fused_utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AACnC,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAE3C,MAAM,UAAU,eAAe,CAC3B,OAAuB,EAAE,CAAa,EAAE,UAAmC,EAC3E,sBAAmC,EAAE,cAAuB;IAC9D,IAAI,UAAU,KAAK,QAAQ,EAAE;QAC3B,OAAO,QAAQ,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAC,EAAE,OAAO,EAAC,CAAC,CAAC;KACzC;SAAM,IAAI,UAAU,KAAK,MAAM,EAAE;QAChC,OAAO,IAAI,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAC,EAAE,OAAO,EAAC,CAAe,CAAC;KACnD;SAAM,IAAI,UAAU,KAAK,KAAK,EAAE;QAC/B,OAAO,GAAG,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAC,EAAE,OAAO,EAAC,CAAe,CAAC;KAClD;SAAM,IAAI,UAAU,KAAK,OAAO,EAAE;QACjC,OAAO,KAAK,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAC,EAAE,OAAO,EAAC,CAAe,CAAC;KACpD;SAAM,IAAI,UAAU,KAAK,OAAO,EAAE;QACjC,OAAO,KAAK,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAC,EAAE,OAAO,EAAC,CAAC,CAAC;KACrE;SAAM,IAAI,UAAU,KAAK,WAAW,EAAE;QACrC,OAAO,SAAS,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC,EAAC,CAAC,CAAC;KAC1E;SAAM,IAAI,UAAU,KAAK,SAAS,EAAE;QACnC,OAAO,OAAO,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAC,EAAE,OAAO,EAAC,CAAe,CAAC;KACtD;IACD,MAAM,IAAI,KAAK,CACX,cAAc,UAAU,gDAAgD,CAAC,CAAC;AAChF,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {_FusedMatMul, _FusedMatMulAttrs, _FusedMatMulInputs, backend_util, TensorInfo} from '@tensorflow/tfjs-core';\n\nimport {MathBackendCPU} from '../backend_cpu';\nimport {elu} from '../kernels/Elu';\nimport {identity} from '../kernels/Identity';\nimport {leakyRelu} from '../kernels/LeakyRelu';\nimport {prelu} from '../kernels/Prelu';\nimport {relu} from '../kernels/Relu';\nimport {relu6} from '../kernels/Relu6';\nimport {sigmoid} from '../kernels/Sigmoid';\n\nexport function applyActivation(\n backend: MathBackendCPU, x: TensorInfo, activation: backend_util.Activation,\n preluActivationWeights?: TensorInfo, leakyreluAlpha?: number): TensorInfo {\n if (activation === 'linear') {\n return identity({inputs: {x}, backend});\n } else if (activation === 'relu') {\n return relu({inputs: {x}, backend}) as TensorInfo;\n } else if (activation === 'elu') {\n return elu({inputs: {x}, backend}) as TensorInfo;\n } else if (activation === 'relu6') {\n return relu6({inputs: {x}, backend}) as TensorInfo;\n } else if (activation === 'prelu') {\n return prelu({inputs: {x, alpha: preluActivationWeights}, backend});\n } else if (activation === 'leakyrelu') {\n return leakyRelu({inputs: {x}, backend, attrs: {alpha: leakyreluAlpha}});\n } else if (activation === 'sigmoid') {\n return sigmoid({inputs: {x}, backend}) as TensorInfo;\n }\n throw new Error(\n `Activation ${activation} has not been implemented for the CPU backend.`);\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"pool_utils.js","sourceRoot":"","sources":["../../src/utils/pool_utils.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"pool_utils.js","sourceRoot":"","sources":["../../src/utils/pool_utils.ts"],"names":[],"mappings":"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 truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"unary_impl.js","sourceRoot":"","sources":["../../src/utils/unary_impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAkB,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAI5D;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAwB;IAE5D,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9B,MAAM,SAAS,GACX,IAAI,CAAC,sBAAsB,CAAC,KAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACtC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SACrC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC"}
|
||||
{"version":3,"file":"unary_impl.js","sourceRoot":"","sources":["../../src/utils/unary_impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAkB,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAI5D;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAwB;IAE5D,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9B,MAAM,SAAS,GACX,IAAI,CAAC,sBAAsB,CAAC,KAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACtC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SACrC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {NumericDataType, util} from '@tensorflow/tfjs-core';\n\nimport {SimpleUnaryImpl, SimpleUnaryOperation} from './unary_types';\n\n/**\n * Template that creates implementation for unary op.\n */\nexport function createSimpleUnaryImpl(op: SimpleUnaryOperation):\n SimpleUnaryImpl {\n return (values, dtype, attrs) => {\n const newValues =\n util.getTypedArrayFromDType(dtype as NumericDataType, values.length);\n for (let i = 0; i < values.length; ++i) {\n newValues[i] = op(values[i], attrs);\n }\n return newValues;\n };\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"unary_types.js","sourceRoot":"","sources":["../../src/utils/unary_types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}
|
||||
{"version":3,"file":"unary_types.js","sourceRoot":"","sources":["../../src/utils/unary_types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {DataType, NamedAttrMap, TypedArray} from '@tensorflow/tfjs-core';\n\nexport type SimpleUnaryOperation = (x: number, attrs?: NamedAttrMap) => number;\nexport type SimpleUnaryImpl =\n (values: TypedArray, dtype: DataType, attrs?: NamedAttrMap) => TypedArray;\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"unary_utils.js","sourceRoot":"","sources":["../../src/utils/unary_utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAgD,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAG1F,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAI7C;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC3B,IAAY,EAAE,EAAwB,EAAE,KAAgB;IAC1D,OAAO,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAC,EAAE,EAAE;QAClC,MAAM,EAAC,CAAC,EAAC,GAAG,MAAqB,CAAC;QAClC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,EAAE;YAC9C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SACzE;QAED,MAAM,UAAU,GAAG,OAAyB,CAAC;QAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAoB,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,EAAE;YAC9B,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SACrC;QACD,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACnC,IAAY,EAAE,SAA0B,EAAE,KAAgB;IAC5D,OAAO,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAC,EAAE,EAAE;QAClC,MAAM,EAAC,CAAC,EAAC,GAAG,MAAqB,CAAC;QAClC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,EAAE;YAC9C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SACzE;QAED,MAAM,UAAU,GAAG,OAAyB,CAAC;QAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAoB,CAAC;QAClE,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;QAChC,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC,CAAC;AACJ,CAAC"}
|
||||
{"version":3,"file":"unary_utils.js","sourceRoot":"","sources":["../../src/utils/unary_utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAgD,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAG1F,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAI7C;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC3B,IAAY,EAAE,EAAwB,EAAE,KAAgB;IAC1D,OAAO,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAC,EAAE,EAAE;QAClC,MAAM,EAAC,CAAC,EAAC,GAAG,MAAqB,CAAC;QAClC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,EAAE;YAC9C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SACzE;QAED,MAAM,UAAU,GAAG,OAAyB,CAAC;QAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAoB,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,EAAE;YAC9B,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SACrC;QACD,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACnC,IAAY,EAAE,SAA0B,EAAE,KAAgB;IAC5D,OAAO,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAC,EAAE,EAAE;QAClC,MAAM,EAAC,CAAC,EAAC,GAAG,MAAqB,CAAC;QAClC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,EAAE;YAC9C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SACzE;QAED,MAAM,UAAU,GAAG,OAAyB,CAAC;QAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAoB,CAAC;QAClE,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;QAChC,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC,CAAC;AACJ,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {DataType, KernelFunc, TypedArray, UnaryInputs, util} from '@tensorflow/tfjs-core';\n\nimport {MathBackendCPU} from '../backend_cpu';\nimport {assertNotComplex} from '../cpu_util';\n\nimport {SimpleUnaryImpl, SimpleUnaryOperation} from './unary_types';\n\n/**\n * Template that creates a `KernelFunc` for unary ops.\n * @param name Kernel name.\n * @param op A `SimpleUnaryOperation` for the kernel.\n * @param dtype Optional. If set, the result has this dtype. Otherwise, the\n * result has the same dtype as the input. This is mainly used in certain\n * kernels that return bool type, such as isFinite, isInf, etc.\n */\nexport function unaryKernelFunc(\n name: string, op: SimpleUnaryOperation, dtype?: DataType): KernelFunc {\n return ({inputs, attrs, backend}) => {\n const {x} = inputs as UnaryInputs;\n assertNotComplex(x, name);\n if (x.dtype === 'string' || dtype === 'string') {\n throw new Error('unaryKernelFunc does not support string input/output');\n }\n\n const cpuBackend = backend as MathBackendCPU;\n const values = cpuBackend.data.get(x.dataId).values as TypedArray;\n const xSize = util.sizeFromShape(x.shape);\n const $dtype = dtype || x.dtype;\n const newValues = util.getArrayFromDType($dtype, xSize);\n for (let i = 0; i < xSize; ++i) {\n newValues[i] = op(values[i], attrs);\n }\n return cpuBackend.makeTensorInfo(x.shape, $dtype, newValues);\n };\n}\n\n/**\n * Template that creates a `KernelFunc` for unary ops from the given\n * `SimpleUnaryImpl`..\n * @param name Kernel name.\n * @param unaryImpl A `SimpleUnaryImpl` that implements the op.\n * @param dtype Optional. If set, the result has this dtype. Otherwise, the\n * result has the same dtype as the input. This is mainly used in certain\n * kernels that return bool type, such as isFinite, isInf, etc.\n */\nexport function unaryKernelFuncFromImpl(\n name: string, unaryImpl: SimpleUnaryImpl, dtype?: DataType): KernelFunc {\n return ({inputs, attrs, backend}) => {\n const {x} = inputs as UnaryInputs;\n assertNotComplex(x, name);\n if (x.dtype === 'string' || dtype === 'string') {\n throw new Error('unaryKernelFunc does not support string input/output');\n }\n\n const cpuBackend = backend as MathBackendCPU;\n const values = cpuBackend.data.get(x.dataId).values as TypedArray;\n const $dtype = dtype || x.dtype;\n const newValues = unaryImpl(values, $dtype, attrs);\n Line truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"zeros_impl.js","sourceRoot":"","sources":["../../src/utils/zeros_impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAuB,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CACjB,OAAuB,EAAE,KAAe,EACxC,QAAkB,SAAS;IAC7B,IAAI,KAAK,KAAK,WAAW,EAAE;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAE9C,OAAO,OAAO,CAAC,EAAC,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,EAAE,OAAO,EAAC,CAAC,CAAC;KACjD;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IAE1E,OAAO,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC"}
|
||||
{"version":3,"file":"zeros_impl.js","sourceRoot":"","sources":["../../src/utils/zeros_impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAuB,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CACjB,OAAuB,EAAE,KAAe,EACxC,QAAkB,SAAS;IAC7B,IAAI,KAAK,KAAK,WAAW,EAAE;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAE9C,OAAO,OAAO,CAAC,EAAC,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,EAAE,OAAO,EAAC,CAAC,CAAC;KACjD;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IAE1E,OAAO,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {DataType, TensorInfo, util} from '@tensorflow/tfjs-core';\nimport {MathBackendCPU} from '../backend_cpu';\nimport {complex} from '../kernels/Complex';\n\n/**\n * Generates a tensorInfo with all zeros value.\n * @param backend cpu backend.\n * @param shape Shape for the zeros tensor.\n * @param dtype Optional. If set, the result has this dtype.\n */\nexport function zeros(\n backend: MathBackendCPU, shape: number[],\n dtype: DataType = 'float32'): TensorInfo {\n if (dtype === 'complex64') {\n const real = zeros(backend, shape, 'float32');\n const imag = zeros(backend, shape, 'float32');\n\n return complex({inputs: {real, imag}, backend});\n }\n\n const values = util.makeZerosTypedArray(util.sizeFromShape(shape), dtype);\n\n return backend.makeTensorInfo(shape, dtype, values);\n}\n"]}
|
||||
Generated
Vendored
+34
-18
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2017 Google LLC. All Rights Reserved.
|
||||
* Copyright 2021 Google LLC. All Rights Reserved.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
@@ -39,6 +39,10 @@ export class MathBackendCPU extends KernelBackend {
|
||||
|
||||
data: DataStorage<TensorData<DataType>>;
|
||||
private firstUse = true;
|
||||
private static nextDataId = 0;
|
||||
private nextDataId(): number {
|
||||
return MathBackendCPU.nextDataId++;
|
||||
}
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
@@ -63,7 +67,7 @@ export class MathBackendCPU extends KernelBackend {
|
||||
'\n============================');
|
||||
}
|
||||
}
|
||||
const dataId = {};
|
||||
const dataId = {id: this.nextDataId()};
|
||||
|
||||
this.data.set(dataId, {values, dtype, refCount: 1});
|
||||
|
||||
@@ -93,6 +97,15 @@ export class MathBackendCPU extends KernelBackend {
|
||||
return {dataId: outId, shape, dtype};
|
||||
}
|
||||
|
||||
/** Return refCount of a `TensorData`. */
|
||||
refCount(dataId: DataId): number {
|
||||
if (this.data.has(dataId)) {
|
||||
const tensorData = this.data.get(dataId);
|
||||
return tensorData.refCount;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Increase refCount of a `TensorData`. */
|
||||
incRef(dataId: DataId): void {
|
||||
const tensorData = this.data.get(dataId);
|
||||
@@ -109,8 +122,8 @@ export class MathBackendCPU extends KernelBackend {
|
||||
|
||||
move(
|
||||
dataId: DataId, values: backend_util.BackendValues, shape: number[],
|
||||
dtype: DataType): void {
|
||||
this.data.set(dataId, {values, dtype, refCount: 1});
|
||||
dtype: DataType, refCount: number): void {
|
||||
this.data.set(dataId, {values, dtype, refCount});
|
||||
}
|
||||
|
||||
numDataIds(): number {
|
||||
@@ -155,31 +168,34 @@ export class MathBackendCPU extends KernelBackend {
|
||||
return engine().makeTensorFromDataId(dataId, shape, dtype, this) as T;
|
||||
}
|
||||
|
||||
disposeData(dataId: DataId): void {
|
||||
/**
|
||||
* Dispose the memory if the dataId has 0 refCount. Return true if the memory
|
||||
* is released or memory is not managed in this backend, false if memory is
|
||||
* not cleared.
|
||||
* @param dataId
|
||||
* @oaram force Optional, remove the data regardless of refCount
|
||||
*/
|
||||
disposeData(dataId: DataId, force = false): boolean {
|
||||
if (this.data.has(dataId)) {
|
||||
this.data.get(dataId).refCount--;
|
||||
if (!force && this.data.get(dataId).refCount > 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const {complexTensorInfos} = this.data.get(dataId);
|
||||
|
||||
if (complexTensorInfos != null) {
|
||||
this.disposeData(complexTensorInfos.real.dataId);
|
||||
this.disposeData(complexTensorInfos.imag.dataId);
|
||||
this.disposeData(complexTensorInfos.real.dataId, true);
|
||||
this.disposeData(complexTensorInfos.imag.dataId, true);
|
||||
}
|
||||
|
||||
this.data.delete(dataId);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
disposeIntermediateTensorInfo(tensorInfo: TensorInfo): void {
|
||||
const dataId = tensorInfo.dataId;
|
||||
|
||||
if (this.data.has(dataId)) {
|
||||
const tensorData = this.data.get(dataId);
|
||||
|
||||
tensorData.refCount--;
|
||||
|
||||
if (tensorData.refCount < 1) {
|
||||
this.disposeData(dataId);
|
||||
}
|
||||
}
|
||||
this.disposeData(tensorInfo.dataId);
|
||||
}
|
||||
|
||||
async time(f: () => void): Promise<BackendTimingInfo> {
|
||||
|
||||
Generated
Vendored
+2
-2
@@ -64,7 +64,7 @@ export function depthwiseConv2dNative(args: {
|
||||
const yOffset1 = b * y.strides[0];
|
||||
for (let yR = 0; yR < convInfo.outHeight; ++yR) {
|
||||
const yOffset2 = yOffset1 + yR * y.strides[1];
|
||||
const xRCorner = yR * convInfo.strideHeight - padLeft;
|
||||
const xRCorner = yR * convInfo.strideHeight - padTop;
|
||||
for (let wR = 0; wR < filterHeight; ++wR) {
|
||||
const xR = xRCorner + wR * dilationHeight;
|
||||
if (xR < 0 || xR >= convInfo.inHeight) {
|
||||
@@ -74,7 +74,7 @@ export function depthwiseConv2dNative(args: {
|
||||
const xOffset2 = xOffset1 + xR * xStrides[1];
|
||||
for (let yC = 0; yC < convInfo.outWidth; ++yC) {
|
||||
const yOffset3 = yOffset2 + yC * y.strides[2];
|
||||
const xCCorner = yC * convInfo.strideWidth - padTop;
|
||||
const xCCorner = yC * convInfo.strideWidth - padLeft;
|
||||
for (let wC = 0; wC < filterWidth; ++wC) {
|
||||
const xC = xCCorner + wC * dilationWidth;
|
||||
if (xC < 0 || xC >= convInfo.inWidth) {
|
||||
|
||||
Generated
Vendored
+102
@@ -0,0 +1,102 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2021 Google LLC. All Rights Reserved.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================================
|
||||
*/
|
||||
|
||||
import {backend_util, Einsum, EinsumAttrs, EinsumInputs, KernelConfig, KernelFunc, Tensor, TensorInfo, util} from '@tensorflow/tfjs-core';
|
||||
|
||||
import {MathBackendCPU} from '../backend_cpu';
|
||||
|
||||
import {multiply} from './Multiply';
|
||||
import {reshape} from './Reshape';
|
||||
import {sum} from './Sum';
|
||||
import {transpose} from './Transpose';
|
||||
|
||||
export function einsum(
|
||||
args: {inputs: EinsumInputs, backend: MathBackendCPU, attrs: EinsumAttrs}):
|
||||
TensorInfo {
|
||||
const {inputs, backend, attrs} = args;
|
||||
const {equation} = attrs;
|
||||
const tensors = inputs as Tensor[];
|
||||
|
||||
const {allDims, summedDims, idDims} =
|
||||
backend_util.decodeEinsumEquation(equation, tensors.length);
|
||||
backend_util.checkEinsumDimSizes(allDims.length, idDims, tensors);
|
||||
const {path, steps} = backend_util.getEinsumComputePath(summedDims, idDims);
|
||||
|
||||
const nSteps = steps.length;
|
||||
let out: TensorInfo|null = null;
|
||||
let numDimsRemaining = allDims.length;
|
||||
const tensorsToDispose: TensorInfo[] = [];
|
||||
for (let i = 0; i < nSteps; ++i) {
|
||||
for (const idTerm of steps[i]) {
|
||||
const {permutationIndices: perm, expandDims: dimsToExpand} =
|
||||
backend_util.getEinsumPermutation(numDimsRemaining, idDims[idTerm]);
|
||||
let x: TensorInfo;
|
||||
if (backend_util.isIdentityPermutation(perm)) {
|
||||
x = tensors[idTerm];
|
||||
} else {
|
||||
x = transpose({inputs: {x: tensors[idTerm]}, backend, attrs: {perm}});
|
||||
tensorsToDispose.push(x);
|
||||
}
|
||||
const targetShape: number[] = x.shape.slice();
|
||||
for (let k = 0; k < dimsToExpand.length; ++k) {
|
||||
targetShape.splice(dimsToExpand[k], 0, 1);
|
||||
}
|
||||
|
||||
if (!util.arraysEqual(x.shape, targetShape)) {
|
||||
x = reshape({inputs: {x}, backend, attrs: {shape: targetShape}});
|
||||
tensorsToDispose.push(x);
|
||||
}
|
||||
if (out === null) {
|
||||
out = x;
|
||||
} else {
|
||||
// tslint:disable-next-line: no-unnecessary-type-assertion
|
||||
out = multiply({inputs: {a: x, b: out}, backend}) as TensorInfo;
|
||||
tensorsToDispose.push(out);
|
||||
}
|
||||
}
|
||||
if (i < nSteps - 1) {
|
||||
if (path[i] >= 0) {
|
||||
out = sum({
|
||||
inputs: {x: out},
|
||||
backend,
|
||||
attrs: {
|
||||
axis: path[i] - (allDims.length - numDimsRemaining),
|
||||
keepDims: false
|
||||
}
|
||||
});
|
||||
tensorsToDispose.push(out);
|
||||
}
|
||||
numDimsRemaining--;
|
||||
}
|
||||
}
|
||||
|
||||
// Clean up intermediate tensors.
|
||||
for (const tensorInfo of tensorsToDispose) {
|
||||
if (tensorInfo === out) {
|
||||
continue;
|
||||
}
|
||||
backend.disposeIntermediateTensorInfo(tensorInfo);
|
||||
}
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
export const einsumConfig: KernelConfig = {
|
||||
kernelName: Einsum,
|
||||
backendName: 'cpu',
|
||||
kernelFunc: einsum as {} as KernelFunc
|
||||
};
|
||||
Generated
Vendored
+76
@@ -0,0 +1,76 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2021 Google LLC. All Rights Reserved.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================================
|
||||
*/
|
||||
|
||||
import {KernelConfig, KernelFunc, SparseFillEmptyRows, SparseFillEmptyRowsInputs, TensorInfo, TypedArray} from '@tensorflow/tfjs-core';
|
||||
|
||||
import {MathBackendCPU} from '../backend_cpu';
|
||||
|
||||
import {sparseFillEmptyRowsImpl} from './SparseFillEmptyRows_impl';
|
||||
|
||||
export function sparseFillEmptyRows(args: {
|
||||
inputs: SparseFillEmptyRowsInputs,
|
||||
backend: MathBackendCPU
|
||||
}): [TensorInfo, TensorInfo, TensorInfo, TensorInfo] {
|
||||
const {inputs, backend} = args;
|
||||
const {indices, values, denseShape, defaultValue} = inputs;
|
||||
if (denseShape.shape.length !== 1) {
|
||||
throw new Error(`Dense shape must be a vector, saw:
|
||||
${denseShape.shape}`);
|
||||
}
|
||||
if (indices.shape.length !== 2) {
|
||||
throw new Error(`Indices must be a matrix, saw:
|
||||
${indices.shape}`);
|
||||
}
|
||||
if (values.shape.length !== 1) {
|
||||
throw new Error(`Values must be a vector, saw:
|
||||
${values.shape}`);
|
||||
}
|
||||
if (defaultValue.shape.length !== 0) {
|
||||
throw new Error(`Default value must be a scalar, saw:
|
||||
${defaultValue.shape}`);
|
||||
}
|
||||
|
||||
const $indices = backend.data.get(indices.dataId).values as TypedArray;
|
||||
const $values = backend.data.get(values.dataId).values as TypedArray;
|
||||
const $denseShape = backend.data.get(denseShape.dataId).values as TypedArray;
|
||||
const $defaultValue =
|
||||
backend.data.get(defaultValue.dataId).values[0] as number;
|
||||
|
||||
const [outputIndices, outputIndicesShape, outputValues,
|
||||
emptyRowIndicator, reverseIndexMap] =
|
||||
sparseFillEmptyRowsImpl(
|
||||
$indices, indices.shape, indices.dtype, $values, values.dtype,
|
||||
$denseShape, $defaultValue);
|
||||
return [
|
||||
backend.makeTensorInfo(outputIndicesShape, indices.dtype, outputIndices),
|
||||
backend.makeTensorInfo(
|
||||
[outputIndicesShape[0]], values.dtype, outputValues),
|
||||
backend.makeTensorInfo(
|
||||
[emptyRowIndicator.length], 'bool',
|
||||
new Uint8Array(
|
||||
emptyRowIndicator.map((value: boolean) => Number(value)))),
|
||||
backend.makeTensorInfo(
|
||||
[reverseIndexMap.length], indices.dtype,
|
||||
new Int32Array(reverseIndexMap)),
|
||||
];
|
||||
}
|
||||
|
||||
export const sparseFillEmptyRowsConfig: KernelConfig = {
|
||||
kernelName: SparseFillEmptyRows,
|
||||
backendName: 'cpu',
|
||||
kernelFunc: sparseFillEmptyRows as {} as KernelFunc,
|
||||
};
|
||||
Generated
Vendored
+137
@@ -0,0 +1,137 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2021 Google LLC. All Rights Reserved.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================================
|
||||
*/
|
||||
|
||||
import {DataType, TypedArray, util} from '@tensorflow/tfjs-core';
|
||||
|
||||
export function sparseFillEmptyRowsImpl(
|
||||
indices: TypedArray, indicesShape: number[], indicesDType: DataType,
|
||||
values: TypedArray, valuesDType: DataType, denseShape: TypedArray,
|
||||
defaultValue: number):
|
||||
[TypedArray, number[], TypedArray, boolean[], number[]] {
|
||||
const indicesCount = indicesShape[0];
|
||||
const denseRows = denseShape[0];
|
||||
|
||||
const emptyRowIndicator: boolean[] = new Array(denseRows);
|
||||
const reverseIndexMap: number[] = new Array(indicesCount);
|
||||
|
||||
const rank = indicesShape[1];
|
||||
|
||||
if (denseRows === 0) {
|
||||
if (indicesCount !== 0) {
|
||||
throw new Error(`Received SparseTensor with denseShape[0] = 0 but
|
||||
indices.shape[0] = ${indicesCount}`);
|
||||
}
|
||||
const outputIndices = util.getArrayFromDType(indicesDType, 0) as TypedArray;
|
||||
const outputValues = util.getArrayFromDType(valuesDType, 0) as TypedArray;
|
||||
return [
|
||||
outputIndices, [0, rank], outputValues, emptyRowIndicator, reverseIndexMap
|
||||
];
|
||||
}
|
||||
|
||||
let rowsAreOrdered = true;
|
||||
let lastIndicesRow = 0;
|
||||
const csrOffset: number[] = new Array(denseRows).fill(0);
|
||||
|
||||
for (let i = 0; i < indicesCount; ++i) {
|
||||
// indices is a 2d tensor with shape of [N, rank]
|
||||
const row = indices[i * rank];
|
||||
if (row < 0) {
|
||||
throw new Error(`indices(${i}, 0) is invalid: ${row} < 0`);
|
||||
}
|
||||
if (row >= denseRows) {
|
||||
throw new Error(`indices(${i}, 0) is invalid: ${row} >= ${denseRows}`);
|
||||
}
|
||||
++csrOffset[row];
|
||||
rowsAreOrdered = rowsAreOrdered && (row >= lastIndicesRow);
|
||||
lastIndicesRow = row;
|
||||
}
|
||||
|
||||
let allRowsFull = true;
|
||||
for (let row = 0; row < denseRows; ++row) {
|
||||
// csrOffset here describes the number of elements in this dense row
|
||||
const rowEmpty = (csrOffset[row] === 0);
|
||||
emptyRowIndicator[row] = rowEmpty;
|
||||
allRowsFull = allRowsFull && !rowEmpty;
|
||||
// In filled version, each row has at least one element.
|
||||
csrOffset[row] = Math.max(csrOffset[row], 1);
|
||||
// Update csrOffset to represent the number of elements up to and
|
||||
// including denseRows + 1:
|
||||
// csrOffset[0] == #{elements of row 0}
|
||||
// csrOffset[1] == #{elements of row 1} + #{elements of row 0}
|
||||
// ..
|
||||
// csrOffset[i] == starting index for elements in row i + 1.
|
||||
if (row > 0) {
|
||||
csrOffset[row] += csrOffset[row - 1];
|
||||
}
|
||||
}
|
||||
|
||||
if (allRowsFull && rowsAreOrdered) {
|
||||
const outputIndices: TypedArray = indices;
|
||||
const outputValues: TypedArray = values;
|
||||
for (let i = 0; i < indicesCount; ++i) {
|
||||
reverseIndexMap[i] = i;
|
||||
}
|
||||
return [
|
||||
outputIndices, [indicesCount, rank], outputValues, emptyRowIndicator,
|
||||
reverseIndexMap
|
||||
];
|
||||
} else {
|
||||
const fullIndicesCount = csrOffset[denseRows - 1];
|
||||
const outputIndices =
|
||||
util.getArrayFromDType(indicesDType, fullIndicesCount * rank) as
|
||||
TypedArray;
|
||||
const outputValues =
|
||||
util.getArrayFromDType(valuesDType, fullIndicesCount) as TypedArray;
|
||||
const filledCount: number[] = new Array(denseRows).fill(0);
|
||||
|
||||
// Fill in values for rows that are not missing
|
||||
for (let i = 0; i < indicesCount; ++i) {
|
||||
// indices is a 2d tensor with shape of [N, rank]
|
||||
const row = indices[i * rank];
|
||||
const offset = filledCount[row];
|
||||
const outputI = ((row === 0) ? 0 : csrOffset[row - 1]) + offset;
|
||||
filledCount[row]++; // Increment the filled count for this row.
|
||||
for (let j = 0; j < rank; ++j) {
|
||||
// indices and outputIndices are 2d tensors with shape of [N, rank]
|
||||
outputIndices[outputI * rank + j] = indices[i * rank + j];
|
||||
}
|
||||
outputValues[outputI] = values[i];
|
||||
// We'll need this reverse index map to backprop correctly.
|
||||
reverseIndexMap[i] = outputI;
|
||||
}
|
||||
|
||||
// Fill in values for rows that are missing
|
||||
for (let row = 0; row < denseRows; ++row) {
|
||||
const rowCount = filledCount[row];
|
||||
if (rowCount === 0) { // We haven't filled this row
|
||||
const startingIndex = (row === 0) ? 0 : csrOffset[row - 1];
|
||||
// Remaining index values were set to zero already.
|
||||
// Just need to set the row index in the right location.
|
||||
// outputIndices is a 2d tensor with shape of [N, rank]
|
||||
outputIndices[startingIndex * rank + 0] = row;
|
||||
for (let col = 1; col < rank; ++col) {
|
||||
outputIndices[startingIndex * rank + col] = 0;
|
||||
}
|
||||
outputValues[startingIndex] = defaultValue;
|
||||
}
|
||||
}
|
||||
return [
|
||||
outputIndices, [indicesCount, rank], outputValues, emptyRowIndicator,
|
||||
reverseIndexMap
|
||||
];
|
||||
}
|
||||
}
|
||||
Generated
Vendored
+64
@@ -0,0 +1,64 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2021 Google LLC. All Rights Reserved.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================================
|
||||
*/
|
||||
|
||||
import {KernelConfig, SparseReshape, SparseReshapeInputs, TensorInfo, TypedArray} from '@tensorflow/tfjs-core';
|
||||
|
||||
import {MathBackendCPU} from '../backend_cpu';
|
||||
|
||||
import {sparseReshapeImpl} from './SparseReshape_impl';
|
||||
|
||||
export function sparseReshape(
|
||||
args: {inputs: SparseReshapeInputs, backend: MathBackendCPU}):
|
||||
[TensorInfo, TensorInfo] {
|
||||
const {inputs, backend} = args;
|
||||
const {inputIndices, inputShape, newShape} = inputs;
|
||||
if (inputIndices.shape.length !== 2) {
|
||||
throw new Error(`Input indices should be a matrix but received shape
|
||||
${inputIndices.shape}`);
|
||||
}
|
||||
if (inputShape.shape.length !== 1) {
|
||||
throw new Error(`Input shape should be a vector but received shape
|
||||
${inputShape.shape}`);
|
||||
}
|
||||
|
||||
if (newShape.shape.length !== 1) {
|
||||
throw new Error(
|
||||
`Target shape should be a vector but received shape ${newShape.shape}`);
|
||||
}
|
||||
|
||||
const $inputShape =
|
||||
Array.from(backend.data.get(inputShape.dataId).values as TypedArray);
|
||||
const $inputIndices =
|
||||
backend.data.get(inputIndices.dataId).values as TypedArray;
|
||||
const targetShape =
|
||||
Array.from(backend.data.get(newShape.dataId).values as TypedArray);
|
||||
|
||||
const [newIndices, indicesShape, outputShape] = sparseReshapeImpl(
|
||||
$inputIndices, inputIndices.shape, inputIndices.dtype, $inputShape,
|
||||
targetShape);
|
||||
return [
|
||||
backend.makeTensorInfo(indicesShape, inputIndices.dtype, newIndices),
|
||||
backend.makeTensorInfo(
|
||||
[outputShape.length], newShape.dtype, new Int32Array(outputShape)),
|
||||
];
|
||||
}
|
||||
|
||||
export const sparseReshapeConfig: KernelConfig = {
|
||||
kernelName: SparseReshape,
|
||||
backendName: 'cpu',
|
||||
kernelFunc: sparseReshape,
|
||||
};
|
||||
Generated
Vendored
+105
@@ -0,0 +1,105 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2021 Google LLC. All Rights Reserved.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================================
|
||||
*/
|
||||
|
||||
import {DataType, TypedArray, util} from '@tensorflow/tfjs-core';
|
||||
|
||||
export function sparseReshapeImpl(
|
||||
inputIndices: TypedArray, inputIndicesShape: number[], inputDType: DataType,
|
||||
inputShape: number[],
|
||||
targetShape: number[]): [TypedArray, number[], number[]] {
|
||||
const denseSize = util.sizeFromShape(inputShape);
|
||||
const nnz = inputIndicesShape[0];
|
||||
const outputRank = targetShape.length;
|
||||
|
||||
// Compute the output shape. Determine product of specified dimensions, and
|
||||
// find the index of the unspecified one.
|
||||
const outputShape: number[] = [];
|
||||
let product = 1;
|
||||
let unknownIndex = -1;
|
||||
for (let d = 0; d < outputRank; ++d) {
|
||||
const size = targetShape[d];
|
||||
if (size === -1) {
|
||||
if (unknownIndex !== -1) {
|
||||
throw new Error(`only one output dimension may be -1, not both ${
|
||||
unknownIndex} and ${d}`);
|
||||
}
|
||||
unknownIndex = d;
|
||||
outputShape.push(1);
|
||||
} else {
|
||||
if (size < 0) {
|
||||
throw new Error(`size ${d} must be non-negative, not ${size}`);
|
||||
}
|
||||
product *= size;
|
||||
outputShape.push(size);
|
||||
}
|
||||
}
|
||||
if (unknownIndex !== -1) {
|
||||
if (product <= 0) {
|
||||
throw new Error(
|
||||
'reshape cannot infer the missing ' +
|
||||
'input size for an empty tensor unless all ' +
|
||||
'specified input sizes are non-zero');
|
||||
}
|
||||
const missing = Math.trunc(denseSize / product);
|
||||
if (product * missing !== denseSize) {
|
||||
throw new Error(`Input to reshape is a SparseTensor with ${denseSize}
|
||||
dense values, but the requested shape requires a multiple of ${
|
||||
product}. inputShape=${inputShape} outputShape= ${outputShape}`);
|
||||
}
|
||||
|
||||
outputShape[unknownIndex] = missing;
|
||||
}
|
||||
const outputSize = util.sizeFromShape(outputShape);
|
||||
if (outputSize !== denseSize) {
|
||||
throw new Error(`Input to reshape is a tensor with ${
|
||||
denseSize} dense values, but the requested shape has ${
|
||||
outputSize}. inputShape=${inputShape} outputShape=${outputShape}`);
|
||||
}
|
||||
|
||||
const inputRank = inputShape.length;
|
||||
const inputStrides: number[] = [];
|
||||
if (inputRank > 0) {
|
||||
inputStrides[inputRank - 1] = 1;
|
||||
for (let d = inputRank - 2; d >= 0; --d) {
|
||||
inputStrides[d] = inputStrides[d + 1] * inputShape[d + 1];
|
||||
}
|
||||
}
|
||||
|
||||
const outputStrides: number[] = [];
|
||||
if (outputRank > 0) {
|
||||
outputStrides[outputRank - 1] = 1;
|
||||
for (let d = outputRank - 2; d >= 0; --d) {
|
||||
outputStrides[d] = outputStrides[d + 1] * outputShape[d + 1];
|
||||
}
|
||||
}
|
||||
|
||||
const newIndices =
|
||||
util.getArrayFromDType(inputDType, nnz * outputRank) as TypedArray;
|
||||
for (let i = 0; i < nnz; ++i) {
|
||||
let id = 0;
|
||||
for (let j = 0; j < inputRank; ++j) {
|
||||
// inputIndices is a 2d tensor with shape of [nnz, inputRank]
|
||||
id += inputIndices[i * inputRank + j] * inputStrides[j];
|
||||
}
|
||||
for (let j = 0; j < outputRank; ++j) {
|
||||
// newIndices is a 2d tensor with shape of [nnz, outputRank]
|
||||
newIndices[i * outputRank + j] = Math.trunc(id / outputStrides[j]);
|
||||
id %= outputStrides[j];
|
||||
}
|
||||
}
|
||||
return [newIndices, [nnz, outputRank], outputShape];
|
||||
}
|
||||
Generated
Vendored
+251
@@ -0,0 +1,251 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2021 Google LLC. All Rights Reserved.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =============================================================================
|
||||
*/
|
||||
|
||||
import {KernelConfig, KernelFunc, NumericDataType, TensorInfo, Transform, TransformAttrs, TransformInputs, TypedArray, util} from '@tensorflow/tfjs-core';
|
||||
|
||||
import {MathBackendCPU} from '../backend_cpu';
|
||||
|
||||
export function transform(args: {
|
||||
inputs: TransformInputs,
|
||||
attrs: TransformAttrs,
|
||||
backend: MathBackendCPU
|
||||
}): TensorInfo {
|
||||
const {inputs, attrs, backend} = args;
|
||||
const {image, transforms} = inputs;
|
||||
const {interpolation, fillMode, fillValue, outputShape} = attrs;
|
||||
|
||||
const [batch, imageHeight, imageWidth, numChannels] = image.shape;
|
||||
const [outHeight, outWidth] =
|
||||
outputShape != null ? outputShape : [imageHeight, imageWidth];
|
||||
const outShape = [batch, outHeight, outWidth, numChannels];
|
||||
|
||||
const strides = util.computeStrides(image.shape);
|
||||
const batchStride = strides[0];
|
||||
const rowStride = strides[1];
|
||||
const colStride = strides[2];
|
||||
|
||||
const outVals = util.getTypedArrayFromDType(
|
||||
image.dtype as NumericDataType, util.sizeFromShape(outShape));
|
||||
|
||||
outVals.fill(fillValue);
|
||||
|
||||
const imageVals = backend.data.get(image.dataId).values as TypedArray;
|
||||
const transformVals =
|
||||
backend.data.get(transforms.dataId).values as TypedArray;
|
||||
|
||||
// Ref TF implementation:
|
||||
// https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/image/image_ops.h
|
||||
for (let b = 0; b < batch; ++b) {
|
||||
const transform = transforms.shape[0] === 1 ?
|
||||
transformVals :
|
||||
transformVals.subarray(b * 8, b * 8 + 8);
|
||||
|
||||
for (let outY = 0; outY < outHeight; ++outY) {
|
||||
for (let outX = 0; outX < outWidth; ++outX) {
|
||||
for (let channel = 0; channel < numChannels; ++channel) {
|
||||
let val;
|
||||
|
||||
const projection = transform[6] * outX + transform[7] * outY + 1;
|
||||
|
||||
if (projection === 0) {
|
||||
// Return the fill value for infinite coordinates,
|
||||
// which are outside the input image
|
||||
continue;
|
||||
}
|
||||
|
||||
const inX =
|
||||
(transform[0] * outX + transform[1] * outY + transform[2]) /
|
||||
projection;
|
||||
const inY =
|
||||
(transform[3] * outX + transform[4] * outY + transform[5]) /
|
||||
projection;
|
||||
|
||||
const x = mapCoord(inX, imageWidth, fillMode);
|
||||
const y = mapCoord(inY, imageHeight, fillMode);
|
||||
|
||||
switch (interpolation) {
|
||||
case 'nearest':
|
||||
val = nearestInterpolation(
|
||||
imageVals, imageHeight, imageWidth, batchStride, rowStride,
|
||||
colStride, b, y, x, channel, fillValue);
|
||||
break;
|
||||
case 'bilinear':
|
||||
val = bilinearInterpolation(
|
||||
imageVals, imageHeight, imageWidth, batchStride, rowStride,
|
||||
colStride, b, y, x, channel, fillValue);
|
||||
break;
|
||||
default:
|
||||
throw new Error(
|
||||
`Error in Transform: Expect 'nearest' or ` +
|
||||
`'bilinear', but got ${interpolation}`);
|
||||
}
|
||||
|
||||
const ind =
|
||||
b * batchStride + outY * rowStride + outX * colStride + channel;
|
||||
|
||||
outVals[ind] = val;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return backend.makeTensorInfo(outShape, image.dtype, outVals);
|
||||
}
|
||||
|
||||
const dataId = backend.write(outVals, outShape, image.dtype);
|
||||
return {dataId, shape: image.shape, dtype: image.dtype};
|
||||
}
|
||||
|
||||
export const transformConfig: KernelConfig = {
|
||||
kernelName: Transform,
|
||||
backendName: 'cpu',
|
||||
kernelFunc: transform as {} as KernelFunc
|
||||
};
|
||||
|
||||
function mapCoord(
|
||||
outCoord: number, len: number,
|
||||
mode: 'constant'|'reflect'|'wrap'|'nearest') {
|
||||
switch (mode) {
|
||||
case 'reflect':
|
||||
return mapCoordReflect(outCoord, len);
|
||||
case 'wrap':
|
||||
return mapCoordWrap(outCoord, len);
|
||||
case 'nearest':
|
||||
return mapCoordNearest(outCoord, len);
|
||||
case 'constant':
|
||||
default:
|
||||
return mapCoordConstant(outCoord, len);
|
||||
}
|
||||
}
|
||||
|
||||
function mapCoordReflect(outCoord: number, len: number): number {
|
||||
// Reflect [abcd] to [dcba|abcd|dcba].
|
||||
let inCoord = outCoord;
|
||||
if (inCoord < 0) {
|
||||
if (len <= 1) {
|
||||
inCoord = 0;
|
||||
} else {
|
||||
const sz2 = 2 * len;
|
||||
if (inCoord < sz2) {
|
||||
inCoord = sz2 * Math.trunc(-inCoord / sz2) + inCoord;
|
||||
}
|
||||
inCoord = inCoord < -len ? inCoord + sz2 : -inCoord - 1;
|
||||
}
|
||||
} else if (inCoord > len - 1) {
|
||||
if (len <= 1) {
|
||||
inCoord = 0;
|
||||
} else {
|
||||
const sz2 = 2 * len;
|
||||
inCoord -= sz2 * Math.trunc(inCoord / sz2);
|
||||
if (inCoord >= len) {
|
||||
inCoord = sz2 - inCoord - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
// clamp is necessary because when outCoord = 3.5 and len = 4,
|
||||
// inCoord = 3.5 and will be rounded to 4 in nearest interpolation.
|
||||
return util.clamp(0, inCoord, len - 1);
|
||||
}
|
||||
|
||||
function mapCoordWrap(outCoord: number, len: number): number {
|
||||
// Wrap [abcd] to [abcd|abcd|abcd].
|
||||
let inCoord = outCoord;
|
||||
if (inCoord < 0) {
|
||||
if (len <= 1) {
|
||||
inCoord = 0;
|
||||
} else {
|
||||
const sz = len - 1;
|
||||
inCoord += len * (Math.trunc(-inCoord / sz) + 1);
|
||||
}
|
||||
} else if (inCoord > len - 1) {
|
||||
if (len <= 1) {
|
||||
inCoord = 0;
|
||||
} else {
|
||||
const sz = len - 1;
|
||||
inCoord -= len * Math.trunc(inCoord / sz);
|
||||
}
|
||||
}
|
||||
// clamp is necessary because when outCoord = -0.5 and len = 4,
|
||||
// inCoord = 3.5 and will be rounded to 4 in nearest interpolation.
|
||||
return util.clamp(0, inCoord, len - 1);
|
||||
}
|
||||
|
||||
function mapCoordConstant(outCoord: number, len: number): number {
|
||||
return outCoord;
|
||||
}
|
||||
|
||||
function mapCoordNearest(outCoord: number, len: number): number {
|
||||
return util.clamp(0, outCoord, len - 1);
|
||||
}
|
||||
|
||||
function readWithFillValue(
|
||||
imageVals: TypedArray, imageHeight: number, imageWidth: number,
|
||||
batchStride: number, rowStride: number, colStride: number, batch: number,
|
||||
y: number, x: number, channel: number, fillValue: number): number {
|
||||
const ind = batch * batchStride + y * rowStride + x * colStride + channel;
|
||||
if (0 <= y && y < imageHeight && 0 <= x && x < imageWidth) {
|
||||
return imageVals[ind];
|
||||
} else {
|
||||
return fillValue;
|
||||
}
|
||||
}
|
||||
|
||||
function nearestInterpolation(
|
||||
imageVals: TypedArray, imageHeight: number, imageWidth: number,
|
||||
batchStride: number, rowStride: number, colStride: number, batch: number,
|
||||
y: number, x: number, channel: number, fillValue: number): number {
|
||||
const $y = Math.round(y);
|
||||
const $x = Math.round(x);
|
||||
|
||||
return readWithFillValue(
|
||||
imageVals, imageHeight, imageWidth, batchStride, rowStride, colStride,
|
||||
batch, $y, $x, channel, fillValue);
|
||||
}
|
||||
|
||||
function bilinearInterpolation(
|
||||
imageVals: TypedArray, imageHeight: number, imageWidth: number,
|
||||
batchStride: number, rowStride: number, colStride: number, batch: number,
|
||||
y: number, x: number, channel: number, fillValue: number) {
|
||||
const yFloor = Math.floor(y);
|
||||
const xFloor = Math.floor(x);
|
||||
const yCeil = yFloor + 1;
|
||||
const xCeil = xFloor + 1;
|
||||
// f(x, yFloor) = (xCeil - x) / (xCeil - xFloor) * f(xFloor, yFloor)
|
||||
// + (x - xFloor) / (xCeil - xFloor) * f(xCeil, yFloor)
|
||||
const valueYFloor =
|
||||
(xCeil - x) *
|
||||
readWithFillValue(
|
||||
imageVals, imageHeight, imageWidth, batchStride, rowStride,
|
||||
colStride, batch, yFloor, xFloor, channel, fillValue) +
|
||||
(x - xFloor) *
|
||||
readWithFillValue(
|
||||
imageVals, imageHeight, imageWidth, batchStride, rowStride,
|
||||
colStride, batch, yFloor, xCeil, channel, fillValue);
|
||||
// f(x, yCeil) = (xCeil - x) / (xCeil - xFloor) * f(xFloor, yCeil)
|
||||
// + (x - xFloor) / (xCeil - xFloor) * f(xCeil, yCeil)
|
||||
const valueYCeil =
|
||||
(xCeil - x) *
|
||||
readWithFillValue(
|
||||
imageVals, imageHeight, imageWidth, batchStride, rowStride,
|
||||
colStride, batch, yCeil, xFloor, channel, fillValue) +
|
||||
(x - xFloor) *
|
||||
readWithFillValue(
|
||||
imageVals, imageHeight, imageWidth, batchStride, rowStride,
|
||||
colStride, batch, yCeil, xCeil, channel, fillValue);
|
||||
// f(x, y) = (yCeil - y) / (yCeil - yFloor) * f(x, yFloor)
|
||||
// + (y - yFloor) / (yCeil - yFloor) * f(x, yCeil)
|
||||
return (yCeil - y) * valueYFloor + (y - yFloor) * valueYCeil;
|
||||
}
|
||||
Generated
Vendored
+8
@@ -67,6 +67,7 @@ import {diagConfig} from './kernels/Diag';
|
||||
import {dilation2dConfig} from './kernels/Dilation2D';
|
||||
import {dilation2dBackpropFilterConfig} from './kernels/Dilation2DBackpropFilter';
|
||||
import {dilation2dBackpropInputConfig} from './kernels/Dilation2DBackpropInput';
|
||||
import {einsumConfig} from './kernels/Einsum';
|
||||
import {eluConfig} from './kernels/Elu';
|
||||
import {eluGradConfig} from './kernels/EluGrad';
|
||||
import {equalConfig} from './kernels/Equal';
|
||||
@@ -154,6 +155,8 @@ import {sliceConfig} from './kernels/Slice';
|
||||
import {softmaxConfig} from './kernels/Softmax';
|
||||
import {softplusConfig} from './kernels/Softplus';
|
||||
import {spaceToBatchNDConfig} from './kernels/SpaceToBatchND';
|
||||
import {sparseFillEmptyRowsConfig} from './kernels/SparseFillEmptyRows';
|
||||
import {sparseReshapeConfig} from './kernels/SparseReshape';
|
||||
import {sparseToDenseConfig} from './kernels/SparseToDense';
|
||||
import {splitVConfig} from './kernels/SplitV';
|
||||
import {sqrtConfig} from './kernels/Sqrt';
|
||||
@@ -167,6 +170,7 @@ import {tanConfig} from './kernels/Tan';
|
||||
import {tanhConfig} from './kernels/Tanh';
|
||||
import {tileConfig} from './kernels/Tile';
|
||||
import {topKConfig} from './kernels/TopK';
|
||||
import {transformConfig} from './kernels/Transform';
|
||||
import {transposeConfig} from './kernels/Transpose';
|
||||
import {uniqueConfig} from './kernels/Unique';
|
||||
import {unpackConfig} from './kernels/Unpack';
|
||||
@@ -224,6 +228,7 @@ const kernelConfigs: KernelConfig[] = [
|
||||
dilation2dBackpropInputConfig,
|
||||
dilation2dBackpropFilterConfig,
|
||||
realDivConfig,
|
||||
einsumConfig,
|
||||
eluConfig,
|
||||
eluGradConfig,
|
||||
equalConfig,
|
||||
@@ -310,6 +315,8 @@ const kernelConfigs: KernelConfig[] = [
|
||||
softmaxConfig,
|
||||
softplusConfig,
|
||||
spaceToBatchNDConfig,
|
||||
sparseFillEmptyRowsConfig,
|
||||
sparseReshapeConfig,
|
||||
sparseToDenseConfig,
|
||||
splitVConfig,
|
||||
sqrtConfig,
|
||||
@@ -324,6 +331,7 @@ const kernelConfigs: KernelConfig[] = [
|
||||
tileConfig,
|
||||
topKConfig,
|
||||
transposeConfig,
|
||||
transformConfig,
|
||||
uniqueConfig,
|
||||
unpackConfig,
|
||||
unsortedSegmentSumConfig,
|
||||
|
||||
Generated
Vendored
+2
@@ -39,6 +39,8 @@ export {prodImpl} from './kernels/Prod';
|
||||
export {rangeImpl} from './kernels/Range_impl';
|
||||
export {rsqrtImpl} from './kernels/Rsqrt';
|
||||
export {sliceImpl} from './kernels/Slice';
|
||||
export {sparseFillEmptyRowsImpl} from './kernels/SparseFillEmptyRows_impl';
|
||||
export {sparseReshapeImpl} from './kernels/SparseReshape_impl';
|
||||
export {squaredDifferenceImpl} from './kernels/SquaredDifference';
|
||||
export {stridedSliceImpl} from './kernels/StridedSlice_impl';
|
||||
export {subImpl} from './kernels/Sub';
|
||||
|
||||
Generated
Vendored
+3
@@ -24,6 +24,7 @@ import {leakyRelu} from '../kernels/LeakyRelu';
|
||||
import {prelu} from '../kernels/Prelu';
|
||||
import {relu} from '../kernels/Relu';
|
||||
import {relu6} from '../kernels/Relu6';
|
||||
import {sigmoid} from '../kernels/Sigmoid';
|
||||
|
||||
export function applyActivation(
|
||||
backend: MathBackendCPU, x: TensorInfo, activation: backend_util.Activation,
|
||||
@@ -40,6 +41,8 @@ export function applyActivation(
|
||||
return prelu({inputs: {x, alpha: preluActivationWeights}, backend});
|
||||
} else if (activation === 'leakyrelu') {
|
||||
return leakyRelu({inputs: {x}, backend, attrs: {alpha: leakyreluAlpha}});
|
||||
} else if (activation === 'sigmoid') {
|
||||
return sigmoid({inputs: {x}, backend}) as TensorInfo;
|
||||
}
|
||||
throw new Error(
|
||||
`Activation ${activation} has not been implemented for the CPU backend.`);
|
||||
|
||||
Generated
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
/** @license See the LICENSE file. */
|
||||
|
||||
// This code is auto-generated, do not modify this file!
|
||||
const version = '3.0.0';
|
||||
const version = '3.6.0';
|
||||
export {version};
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"addn_gpu.js","sourceRoot":"","sources":["../src/addn_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,OAAO,WAAW;IAKtB,YAAY,WAAqB,EAAE,MAAkB;QAHrD,gBAAW,GAAa,EAAE,CAAC;QAIzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,+CAA+C;QAC/C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACpC,QAAQ,CAAC,IAAI,CAAC,UAAU,QAAQ,SAAS,QAAQ,gBAAgB,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,qCAAqC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa;aACb,GAAG,CAAC,QAAQ,CAAC,EAAE;YACd,OAAO,IAAI,QAAQ,EAAE,CAAC;QACxB,CAAC,CAAC;aACD,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,CAAC,QAAQ,GAAG;;UAEV,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;;yBAEZ,SAAS;;;KAG7B,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"addn_gpu.js","sourceRoot":"","sources":["../src/addn_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,OAAO,WAAW;IAKtB,YAAY,WAAqB,EAAE,MAAkB;QAHrD,gBAAW,GAAa,EAAE,CAAC;QAIzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,+CAA+C;QAC/C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACpC,QAAQ,CAAC,IAAI,CAAC,UAAU,QAAQ,SAAS,QAAQ,gBAAgB,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,qCAAqC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa;aACb,GAAG,CAAC,QAAQ,CAAC,EAAE;YACd,OAAO,IAAI,QAAQ,EAAE,CAAC;QACxB,CAAC,CAAC;aACD,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,CAAC,QAAQ,GAAG;;UAEV,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;;yBAEZ,SAAS;;;KAG7B,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class AddNProgram implements GPGPUProgram {\n variableNames: string[];\n outputShape: number[] = [];\n userCode: string;\n\n constructor(outputShape: number[], shapes: number[][]) {\n this.outputShape = outputShape;\n this.variableNames = shapes.map((_, i) => `T${i}`);\n\n const snippets: string[] = [];\n // Get target elements from every input tensor.\n this.variableNames.forEach(variable => {\n snippets.push(`float v${variable} = get${variable}AtOutCoords();`);\n });\n\n // Calculate the sum of all elements.\n const operation = this.variableNames\n .map(variable => {\n return `v${variable}`;\n })\n .join(' + ');\n\n this.userCode = `\n void main() {\n ${snippets.join('\\n ')}\n\n float result = ${operation};\n setOutput(result);\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"addn_packed_gpu.js","sourceRoot":"","sources":["../src/addn_packed_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,OAAO,iBAAiB;IAO5B,YAAY,WAAqB,EAAE,MAAkB;QALrD,gBAAW,GAAa,EAAE,CAAC;QAE3B,iBAAY,GAAG,IAAI,CAAC;QACpB,iBAAY,GAAG,IAAI,CAAC;QAGlB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,+CAA+C;QAC/C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACpC,QAAQ,CAAC,IAAI,CAAC,SAAS,QAAQ,SAAS,QAAQ,gBAAgB,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,qCAAqC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa;aACb,GAAG,CAAC,QAAQ,CAAC,EAAE;YACd,OAAO,IAAI,QAAQ,EAAE,CAAC;QACxB,CAAC,CAAC;aACD,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,CAAC,QAAQ,GAAG;;UAEV,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;;wBAEb,SAAS;;;KAG5B,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"addn_packed_gpu.js","sourceRoot":"","sources":["../src/addn_packed_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,OAAO,iBAAiB;IAO5B,YAAY,WAAqB,EAAE,MAAkB;QALrD,gBAAW,GAAa,EAAE,CAAC;QAE3B,iBAAY,GAAG,IAAI,CAAC;QACpB,iBAAY,GAAG,IAAI,CAAC;QAGlB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,+CAA+C;QAC/C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACpC,QAAQ,CAAC,IAAI,CAAC,SAAS,QAAQ,SAAS,QAAQ,gBAAgB,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,qCAAqC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa;aACb,GAAG,CAAC,QAAQ,CAAC,EAAE;YACd,OAAO,IAAI,QAAQ,EAAE,CAAC;QACxB,CAAC,CAAC;aACD,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,CAAC,QAAQ,GAAG;;UAEV,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;;wBAEb,SAAS;;;KAG5B,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class AddNPackedProgram implements GPGPUProgram {\n variableNames: string[];\n outputShape: number[] = [];\n userCode: string;\n packedInputs = true;\n packedOutput = true;\n\n constructor(outputShape: number[], shapes: number[][]) {\n this.outputShape = outputShape;\n this.variableNames = shapes.map((_, i) => `T${i}`);\n\n const snippets: string[] = [];\n // Get target elements from every input tensor.\n this.variableNames.forEach(variable => {\n snippets.push(`vec4 v${variable} = get${variable}AtOutCoords();`);\n });\n\n // Calculate the sum of all elements.\n const operation = this.variableNames\n .map(variable => {\n return `v${variable}`;\n })\n .join(' + ');\n\n this.userCode = `\n void main() {\n ${snippets.join('\\n ')}\n\n vec4 result = ${operation};\n setOutput(result);\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"argminmax_gpu.js","sourceRoot":"","sources":["../src/argminmax_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,OAAO,gBAAgB;IAK3B,YACI,UAAmC,EAAE,EAAe,EACpD,SAAkB;QANtB,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAOpB,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAC,GAAG,UAAU,CAAC;QACpD,IAAI,CAAC,SAAS,EAAE;YACd,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,WAAW,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1C,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC;YAC5B,eAAe,CAAC,CAAC;YACjB,8CAA8C,CAAC;QAEnD,IAAI,CAAC,QAAQ,GAAG;;;;;kCAKc,UAAU;;;;;8BAKd,UAAU;wBAChB,YAAY;;0BAEV,MAAM;;;;;;;KAO3B,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"argminmax_gpu.js","sourceRoot":"","sources":["../src/argminmax_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,OAAO,gBAAgB;IAK3B,YACI,UAAmC,EAAE,EAAe,EACpD,SAAkB;QANtB,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAOpB,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAC,GAAG,UAAU,CAAC;QACpD,IAAI,CAAC,SAAS,EAAE;YACd,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,WAAW,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1C,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC;YAC5B,eAAe,CAAC,CAAC;YACjB,8CAA8C,CAAC;QAEnD,IAAI,CAAC,QAAQ,GAAG;;;;;kCAKc,UAAU;;;;;8BAKd,UAAU;wBAChB,YAAY;;0BAEV,MAAM;;;;;;;KAO3B,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {backend_util} from '@tensorflow/tfjs-core';\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class ArgMinMaxProgram implements GPGPUProgram {\n variableNames = ['A'];\n outputShape: number[];\n userCode: string;\n\n constructor(\n reduceInfo: backend_util.ReduceInfo, op: 'max'|'min',\n firstPass: boolean) {\n const {windowSize, batchSize, outSize} = reduceInfo;\n if (!firstPass) {\n this.variableNames.push('bestIndicesA');\n }\n this.outputShape = [batchSize, outSize];\n const compOp = (op === 'max') ? '>' : '<';\n const indexSnippet = firstPass ?\n 'inOffset + i;' :\n 'round(getBestIndicesA(batch, inOffset + i));';\n\n this.userCode = `\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${windowSize};\n\n int bestIndex = inOffset;\n float bestValue = getA(batch, bestIndex);\n\n for (int i = 0; i < ${windowSize}; i++) {\n int inIdx = ${indexSnippet};\n float candidate = getA(batch, inIdx);\n if (candidate ${compOp} bestValue) {\n bestValue = candidate;\n bestIndex = inIdx;\n }\n }\n setOutput(float(bestIndex));\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"argminmax_packed_gpu.js","sourceRoot":"","sources":["../src/argminmax_packed_gpu.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"argminmax_packed_gpu.js","sourceRoot":"","sources":["../src/argminmax_packed_gpu.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {util} from '@tensorflow/tfjs-core';\n\nimport {GPGPUProgram} from './gpgpu_math';\nimport {getChannels} from './packing_util';\nimport {getCoordsDataType} from './shader_compiler';\n\nexport class ArgMinMaxPackedProgram implements GPGPUProgram {\n variableNames = ['A'];\n outputShape: number[];\n userCode: string;\n packedInputs = true;\n packedOutput = true;\n\n constructor(\n shape: number[], windowSize: number, op: 'max'|'min',\n firstPass: boolean) {\n util.assert(\n shape.length > 2,\n () => `Packed arg${\n opLine truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"avg_pool_backprop_gpu.js","sourceRoot":"","sources":["../src/avg_pool_backprop_gpu.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"avg_pool_backprop_gpu.js","sourceRoot":"","sources":["../src/avg_pool_backprop_gpu.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {backend_util} from '@tensorflow/tfjs-core';\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class AvgPool2DBackpropProgram implements GPGPUProgram {\n variableNames = ['dy'];\n outputShape: number[];\n userCode: string;\n\n constructor(convInfo: backend_util.Conv2DInfo) {\n this.outputShape = convInfo.inShape;\n const filterHeight = convInfo.filterHeight;\n const filterWidth = convInfo.filterWidth;\n const strideHeight = convInfo.strideHeight;\n const strideWidth = convInfo.strideWidth;\n const dilationHeight = convInfo.dilationHeight;\n const dilationWidth = convInfo.dilationWidth;\n const effectiveFilterHeight = convInfo.effectiveFilterHeight;\n const effectiveFilterWidth = convInfo.effectiveFilterWidth;\n\n const padTop = effectiveFilterHeight - 1 - convInfo.padInfo.top;\n const padLeft = effectiveFilterWidth - 1 - convInfo.padInfo.left;\n\n const avgMultiplier = 1 / (filterHeight * filterWidth);\n\n this.userCode = `\n const ivec2 pads = ivec2(${padTop}, ${padLeft});\n const float avgMultiplier = float(${avgMultiplier});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${effectiveFilterHeight};\n wR += ${dilationHeight}) {\n float dyR = float(dyRCorner + wR) / ${strideHeight}.0;\n\n if (dyR < 0.0 || dyR >= ${convInfo.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${effectiveFilterWidth};\n wC+= ${dilationWidth}) {\n float dLine truncated
|
||||
Generated
Vendored
+19
-11
@@ -48,6 +48,8 @@ export declare function getBinaryCache(webGLVersion: number): {
|
||||
export declare class MathBackendWebGL extends KernelBackend {
|
||||
texData: DataStorage<TextureData>;
|
||||
gpgpu: GPGPUContext;
|
||||
private static nextDataId;
|
||||
private nextDataId;
|
||||
private pendingRead;
|
||||
private pendingDisposal;
|
||||
dataRefCount: WeakMap<object, number>;
|
||||
@@ -57,40 +59,47 @@ export declare class MathBackendWebGL extends KernelBackend {
|
||||
private activeTimers;
|
||||
private uploadWaitMs;
|
||||
private downloadWaitMs;
|
||||
private cpuBackend;
|
||||
private lastGlFlushTime;
|
||||
private floatPrecisionValue;
|
||||
private textureManager;
|
||||
private binaryCache;
|
||||
private gpgpuCreatedLocally;
|
||||
private numMBBeforeWarning;
|
||||
private warnedAboutMemory;
|
||||
private warnedAboutCPUBackend;
|
||||
constructor(gpgpu?: GPGPUContext);
|
||||
numDataIds(): number;
|
||||
write(values: BackendValues, shape: number[], dtype: DataType): DataId;
|
||||
/** Return refCount of a `TensorData`. */
|
||||
refCount(dataId: DataId): number;
|
||||
/** Increase refCount of a `TextureData`. */
|
||||
incRef(dataId: DataId): void;
|
||||
/** Decrease refCount of a `TextureData`. */
|
||||
decRef(dataId: DataId): void;
|
||||
/**
|
||||
* Decrease refCount of a `TextureData` if it is a component of complex
|
||||
* tensor.
|
||||
*/
|
||||
decComplexRef(dataId: DataId): void;
|
||||
move(dataId: DataId, values: BackendValues, shape: number[], dtype: DataType): void;
|
||||
move(dataId: DataId, values: BackendValues, shape: number[], dtype: DataType, refCount: number): void;
|
||||
disposeIntermediateTensorInfo(tensorInfo: TensorInfo): void;
|
||||
readSync(dataId: DataId): BackendValues;
|
||||
read(dataId: DataId): Promise<BackendValues>;
|
||||
bufferSync<R extends Rank>(t: TensorInfo): TensorBuffer<R>;
|
||||
private checkNumericalProblems;
|
||||
private getValuesFromTexture;
|
||||
timerAvailable(): boolean;
|
||||
time(f: () => void): Promise<WebGLTimingInfo>;
|
||||
memory(): WebGLMemoryInfo;
|
||||
private startTimer;
|
||||
private endTimer;
|
||||
private getQueryTime;
|
||||
private pendingDeletes;
|
||||
disposeData(dataId: DataId): void;
|
||||
/**
|
||||
* Decrease the RefCount on the dataId and dispose the memory if the dataId
|
||||
* has 0 refCount. If there are pending read on the data, the disposal would
|
||||
* added to the pending delete queue. Return true if the dataId is removed
|
||||
* from backend or the backend does not contain the dataId, false if the
|
||||
* dataId is not removed. Memory may or may not be released even when dataId
|
||||
* is removed, which also depends on dataRefCount, see `releaseGPU`.
|
||||
* @param dataId
|
||||
* @oaram force Optional, remove the data regardless of refCount
|
||||
*/
|
||||
disposeData(dataId: DataId, force?: boolean): boolean;
|
||||
private releaseGPUData;
|
||||
getTexture(dataId: DataId): WebGLTexture;
|
||||
/**
|
||||
@@ -98,7 +107,6 @@ export declare class MathBackendWebGL extends KernelBackend {
|
||||
* tests.
|
||||
*/
|
||||
getDataInfo(dataId: DataId): TextureData;
|
||||
private getCPUBackend;
|
||||
shouldExecuteOnCPU(inputs: TensorInfo[], sizeThreshold?: number): boolean;
|
||||
getGPGPUContext(): GPGPUContext;
|
||||
where(condition: Tensor): Tensor2D;
|
||||
@@ -111,7 +119,7 @@ export declare class MathBackendWebGL extends KernelBackend {
|
||||
private packedReshape;
|
||||
private decode;
|
||||
runWebGLProgram(program: GPGPUProgram, inputs: TensorInfo[], outputDtype: DataType, customSetup?: (gpgpu: GPGPUContext, webGLProgram: WebGLProgram) => void, preventEagerUnpackingOfOutput?: boolean): TensorInfo;
|
||||
compileAndRun<K extends TensorInfo>(program: GPGPUProgram, inputs: TensorInfo[], outputDtype?: DataType, customSetup?: (gpgpu: GPGPUContext, webGLProgram: WebGLProgram) => void, preventEagerUnpackingOfOutput?: boolean): K;
|
||||
compileAndRun(program: GPGPUProgram, inputs: TensorInfo[], outputDtype?: DataType, customSetup?: (gpgpu: GPGPUContext, webGLProgram: WebGLProgram) => void, preventEagerUnpackingOfOutput?: boolean): TensorInfo;
|
||||
private getAndSaveBinary;
|
||||
getTextureManager(): TextureManager;
|
||||
private disposed;
|
||||
|
||||
Generated
Vendored
+73
-84
@@ -79,8 +79,9 @@ export class MathBackendWebGL extends KernelBackend {
|
||||
this.uploadWaitMs = 0;
|
||||
// Accumulated time spent (including blocking in downloading data from webgl.
|
||||
this.downloadWaitMs = 0;
|
||||
// record the last manual GL Flush time.
|
||||
this.lastGlFlushTime = 0;
|
||||
this.warnedAboutMemory = false;
|
||||
this.warnedAboutCPUBackend = false;
|
||||
this.pendingDeletes = 0;
|
||||
this.disposed = false;
|
||||
if (!env().getBool('HAS_WEBGL')) {
|
||||
@@ -103,10 +104,11 @@ export class MathBackendWebGL extends KernelBackend {
|
||||
this.numMBBeforeWarning = numMBBeforeWarning();
|
||||
this.texData = new DataStorage(this, engine());
|
||||
}
|
||||
nextDataId() {
|
||||
return MathBackendWebGL.nextDataId++;
|
||||
}
|
||||
numDataIds() {
|
||||
return this.texData.numDataIds() +
|
||||
(this.cpuBackend ? this.cpuBackend.numDataIds() : 0) -
|
||||
this.pendingDeletes;
|
||||
return this.texData.numDataIds() - this.pendingDeletes;
|
||||
}
|
||||
write(values, shape, dtype) {
|
||||
if (env().getBool('WEBGL_CHECK_NUMERICAL_PROBLEMS') ||
|
||||
@@ -117,17 +119,18 @@ export class MathBackendWebGL extends KernelBackend {
|
||||
throw new Error(`Cannot write to a complex64 dtype. ` +
|
||||
`Please use tf.complex(real, imag).`);
|
||||
}
|
||||
const dataId = {};
|
||||
this.texData.set(dataId, {
|
||||
shape,
|
||||
dtype,
|
||||
values,
|
||||
usage: TextureUsage.UPLOAD,
|
||||
refCount: 1,
|
||||
complexParentRefCount: 0
|
||||
});
|
||||
const dataId = { id: this.nextDataId() };
|
||||
this.texData.set(dataId, { shape, dtype, values, usage: TextureUsage.UPLOAD, refCount: 1 });
|
||||
return dataId;
|
||||
}
|
||||
/** Return refCount of a `TensorData`. */
|
||||
refCount(dataId) {
|
||||
if (this.texData.has(dataId)) {
|
||||
const tensorData = this.texData.get(dataId);
|
||||
return tensorData.refCount;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
/** Increase refCount of a `TextureData`. */
|
||||
incRef(dataId) {
|
||||
const texData = this.texData.get(dataId);
|
||||
@@ -140,19 +143,7 @@ export class MathBackendWebGL extends KernelBackend {
|
||||
texData.refCount--;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Decrease refCount of a `TextureData` if it is a component of complex
|
||||
* tensor.
|
||||
*/
|
||||
decComplexRef(dataId) {
|
||||
if (this.texData.has(dataId)) {
|
||||
const texData = this.texData.get(dataId);
|
||||
if (texData.complexParentRefCount > 0) {
|
||||
texData.refCount--;
|
||||
}
|
||||
}
|
||||
}
|
||||
move(dataId, values, shape, dtype) {
|
||||
move(dataId, values, shape, dtype, refCount) {
|
||||
if (env().getBool('DEBUG')) {
|
||||
this.checkNumericalProblems(values);
|
||||
}
|
||||
@@ -160,24 +151,10 @@ export class MathBackendWebGL extends KernelBackend {
|
||||
throw new Error(`Cannot write to a complex64 dtype. ` +
|
||||
`Please use tf.complex(real, imag).`);
|
||||
}
|
||||
this.texData.set(dataId, {
|
||||
shape,
|
||||
dtype,
|
||||
values,
|
||||
usage: TextureUsage.UPLOAD,
|
||||
refCount: 1,
|
||||
complexParentRefCount: 0
|
||||
});
|
||||
this.texData.set(dataId, { shape, dtype, values, usage: TextureUsage.UPLOAD, refCount });
|
||||
}
|
||||
disposeIntermediateTensorInfo(tensorInfo) {
|
||||
const dataId = tensorInfo.dataId;
|
||||
if (this.texData.has(dataId)) {
|
||||
const textureData = this.texData.get(dataId);
|
||||
textureData.refCount--;
|
||||
if (textureData.refCount < 1) {
|
||||
this.disposeData(dataId);
|
||||
}
|
||||
}
|
||||
this.disposeData(tensorInfo.dataId);
|
||||
}
|
||||
readSync(dataId) {
|
||||
const texData = this.texData.get(dataId);
|
||||
@@ -295,7 +272,9 @@ export class MathBackendWebGL extends KernelBackend {
|
||||
subscribers.forEach(resolve => resolve(dTypeVals));
|
||||
if (this.pendingDisposal.has(dataId)) {
|
||||
this.pendingDisposal.delete(dataId);
|
||||
this.disposeData(dataId);
|
||||
if (this.disposeData(dataId)) {
|
||||
engine().removeDataId(dataId, this);
|
||||
}
|
||||
this.pendingDeletes--;
|
||||
}
|
||||
return dTypeVals;
|
||||
@@ -355,6 +334,9 @@ export class MathBackendWebGL extends KernelBackend {
|
||||
this.disposeIntermediateTensorInfo(output);
|
||||
return vals;
|
||||
}
|
||||
timerAvailable() {
|
||||
return env().getNumber('WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE') > 0;
|
||||
}
|
||||
async time(f) {
|
||||
const oldActiveTimers = this.activeTimers;
|
||||
const newActiveTimers = [];
|
||||
@@ -428,36 +410,49 @@ export class MathBackendWebGL extends KernelBackend {
|
||||
const timerQuery = query;
|
||||
return timerQuery.endMs - timerQuery.startMs;
|
||||
}
|
||||
disposeData(dataId) {
|
||||
/**
|
||||
* Decrease the RefCount on the dataId and dispose the memory if the dataId
|
||||
* has 0 refCount. If there are pending read on the data, the disposal would
|
||||
* added to the pending delete queue. Return true if the dataId is removed
|
||||
* from backend or the backend does not contain the dataId, false if the
|
||||
* dataId is not removed. Memory may or may not be released even when dataId
|
||||
* is removed, which also depends on dataRefCount, see `releaseGPU`.
|
||||
* @param dataId
|
||||
* @oaram force Optional, remove the data regardless of refCount
|
||||
*/
|
||||
disposeData(dataId, force = false) {
|
||||
if (this.pendingDisposal.has(dataId)) {
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
// No-op if already disposed.
|
||||
if (!this.texData.has(dataId)) {
|
||||
return true;
|
||||
}
|
||||
// if force flag is set, change refCount to 0, this would ensure disposal
|
||||
// when added to the pendingDisposal queue. Memory may or may not be
|
||||
// released, which also depends on dataRefCount, see `releaseGPU`.
|
||||
if (force) {
|
||||
this.texData.get(dataId).refCount = 0;
|
||||
}
|
||||
else {
|
||||
this.texData.get(dataId).refCount--;
|
||||
}
|
||||
if (!force && this.texData.get(dataId).refCount > 0) {
|
||||
return false;
|
||||
}
|
||||
if (this.pendingRead.has(dataId)) {
|
||||
this.pendingDisposal.add(dataId);
|
||||
this.pendingDeletes++;
|
||||
return;
|
||||
}
|
||||
// No-op if already disposed.
|
||||
if (!this.texData.has(dataId)) {
|
||||
return;
|
||||
}
|
||||
// Trying to dispose a textureData that has a 'kept' refCount, e.g. trying
|
||||
// to dispose a tensor whose data bucket is shared with a complex tensor. In
|
||||
// this case we are removing a reference to the textureData, but we
|
||||
// shouldn't actually dispose the texture.
|
||||
if (this.texData.get(dataId).complexParentRefCount > 0) {
|
||||
this.texData.get(dataId).refCount--;
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
this.releaseGPUData(dataId);
|
||||
const { complexTensorInfos } = this.texData.get(dataId);
|
||||
if (complexTensorInfos != null) {
|
||||
this.texData.get(complexTensorInfos.real.dataId).complexParentRefCount--;
|
||||
this.disposeIntermediateTensorInfo(complexTensorInfos.real);
|
||||
this.texData.get(complexTensorInfos.imag.dataId).complexParentRefCount--;
|
||||
this.disposeIntermediateTensorInfo(complexTensorInfos.imag);
|
||||
this.disposeData(complexTensorInfos.real.dataId, force);
|
||||
this.disposeData(complexTensorInfos.imag.dataId, force);
|
||||
}
|
||||
this.texData.delete(dataId);
|
||||
return true;
|
||||
}
|
||||
releaseGPUData(dataId) {
|
||||
const { texture, dtype, texShape, usage, isPacked, slice } = this.texData.get(dataId);
|
||||
@@ -490,15 +485,6 @@ export class MathBackendWebGL extends KernelBackend {
|
||||
getDataInfo(dataId) {
|
||||
return this.texData.get(dataId);
|
||||
}
|
||||
getCPUBackend() {
|
||||
if (!env().getBool('WEBGL_CPU_FORWARD')) {
|
||||
return null;
|
||||
}
|
||||
if (this.cpuBackend == null) {
|
||||
this.cpuBackend = engine().findBackend('cpu');
|
||||
}
|
||||
return this.cpuBackend;
|
||||
}
|
||||
/*
|
||||
Tests whether all the inputs to an op are small and on the CPU. This heuristic
|
||||
determines when it would be faster to execute a kernel on the CPU. WebGL
|
||||
@@ -507,16 +493,7 @@ export class MathBackendWebGL extends KernelBackend {
|
||||
sustainable strategy for optimizing backend execution of ops.
|
||||
*/
|
||||
shouldExecuteOnCPU(inputs, sizeThreshold = CPU_HANDOFF_SIZE_THRESHOLD) {
|
||||
const cpuBackend = this.getCPUBackend();
|
||||
if (!env().getBool('IS_TEST') && !this.warnedAboutCPUBackend &&
|
||||
cpuBackend == null) {
|
||||
console.warn('Your application contains ops that are small enough to be ' +
|
||||
'executed on the CPU backend, however the CPU backend cannot ' +
|
||||
'be found. Consider importing the CPU backend ' +
|
||||
'(@tensorflow/tfjs-backend-cpu) for better performance.');
|
||||
this.warnedAboutCPUBackend = true;
|
||||
}
|
||||
return cpuBackend != null &&
|
||||
return env().getBool('WEBGL_CPU_FORWARD') &&
|
||||
inputs.every(input => this.texData.get(input.dataId).texture == null &&
|
||||
util.sizeFromShape(input.shape) < sizeThreshold);
|
||||
}
|
||||
@@ -531,7 +508,8 @@ export class MathBackendWebGL extends KernelBackend {
|
||||
}
|
||||
packedUnaryOp(x, op, dtype) {
|
||||
const program = new UnaryOpPackedProgram(x.shape, op);
|
||||
return this.compileAndRun(program, [x], dtype);
|
||||
const outInfo = this.compileAndRun(program, [x], dtype);
|
||||
return engine().makeTensorFromDataId(outInfo.dataId, outInfo.shape, outInfo.dtype);
|
||||
}
|
||||
// TODO(msoulanille) remove this once the backend has been modularized
|
||||
// a copy is needed here to break a circular dependency.
|
||||
@@ -546,7 +524,8 @@ export class MathBackendWebGL extends KernelBackend {
|
||||
return this.packedUnaryOp(x, unary_op.ABS, x.dtype);
|
||||
}
|
||||
const program = new UnaryOpProgram(x.shape, unary_op.ABS);
|
||||
return this.compileAndRun(program, [x]);
|
||||
const outInfo = this.compileAndRun(program, [x]);
|
||||
return engine().makeTensorFromDataId(outInfo.dataId, outInfo.shape, outInfo.dtype);
|
||||
}
|
||||
makeTensorInfo(shape, dtype, values) {
|
||||
let dataId;
|
||||
@@ -704,6 +683,15 @@ export class MathBackendWebGL extends KernelBackend {
|
||||
query = this.endTimer(query);
|
||||
this.activeTimers.push({ name: program.constructor.name, query: this.getQueryTime(query) });
|
||||
}
|
||||
const glFlushThreshold = env().get('WEBGL_FLUSH_THRESHOLD');
|
||||
// Manually GL flush requested
|
||||
if (glFlushThreshold > 0) {
|
||||
const time = util.now();
|
||||
if ((time - this.lastGlFlushTime) > glFlushThreshold) {
|
||||
this.gpgpu.gl.flush();
|
||||
this.lastGlFlushTime = time;
|
||||
}
|
||||
}
|
||||
if (!env().getBool('WEBGL_LAZILY_UNPACK') && outData.isPacked &&
|
||||
preventEagerUnpackingOfOutput === false) {
|
||||
const unpacked = this.unpackTensor(output);
|
||||
@@ -715,7 +703,7 @@ export class MathBackendWebGL extends KernelBackend {
|
||||
compileAndRun(program, inputs, outputDtype, customSetup, preventEagerUnpackingOfOutput = false) {
|
||||
outputDtype = outputDtype || inputs[0].dtype;
|
||||
const outInfo = this.runWebGLProgram(program, inputs, outputDtype, customSetup, preventEagerUnpackingOfOutput);
|
||||
return engine().makeTensorFromDataId(outInfo.dataId, outInfo.shape, outInfo.dtype);
|
||||
return outInfo;
|
||||
}
|
||||
getAndSaveBinary(key, getBinary) {
|
||||
if (!(key in this.binaryCache)) {
|
||||
@@ -864,6 +852,7 @@ export class MathBackendWebGL extends KernelBackend {
|
||||
return shape[0] * shape[1] * util.bytesPerElement(dtype);
|
||||
}
|
||||
}
|
||||
MathBackendWebGL.nextDataId = 0;
|
||||
function float32ToTypedArray(a, dtype) {
|
||||
if (dtype === 'float32' || dtype === 'complex64') {
|
||||
return a;
|
||||
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"backend_webgl.js","sourceRoot":"","sources":["../src/backend_webgl.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"backend_webgl.js","sourceRoot":"","sources":["../src/backend_webgl.ts"],"names":[],"mappings":"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 truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"backend_webgl_test.js","sourceRoot":"","sources":["../src/backend_webgl_test.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"backend_webgl_test.js","sourceRoot":"","sources":["../src/backend_webgl_test.ts"],"names":[],"mappings":"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 truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"backend_webgl_test_registry.js","sourceRoot":"","sources":["../src/backend_webgl_test_registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,iDAAiD;AACjD,OAAO,EAAc,eAAe,EAAC,MAAM,yCAAyC,CAAC;AAErF,MAAM,CAAC,MAAM,UAAU,GAAgB;IACrC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,KAAK,OAAO;CACtD,CAAC;AACF,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,KAAK,EAAE,EAAC,YAAY,EAAE,IAAI,EAAC;CAC5B,CAAC;AAEF,eAAe,CAAC;IACd,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,OAAO;IACpB,KAAK,EAAE;QACL,eAAe,EAAE,CAAC;QAClB,mBAAmB,EAAE,KAAK;QAC1B,2BAA2B,EAAE,CAAC;KAC/B;IACD,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC;AAEH,eAAe,CAAC;IACd,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,OAAO;IACpB,KAAK,EAAE;QACL,eAAe,EAAE,CAAC;QAClB,mBAAmB,EAAE,KAAK;QAC1B,2BAA2B,EAAE,CAAC;KAC/B;IACD,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC"}
|
||||
{"version":3,"file":"backend_webgl_test_registry.js","sourceRoot":"","sources":["../src/backend_webgl_test_registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,iDAAiD;AACjD,OAAO,EAAc,eAAe,EAAC,MAAM,yCAAyC,CAAC;AAErF,MAAM,CAAC,MAAM,UAAU,GAAgB;IACrC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,KAAK,OAAO;CACtD,CAAC;AACF,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,KAAK,EAAE,EAAC,YAAY,EAAE,IAAI,EAAC;CAC5B,CAAC;AAEF,eAAe,CAAC;IACd,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,OAAO;IACpB,KAAK,EAAE;QACL,eAAe,EAAE,CAAC;QAClB,mBAAmB,EAAE,KAAK;QAC1B,2BAA2B,EAAE,CAAC;KAC/B;IACD,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC;AAEH,eAAe,CAAC;IACd,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,OAAO;IACpB,KAAK,EAAE;QACL,eAAe,EAAE,CAAC;QAClB,mBAAmB,EAAE,KAAK;QAC1B,2BAA2B,EAAE,CAAC;KAC/B;IACD,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\n// tslint:disable-next-line: no-imports-from-dist\nimport {Constraints, registerTestEnv} from '@tensorflow/tfjs-core/dist/jasmine_util';\n\nexport const WEBGL_ENVS: Constraints = {\n predicate: testEnv => testEnv.backendName === 'webgl'\n};\nexport const PACKED_ENVS: Constraints = {\n flags: {'WEBGL_PACK': true}\n};\n\nregisterTestEnv({\n name: 'webgl1',\n backendName: 'webgl',\n flags: {\n 'WEBGL_VERSION': 1,\n 'WEBGL_CPU_FORWARD': false,\n 'WEBGL_SIZE_UPLOAD_UNIFORM': 0\n },\n isDataSync: true\n});\n\nregisterTestEnv({\n name: 'webgl2',\n backendName: 'webgl',\n flags: {\n 'WEBGL_VERSION': 2,\n 'WEBGL_CPU_FORWARD': false,\n 'WEBGL_SIZE_UPLOAD_UNIFORM': 0\n },\n isDataSync: true\n});\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,iEAAiE;AAEjE,OAAO,EAAC,WAAW,EAAE,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,WAAW,CAAC;AAEnD,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE;IAC3B,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC;CAC1E;AAED,yBAAyB;AACzB,cAAc,SAAS,CAAC;AAExB,oEAAoE;AACpE,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AACvC,MAAM,CAAC,MAAM,KAAK,GAAG,EAAC,cAAc,EAAC,CAAC"}
|
||||
{"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,iEAAiE;AAEjE,OAAO,EAAC,WAAW,EAAE,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,WAAW,CAAC;AAEnD,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE;IAC3B,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC;CAC1E;AAED,yBAAyB;AACzB,cAAc,SAAS,CAAC;AAExB,oEAAoE;AACpE,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AACvC,MAAM,CAAC,MAAM,KAAK,GAAG,EAAC,cAAc,EAAC,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2020 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\n// base.ts is the webgl backend without auto kernel registration.\n\nimport {device_util, registerBackend} from '@tensorflow/tfjs-core';\nimport {MathBackendWebGL} from './backend_webgl';\nexport {version as version_webgl} from './version';\n\nif (device_util.isBrowser()) {\n registerBackend('webgl', () => new MathBackendWebGL(), 2 /* priority */);\n}\n\n// Export webgl utilities\nexport * from './webgl';\n\n// Export forceHalfFlost under webgl namespace for the union bundle.\nimport {forceHalfFloat} from './webgl';\nexport const webgl = {forceHalfFloat};\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"batchnorm_gpu.js","sourceRoot":"","sources":["../src/batchnorm_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAGnD,MAAM,OAAO,gBAAgB;IAK3B,YACI,MAAgB,EAAE,SAAmB,EAAE,aAAuB,EAC9D,WAA0B,EAAE,UAAyB,EACrD,eAAuB;QAN3B,gBAAW,GAAa,EAAE,CAAC;QAOzB,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAC/C,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC3D,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAE/D,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,WAAW,IAAI,IAAI,EAAE;YACvB,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC7D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,aAAa,GAAG,wBAAwB,CAAC;SAC1C;QAED,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC5D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,YAAY,GAAG,uBAAuB,CAAC;SACxC;QAED,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG;;;;;yBAKK,aAAa;wBACd,YAAY;2DACuB,eAAe;;;KAGrE,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"batchnorm_gpu.js","sourceRoot":"","sources":["../src/batchnorm_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAGnD,MAAM,OAAO,gBAAgB;IAK3B,YACI,MAAgB,EAAE,SAAmB,EAAE,aAAuB,EAC9D,WAA0B,EAAE,UAAyB,EACrD,eAAuB;QAN3B,gBAAW,GAAa,EAAE,CAAC;QAOzB,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAC/C,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC3D,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAE/D,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,WAAW,IAAI,IAAI,EAAE;YACvB,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC7D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,aAAa,GAAG,wBAAwB,CAAC;SAC1C;QAED,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC5D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,YAAY,GAAG,uBAAuB,CAAC;SACxC;QAED,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG;;;;;yBAKK,aAAa;wBACd,YAAY;2DACuB,eAAe;;;KAGrE,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {backend_util} from '@tensorflow/tfjs-core';\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class BatchNormProgram implements GPGPUProgram {\n variableNames: string[];\n outputShape: number[] = [];\n userCode: string;\n\n constructor(\n xShape: number[], meanShape: number[], varianceShape: number[],\n offsetShape: number[]|null, scaleShape: number[]|null,\n varianceEpsilon: number) {\n this.variableNames = ['x', 'mean', 'variance'];\n backend_util.assertAndGetBroadcastShape(xShape, meanShape);\n backend_util.assertAndGetBroadcastShape(xShape, varianceShape);\n\n let offsetSnippet = '0.0';\n if (offsetShape != null) {\n backend_util.assertAndGetBroadcastShape(xShape, offsetShape);\n this.variableNames.push('offset');\n offsetSnippet = 'getOffsetAtOutCoords()';\n }\n\n let scaleSnippet = '1.0';\n if (scaleShape != null) {\n backend_util.assertAndGetBroadcastShape(xShape, scaleShape);\n this.variableNames.push('scale');\n scaleSnippet = 'getScaleAtOutCoords()';\n }\n\n this.outputShape = xShape;\n this.userCode = `\n void main() {\n float x = getXAtOutCoords();\n float mean = getMeanAtOutCoords();\n float variance = getVarianceAtOutCoords();\n float offset = ${offsetSnippet};\n float scale = ${scaleSnippet};\n float inv = scale * inversesqrt(variance + float(${varianceEpsilon}));\n setOutput(dot(vec3(x, -mean, offset), vec3(inv, inv, 1)));\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"batchnorm_packed_gpu.js","sourceRoot":"","sources":["../src/batchnorm_packed_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAGnD,MAAM,OAAO,sBAAsB;IAOjC,YACI,MAAgB,EAAE,SAAmB,EAAE,aAAuB,EAC9D,WAA0B,EAAE,UAAyB,EACrD,eAAuB;QAN3B,iBAAY,GAAG,IAAI,CAAC;QACpB,iBAAY,GAAG,IAAI,CAAC;QAMlB,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAC/C,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC3D,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAE/D,IAAI,aAAa,GAAG,WAAW,CAAC;QAChC,IAAI,WAAW,IAAI,IAAI,EAAE;YACvB,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC7D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,aAAa,GAAG,wBAAwB,CAAC;SAC1C;QAED,IAAI,YAAY,GAAG,WAAW,CAAC;QAC/B,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC5D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,YAAY,GAAG,uBAAuB,CAAC;SACxC;QAED,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG;;wBAEI,aAAa;uBACd,YAAY;;;;;;yDAMsB,eAAe;;;;KAInE,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"batchnorm_packed_gpu.js","sourceRoot":"","sources":["../src/batchnorm_packed_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAGnD,MAAM,OAAO,sBAAsB;IAOjC,YACI,MAAgB,EAAE,SAAmB,EAAE,aAAuB,EAC9D,WAA0B,EAAE,UAAyB,EACrD,eAAuB;QAN3B,iBAAY,GAAG,IAAI,CAAC;QACpB,iBAAY,GAAG,IAAI,CAAC;QAMlB,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAC/C,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC3D,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAE/D,IAAI,aAAa,GAAG,WAAW,CAAC;QAChC,IAAI,WAAW,IAAI,IAAI,EAAE;YACvB,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC7D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,aAAa,GAAG,wBAAwB,CAAC;SAC1C;QAED,IAAI,YAAY,GAAG,WAAW,CAAC;QAC/B,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC5D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,YAAY,GAAG,uBAAuB,CAAC;SACxC;QAED,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG;;wBAEI,aAAa;uBACd,YAAY;;;;;;yDAMsB,eAAe;;;;KAInE,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {backend_util} from '@tensorflow/tfjs-core';\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class BatchNormPackedProgram implements GPGPUProgram {\n variableNames: string[];\n outputShape: number[];\n userCode: string;\n packedInputs = true;\n packedOutput = true;\n\n constructor(\n xShape: number[], meanShape: number[], varianceShape: number[],\n offsetShape: number[]|null, scaleShape: number[]|null,\n varianceEpsilon: number) {\n this.variableNames = ['x', 'mean', 'variance'];\n backend_util.assertAndGetBroadcastShape(xShape, meanShape);\n backend_util.assertAndGetBroadcastShape(xShape, varianceShape);\n\n let offsetSnippet = 'vec4(0.0)';\n if (offsetShape != null) {\n backend_util.assertAndGetBroadcastShape(xShape, offsetShape);\n this.variableNames.push('offset');\n offsetSnippet = 'getOffsetAtOutCoords()';\n }\n\n let scaleSnippet = 'vec4(1.0)';\n if (scaleShape != null) {\n backend_util.assertAndGetBroadcastShape(xShape, scaleShape);\n this.variableNames.push('scale');\n scaleSnippet = 'getScaleAtOutCoords()';\n }\n\n this.outputShape = xShape;\n this.userCode = `\n void main() {\n vec4 offset = ${offsetSnippet};\n vec4 scale = ${scaleSnippet};\n\n vec4 x = getXAtOutCoords();\n vec4 mean = getMeanAtOutCoords();\n vec4 variance = getVarianceAtOutCoords();\n\n vec4 inv = scale * inversesqrt(variance + vec4(${varianceEpsilon}));\n\n setOutput((x - mean) * inv + offset);\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"binaryop_complex_gpu.js","sourceRoot":"","sources":["../src/binaryop_complex_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAGnD,uBAAuB;AACvB,sDAAsD;AACtD,iBAAiB;AACjB,mBAAmB;AACnB,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,uCAAuC;IAC7C,IAAI,EAAE,uCAAuC;CAC9C,CAAC;AAEF,MAAM,OAAO,sBAAsB;IAKjC,YAAY,EAAU,EAAE,MAAgB,EAAE,MAAgB;QAJ1D,kBAAa,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAKnD,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE3E,IAAI,CAAC,QAAQ,GAAG;;;UAGV,EAAE;;;;;;;;;;KAUP,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"binaryop_complex_gpu.js","sourceRoot":"","sources":["../src/binaryop_complex_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAGnD,uBAAuB;AACvB,sDAAsD;AACtD,iBAAiB;AACjB,mBAAmB;AACnB,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,uCAAuC;IAC7C,IAAI,EAAE,uCAAuC;CAC9C,CAAC;AAEF,MAAM,OAAO,sBAAsB;IAKjC,YAAY,EAAU,EAAE,MAAgB,EAAE,MAAgB;QAJ1D,kBAAa,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAKnD,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE3E,IAAI,CAAC,QAAQ,GAAG;;;UAGV,EAAE;;;;;;;;;;KAUP,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {backend_util} from '@tensorflow/tfjs-core';\nimport {GPGPUProgram} from './gpgpu_math';\n\n// (Ar + Ai)(Br + Bi) =\n// ArBr + ArBi + AiBr + AiBi = ArBr - AB + ArBi + AiBr\n// Yr = ArBr - AB\n// Yi = ArBi + AiBr\nexport const COMPLEX_MULTIPLY = {\n REAL: 'return areal * breal - aimag * bimag;',\n IMAG: 'return areal * bimag + aimag * breal;'\n};\n\nexport class BinaryOpComplexProgram implements GPGPUProgram {\n variableNames = ['AReal', 'AImag', 'BReal', 'BImag'];\n userCode: string;\n outputShape: number[];\n\n constructor(op: string, aShape: number[], bShape: number[]) {\n this.outputShape = backend_util.assertAndGetBroadcastShape(aShape, bShape);\n\n this.userCode = `\n float binaryOpComplex(\n float areal, float aimag, float breal, float bimag) {\n ${op}\n }\n\n void main() {\n float areal = getARealAtOutCoords();\n float aimag = getAImagAtOutCoords();\n float breal = getBRealAtOutCoords();\n float bimag = getBImagAtOutCoords();\n setOutput(binaryOpComplex(areal, aimag, breal, bimag));\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"binaryop_gpu.js","sourceRoot":"","sources":["../src/binaryop_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAInD,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;CAGhC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,2BAA2B,CAAC;AAC9D,MAAM,OAAO,eAAe;IAK1B,YAAY,EAAU,EAAE,MAAgB,EAAE,MAAgB;QAJ1D,kBAAa,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAKzB,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3E,IAAI,CAAC,QAAQ,GAAG;;UAEV,EAAE;;;;;;;;KAQP,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"binaryop_gpu.js","sourceRoot":"","sources":["../src/binaryop_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAInD,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;CAGhC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,2BAA2B,CAAC;AAC9D,MAAM,OAAO,eAAe;IAK1B,YAAY,EAAU,EAAE,MAAgB,EAAE,MAAgB;QAJ1D,kBAAa,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAKzB,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3E,IAAI,CAAC,QAAQ,GAAG;;UAEV,EAAE;;;;;;;;KAQP,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {backend_util} from '@tensorflow/tfjs-core';\n\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport const CHECK_NAN_SNIPPET = `\n if (isnan(a)) return a;\n if (isnan(b)) return b;\n`;\n\nexport const SQUARED_DIFFERENCE = 'return (a - b) * (a - b);';\nexport class BinaryOpProgram implements GPGPUProgram {\n variableNames = ['A', 'B'];\n outputShape: number[];\n userCode: string;\n\n constructor(op: string, aShape: number[], bShape: number[]) {\n this.outputShape = backend_util.assertAndGetBroadcastShape(aShape, bShape);\n this.userCode = `\n float binaryOperation(float a, float b) {\n ${op}\n }\n\n void main() {\n float a = getAAtOutCoords();\n float b = getBAtOutCoords();\n setOutput(binaryOperation(a, b));\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"binaryop_packed_gpu.js","sourceRoot":"","sources":["../src/binaryop_packed_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,YAAY,EAAE,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;CAKhC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG;;;CAGtB,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;;CAExB,CAAC;AAEF,MAAM,OAAO,qBAAqB;IAQhC,YACI,EAAU,EAAE,MAAgB,EAAE,MAAgB,EAC9C,gBAAgB,GAAG,KAAK;QAT5B,kBAAa,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAG3B,yBAAoB,GAAG,IAAI,CAAC;QAC5B,iBAAY,GAAG,IAAI,CAAC;QACpB,iBAAY,GAAG,IAAI,CAAC;QAKlB,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACrC,IAAI,sBAAsB,GAAG,EAAE,CAAC;QAChC,IAAI,gBAAgB,EAAE;YACpB,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;gBAC5D,sBAAsB,GAAG;;;;SAIxB,CAAC;aACH;iBAAM;gBACL,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACtC,sBAAsB,GAAG;YACrB,KAAK;SACR,CAAC;gBACF,IAAI,IAAI,KAAK,CAAC,EAAE;oBACd,sBAAsB,IAAI;yCACK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;;;WAGjD,CAAC;iBACH;qBAAM;oBACL,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAC7C,sBAAsB,IAAI;;iBAEnB,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;;iBAExD,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;;;;WAI9D,CAAC;iBACH;aACF;SACF;QAED,IAAI,CAAC,QAAQ,GAAG;;UAEV,EAAE;;;;;;;;UAQF,sBAAsB;;;;KAI3B,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"binaryop_packed_gpu.js","sourceRoot":"","sources":["../src/binaryop_packed_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,YAAY,EAAE,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;CAKhC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG;;;CAGtB,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;;CAExB,CAAC;AAEF,MAAM,OAAO,qBAAqB;IAQhC,YACI,EAAU,EAAE,MAAgB,EAAE,MAAgB,EAC9C,gBAAgB,GAAG,KAAK;QAT5B,kBAAa,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAG3B,yBAAoB,GAAG,IAAI,CAAC;QAC5B,iBAAY,GAAG,IAAI,CAAC;QACpB,iBAAY,GAAG,IAAI,CAAC;QAKlB,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACrC,IAAI,sBAAsB,GAAG,EAAE,CAAC;QAChC,IAAI,gBAAgB,EAAE;YACpB,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;gBAC5D,sBAAsB,GAAG;;;;SAIxB,CAAC;aACH;iBAAM;gBACL,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACtC,sBAAsB,GAAG;YACrB,KAAK;SACR,CAAC;gBACF,IAAI,IAAI,KAAK,CAAC,EAAE;oBACd,sBAAsB,IAAI;yCACK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;;;WAGjD,CAAC;iBACH;qBAAM;oBACL,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAC7C,sBAAsB,IAAI;;iBAEnB,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;;iBAExD,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;;;;WAI9D,CAAC;iBACH;aACF;SACF;QAED,IAAI,CAAC,QAAQ,GAAG;;UAEV,EAAE;;;;;;;;UAQF,sBAAsB;;;;KAI3B,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {backend_util, util} from '@tensorflow/tfjs-core';\n\nimport {GPGPUProgram} from './gpgpu_math';\nimport {getChannels} from './packing_util';\nimport {getCoordsDataType} from './shader_compiler';\n\nexport const CHECK_NAN_SNIPPET = `\n result.r = isNaN.r > 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n`;\n\nexport const ELU_DER = `\n vec4 bGTEZero = vec4(greaterThanEqual(b, vec4(0.)));\n return (bGTEZero * a) + ((vec4(1.0) - bGTEZero) * (a * (b + vec4(1.0))));\n`;\n\nexport const NOT_EQUAL = `\n return vec4(notEqual(a, b));\n`;\n\nexport class BinaryOpPackedProgram implements GPGPUProgram {\n variableNames = ['A', 'B'];\n outputShape: number[];\n userCode: string;\n supportsBroadcasting = true;\n packedInputs = true;\n packedOutput = true;\n\n constructor(\n op: string, aShape: number[], bShape: number[],\n checkOutOfBounds = false) {\n this.outputShape = backend_util.assertAndGetBroadcastShape(aShape, bShape);\n const rank = this.outputShape.length;\n let checkOutOfBoundsString = '';\n if (checkOutOfBounds) {\n if (rank === 0 || util.sizeFromShape(this.outputShape) === 1) {\n checkOutOfBoundsString = `\n result.y = 0.;\n result.z = 0.;\n result.w = 0.;\n `;\n } else {\n const dtype = getCoordsDataType(rank);\n checkOutOfBoundsString = `\n ${dtype} coords = getOutputCoords();\n `;\n if (rank === 1) {\n checkOutOfBoundsString += `\n result.y = (coords + 1) >= ${this.outputShape[0]} ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `;\n } else {\n const channels = getChannels('coords', rank);\n checkOutOfBoundsString += `\n bool nextRowOutOfBounds =\n (${channels[rank - 2]} + 1) >= ${this.outputShape[rank - 2]};\n bool nextColOutOfBounds =\n (${channels[rank - 1]} + 1) >= ${this.outputShape[rank - 1]};\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `;\n }\n }\n }\n\n this.userCode = `\n vec4 binaryOperation(vec4 a, vec4 b) {\n ${op}\n }\n\n void main() {\n vec4 a = getAAtOutCoords();\n vec4 b = getBAtOutCoords();\n\n vec4 result = binaryOperation(a, b);\n ${checkOutOfBoundsString}\n\n setOutput(result);\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"canvas_util.js","sourceRoot":"","sources":["../src/canvas_util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,QAAQ,GAA2C,EAAE,CAAC;AAE5D,MAAM,gBAAgB,GAA2B;IAC/C,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,KAAK;IAChB,kBAAkB,EAAE,KAAK;IACzB,qBAAqB,EAAE,KAAK;IAC5B,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,KAAK;IACd,4BAA4B,EAAE,IAAI;CACnC,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,YAAoB;IACpD,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,eAAe,CAC3B,YAAoB,EAAE,EAAyB;IACjD,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,YAAoB;IAClD,IAAI,CAAC,CAAC,YAAY,IAAI,QAAQ,CAAC,EAAE;QAC/B,MAAM,MAAM,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,MAAM,KAAK,IAAI,EAAE;YACnB,QAAQ,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;SACjC;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,YAAY,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;SACb;KACF;IACD,MAAM,EAAE,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IAClC,IAAI,EAAE,CAAC,aAAa,EAAE,EAAE;QACtB,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC9B,OAAO,eAAe,CAAC,YAAY,CAAC,CAAC;KACtC;IAED,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IAC1B,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IAC5B,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACrB,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACtB,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;IACnC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;IAC/B,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IAC3B,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IACxB,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAErB,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,YAAY,CAAC,YAAoB;IACxC,IAAI,OAAO,eAAe,KAAK,WAAW,IAAI,YAAY,KAAK,CAAC,EAAE;QAChE,OAAO,IAAI,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACtC;SAAM,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;QAC1C,OAAO,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;KACzC;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;KAC3D;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,YAAoB;IACpD,IAAI,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE;QAC5C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;KAC3E;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAE1C,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,EAAS,EAAE,EAAE;QACxD,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC,EAAE,KAAK,CAAC,CAAC;IACV,IAAI,YAAY,KAAK,CAAC,EAAE;QACtB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC;YAC5C,MAAM,CAAC,UAAU,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CACxC,CAAC;KAC3B;IACD,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,gBAAgB,CAA0B,CAAC;AAChF,CAAC"}
|
||||
{"version":3,"file":"canvas_util.js","sourceRoot":"","sources":["../src/canvas_util.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nconst contexts: {[key: string]: WebGLRenderingContext} = {};\n\nconst WEBGL_ATTRIBUTES: WebGLContextAttributes = {\n alpha: false,\n antialias: false,\n premultipliedAlpha: false,\n preserveDrawingBuffer: false,\n depth: false,\n stencil: false,\n failIfMajorPerformanceCaveat: true\n};\n\nexport function clearWebGLContext(webGLVersion: number) {\n delete contexts[webGLVersion];\n}\n\nexport function setWebGLContext(\n webGLVersion: number, gl: WebGLRenderingContext) {\n contexts[webGLVersion] = gl;\n}\n\nexport function getWebGLContext(webGLVersion: number): WebGLRenderingContext {\n if (!(webGLVersion in contexts)) {\n const newCtx = getWebGLRenderingContext(webGLVersion);\n if (newCtx !== null) {\n contexts[webGLVersion] = newCtx;\n } else {\n console.log('Could not get context for WebGL version', webGLVersion);\n return null;\n }\n }\n const gl = contexts[webGLVersion];\n if (gl.isContextLost()) {\n delete contexts[webGLVersion];\n return getWebGLContext(webGLVersion);\n }\n\n gl.disable(gl.DEPTH_TEST);\n gl.disable(gl.STENCIL_TEST);\n gl.disable(gl.BLEND);\n gl.disable(gl.DITHER);\n gl.disable(gl.POLYGON_OFFSET_FILL);\n gl.disable(gl.SAMPLE_COVERAGE);\n gl.enable(gl.SCISSOR_TEST);\n gl.enable(gl.CULL_FACE);\n gl.cullFace(gl.BACK);\n\n return contexts[webGLVersion];\n}\n\nfunction createCanvas(webGLVersion: number) {\n if (typeof OffscreenCanvas !== 'undefined' && webGLVersion === 2) {\n return new OffscreenCanvas(300, 150);\n } else if (typeof document !== 'undefined') {\n return document.createElement('canvas');\n } else {\n throw new Error('Cannot create a canvas in this context');\n }\n}\n\nfunction getWebGLRenderingContext(webGLVersion: number): WebGLRenderingContext {\n if (webGLVersion !== 1 && webGLVersion !== 2) {\n throw new Error('Cannot get WebGL rendering context, WebGL is disabled.');\n }\n const caLine truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"canvas_util_test.js","sourceRoot":"","sources":["../src/canvas_util_test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC5C,iDAAiD;AACjD,OAAO,EAAC,YAAY,EAAE,iBAAiB,EAAC,MAAM,yCAAyC,CAAC;AAExF,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAE9C,iBAAiB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,MAAM,GACR,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,MAE9C,CAAC;QACZ,MAAM,CACF,CAAC,MAAM,YAAY,iBAAiB,CAAC;YACrC,CAAC,MAAM,YAAY,eAAe,CAAC,CAAC;aACnC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iBAAiB,CAAC,oBAAoB,EAAE,EAAC,KAAK,EAAE,EAAC,aAAa,EAAE,CAAC,EAAC,EAAC,EAAE,GAAG,EAAE;IACxE,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
||||
{"version":3,"file":"canvas_util_test.js","sourceRoot":"","sources":["../src/canvas_util_test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC5C,iDAAiD;AACjD,OAAO,EAAC,YAAY,EAAE,iBAAiB,EAAC,MAAM,yCAAyC,CAAC;AAExF,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAE9C,iBAAiB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,MAAM,GACR,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,MAE9C,CAAC;QACZ,MAAM,CACF,CAAC,MAAM,YAAY,iBAAiB,CAAC;YACrC,CAAC,MAAM,YAAY,eAAe,CAAC,CAAC;aACnC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iBAAiB,CAAC,oBAAoB,EAAE,EAAC,KAAK,EAAE,EAAC,aAAa,EAAE,CAAC,EAAC,EAAC,EAAE,GAAG,EAAE;IACxE,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\nimport * as tf from '@tensorflow/tfjs-core';\n// tslint:disable-next-line: no-imports-from-dist\nimport {BROWSER_ENVS, describeWithFlags} from '@tensorflow/tfjs-core/dist/jasmine_util';\n\nimport {getWebGLContext} from './canvas_util';\n\ndescribeWithFlags('canvas_util', BROWSER_ENVS, () => {\n it('Returns a valid canvas', () => {\n const canvas =\n getWebGLContext(tf.env().getNumber('WEBGL_VERSION')).canvas as\n // tslint:disable-next-line: no-any\n any;\n expect(\n (canvas instanceof HTMLCanvasElement) ||\n (canvas instanceof OffscreenCanvas))\n .toBe(true);\n });\n\n it('Returns a valid gl context', () => {\n const gl = getWebGLContext(tf.env().getNumber('WEBGL_VERSION'));\n expect(gl.isContextLost()).toBe(false);\n });\n});\n\ndescribeWithFlags('canvas_util webgl2', {flags: {WEBGL_VERSION: 2}}, () => {\n it('is ok when the user requests webgl 1 canvas', () => {\n const canvas = getWebGLContext(1).canvas;\n expect(canvas.getContext != null).toBe(true);\n });\n});\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"clip_gpu.js","sourceRoot":"","sources":["../src/clip_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,OAAO,WAAW;IAStB,YAAY,MAAgB;QAR5B,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QASpB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG;;;;;;;;;;;;;KAaf,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,GAAW,EAAE,GAAW;QACzC,OAAO,CAAC,KAAmB,EAAE,YAA0B,EAAE,EAAE;YACzD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;gBACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,yBAAyB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACtE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,yBAAyB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;aACvE;YACD,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACrC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"clip_gpu.js","sourceRoot":"","sources":["../src/clip_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,OAAO,WAAW;IAStB,YAAY,MAAgB;QAR5B,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QASpB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG;;;;;;;;;;;;;KAaf,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,GAAW,EAAE,GAAW;QACzC,OAAO,CAAC,KAAmB,EAAE,YAA0B,EAAE,EAAE;YACzD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;gBACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,yBAAyB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACtE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,yBAAyB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;aACvE;YACD,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACrC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {GPGPUContext} from './gpgpu_context';\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class ClipProgram implements GPGPUProgram {\n variableNames = ['A'];\n userCode: string;\n outputShape: number[];\n\n // Caching uniform locations for speed.\n minLoc: WebGLUniformLocation;\n maxLoc: WebGLUniformLocation;\n\n constructor(aShape: number[]) {\n this.outputShape = aShape;\n this.userCode = `\n uniform float minVal;\n uniform float maxVal;\n\n void main() {\n float value = getAAtOutCoords();\n if (isnan(value)) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, minVal, maxVal));\n }\n `;\n }\n\n getCustomSetupFunc(min: number, max: number) {\n return (gpgpu: GPGPUContext, webGLProgram: WebGLProgram) => {\n if (this.minLoc == null) {\n this.minLoc = gpgpu.getUniformLocationNoThrow(webGLProgram, 'minVal');\n this.maxLoc = gpgpu.getUniformLocationNoThrow(webGLProgram, 'maxVal');\n }\n gpgpu.gl.uniform1f(this.minLoc, min);\n gpgpu.gl.uniform1f(this.maxLoc, max);\n };\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"clip_packed_gpu.js","sourceRoot":"","sources":["../src/clip_packed_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,OAAO,iBAAiB;IAW5B,YAAY,MAAgB;QAV5B,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,iBAAY,GAAG,IAAI,CAAC;QACpB,iBAAY,GAAG,IAAI,CAAC;QASlB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG;;;;;;;;;;;;;;KAcf,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,GAAW,EAAE,GAAW;QACzC,OAAO,CAAC,KAAmB,EAAE,YAA0B,EAAE,EAAE;YACzD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;gBACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,yBAAyB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACtE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,yBAAyB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;aACvE;YACD,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACrC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"clip_packed_gpu.js","sourceRoot":"","sources":["../src/clip_packed_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,OAAO,iBAAiB;IAW5B,YAAY,MAAgB;QAV5B,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,iBAAY,GAAG,IAAI,CAAC;QACpB,iBAAY,GAAG,IAAI,CAAC;QASlB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG;;;;;;;;;;;;;;KAcf,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,GAAW,EAAE,GAAW;QACzC,OAAO,CAAC,KAAmB,EAAE,YAA0B,EAAE,EAAE;YACzD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;gBACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,yBAAyB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACtE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,yBAAyB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;aACvE;YACD,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACrC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {GPGPUContext} from './gpgpu_context';\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class ClipPackedProgram implements GPGPUProgram {\n variableNames = ['A'];\n packedInputs = true;\n packedOutput = true;\n userCode: string;\n outputShape: number[];\n\n // Caching uniform locations for speed.\n minLoc: WebGLUniformLocation;\n maxLoc: WebGLUniformLocation;\n\n constructor(aShape: number[]) {\n this.outputShape = aShape;\n this.userCode = `\n uniform float minVal;\n uniform float maxVal;\n\n void main() {\n vec4 value = getAAtOutCoords();\n\n if (any(isnan(value))) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, vec4(minVal), vec4(maxVal)));\n }\n `;\n }\n\n getCustomSetupFunc(min: number, max: number) {\n return (gpgpu: GPGPUContext, webGLProgram: WebGLProgram) => {\n if (this.minLoc == null) {\n this.minLoc = gpgpu.getUniformLocationNoThrow(webGLProgram, 'minVal');\n this.maxLoc = gpgpu.getUniformLocationNoThrow(webGLProgram, 'maxVal');\n }\n gpgpu.gl.uniform1f(this.minLoc, min);\n gpgpu.gl.uniform1f(this.maxLoc, max);\n };\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"complex_abs_gpu.js","sourceRoot":"","sources":["../src/complex_abs_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,OAAO,iBAAiB;IAK5B,YAAY,KAAe;QAJ3B,kBAAa,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAK/B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG;;;;;;;;;;;;;KAaf,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"complex_abs_gpu.js","sourceRoot":"","sources":["../src/complex_abs_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,OAAO,iBAAiB;IAK5B,YAAY,KAAe;QAJ3B,kBAAa,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAK/B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG;;;;;;;;;;;;;KAaf,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class ComplexAbsProgram implements GPGPUProgram {\n variableNames = ['real', 'imag'];\n userCode: string;\n outputShape: number[];\n\n constructor(shape: number[]) {\n this.outputShape = shape;\n this.userCode = `\n void main() {\n float re = abs(getRealAtOutCoords());\n float im = abs(getImagAtOutCoords());\n float mx = max(re, im);\n\n // sadly the length function in glsl is not underflow-safe\n // (at least not on Intel GPUs). So the safe solution is\n // to ensure underflow-safety in all cases.\n setOutput(\n mx == 0.0 ? 0.0 : mx * length(vec2(1, min(re, im)/mx))\n );\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"concat_gpu.js","sourceRoot":"","sources":["../src/concat_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAGnD,MAAM,OAAO,aAAa;IAKxB,8EAA8E;IAC9E,YAAY,MAA+B;QAJ3C,gBAAW,GAAa,EAAE,CAAC;QAKzB,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;QACtE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEnD,MAAM,OAAO,GAAa,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5C;QAED,MAAM,QAAQ,GAAG,CAAC,YAAY,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,QAAQ,CAAC,IAAI,CACT,iBAAiB,OAAO,CAAC,CAAC,CAAC,IAAI;gBAC/B,iBAAiB,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC;SAC9C;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;QACjC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,sBAAsB,SAAS,WAAW,SAAS,KAAK,CAAC,CAAC;QAExE,IAAI,CAAC,QAAQ,GAAG;;;;;;UAMV,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;;KAEhC,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"concat_gpu.js","sourceRoot":"","sources":["../src/concat_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAGnD,MAAM,OAAO,aAAa;IAKxB,8EAA8E;IAC9E,YAAY,MAA+B;QAJ3C,gBAAW,GAAa,EAAE,CAAC;QAKzB,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;QACtE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEnD,MAAM,OAAO,GAAa,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5C;QAED,MAAM,QAAQ,GAAG,CAAC,YAAY,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,QAAQ,CAAC,IAAI,CACT,iBAAiB,OAAO,CAAC,CAAC,CAAC,IAAI;gBAC/B,iBAAiB,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC;SAC9C;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;QACjC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,sBAAsB,SAAS,WAAW,SAAS,KAAK,CAAC,CAAC;QAExE,IAAI,CAAC,QAAQ,GAAG;;;;;;UAMV,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;;KAEhC,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {backend_util} from '@tensorflow/tfjs-core';\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class ConcatProgram implements GPGPUProgram {\n variableNames: string[];\n outputShape: number[] = [];\n userCode: string;\n\n // Concats 2d tensors along axis=1. See comments in MathBackendWebGL.concat().\n constructor(shapes: Array<[number, number]>) {\n this.outputShape = backend_util.computeOutShape(shapes, 1 /* axis */);\n this.variableNames = shapes.map((_, i) => `T${i}`);\n\n const offsets: number[] = new Array(shapes.length - 1);\n offsets[0] = shapes[0][1];\n for (let i = 1; i < offsets.length; i++) {\n offsets[i] = offsets[i - 1] + shapes[i][1];\n }\n\n const snippets = [`if (yC < ${offsets[0]}) setOutput(getT0(yR, yC));`];\n for (let i = 1; i < offsets.length; i++) {\n const shift = offsets[i - 1];\n snippets.push(\n `else if (yC < ${offsets[i]}) ` +\n `setOutput(getT${i}(yR, yC-${shift}));`);\n }\n const lastIndex = offsets.length;\n const lastShift = offsets[offsets.length - 1];\n snippets.push(`else setOutput(getT${lastIndex}(yR, yC-${lastShift}));`);\n\n this.userCode = `\n void main() {\n ivec2 coords = getOutputCoords();\n int yR = coords.x;\n int yC = coords.y;\n\n ${snippets.join('\\n ')}\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"concat_packed_gpu.js","sourceRoot":"","sources":["../src/concat_packed_gpu.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"concat_packed_gpu.js","sourceRoot":"","sources":["../src/concat_packed_gpu.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {backend_util} from '@tensorflow/tfjs-core';\n\nimport {GPGPUProgram} from './gpgpu_math';\nimport {getChannels} from './packing_util';\nimport {getCoordsDataType} from './shader_compiler';\n\nexport class ConcatPackedProgram implements GPGPUProgram {\n variableNames: string[];\n packedInputs = true;\n packedOutput = true;\n outputShape: number[] = [];\n userCode: string;\n\n constructor(shapes: number[][], axis: number) {\n this.outputShape = backend_util.computeOutShape(shapes, axis);\n const shape = this.outputShape;\n const rank = shape.length;\n const dtype = getCoordsDataType(rank);\n const coords = getChannels('coords', rank);\n const channels = ['x', 'y', 'z', 'w', 'u', 'v'].slice(0, rank);\n this.variableNames = shapes.map((_, i) => `T${i}`);\n\n const offsets: number[] = new Array(shapes.length - 1);\n offsets[0] = shapes[0][axis];\n for (let i = 1; i < offsets.length; i++) {\n offsets[i] = offsets[i - 1] + shapes[i][axis];\n }\n\n const channel = channels[axis];\n const lastChannLine truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"conv_backprop_gpu.js","sourceRoot":"","sources":["../src/conv_backprop_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,OAAO,sBAAsB;IAKjC,YAAY,QAAiC;QAJ7C,kBAAa,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAK1B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QAExC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,KAAK,cAAc,CAAC;QAE9D,IAAI,CAAC,QAAQ,GAAG;;;;;;;;;;;;8BAYU,QAAQ,CAAC,SAAS;kCACd,QAAQ,CAAC,SAAS;iCACnB,YAAY,MAAM,MAAM;;kCAEvB,QAAQ,CAAC,QAAQ;;;;oCAIf,QAAQ,CAAC,QAAQ;mCAClB,WAAW,MAAM,OAAO;;oCAEvB,QAAQ,CAAC,OAAO;;;;oBAIhC,cAAc;;;;;;;;;;;;;;;KAe7B,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,qBAAqB;IAKhC,YAAY,QAAiC;QAJ7C,kBAAa,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAK1B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC;QAEpC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,KAAK,cAAc,CAAC;QAE9D,MAAM,MAAM,GAAG,YAAY,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;QACvD,MAAM,OAAO,GAAG,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QAExD,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1C,IAAI,CAAC,QAAQ,GAAG;iCACa,MAAM,KAAK,OAAO;;;;;0BAKzB,UAAU;;wCAEI,MAAM,aAAa,MAAM;;;;;;;gCAOjC,YAAY;gDACI,YAAY;;oCAExB,QAAQ,CAAC,SAAS;;;;;yBAK7B,YAAY;;kCAEH,WAAW;kDACK,WAAW;;sCAEvB,QAAQ,CAAC,QAAQ;;;;;;2BAM5B,WAAW;;oCAEF,QAAQ,CAAC,WAAW;;oBAEpC,cAAc;;;;;;;;;;;;;;;KAe7B,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,sBAAsB;IAKjC,YAAY,QAAiC;QAJ7C,kBAAa,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAK1B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QAExC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;QACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QAEtC,IAAI,CAAC,QAAQ,GAAG;;;;;;;;;;;8BAWU,QAAQ,CAAC,SAAS;kCACd,QAAQ,CAAC,QAAQ;iCAClB,WAAW,MAAM,QAAQ;;kCAExB,QAAQ,CAAC,OAAO;;;;oCAId,QAAQ,CAAC,SAAS;mCACnB,YAAY,MAAM,MAAM;;oCAEvB,QAAQ,CAAC,QAAQ;;;;sCAIf,QAAQ,CAAC,QAAQ;qCAClB,WAAW,MAAM,OAAO;;sCAEvB,QAAQ,CAAC,OAAO;;;;;;;;;;;;;KAajD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,qBAAqB;IAKhC,YAAY,QAAiC;QAJ7C,kBAAa,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAK1B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC;QAEpC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QAEzC,MAAM,QAAQ,GAAG,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1D,MAAM,MAAM,GAAG,YAAY,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;QACvD,MAAM,OAAO,GAAG,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QAExD,IAAI,CAAC,QAAQ,GAAG;iCACa,QAAQ,KAAK,MAAM,KAAK,OAAO;;;;;;;;;;;;;;gCAchC,WAAW;gDACK,WAAW;;oCAEvB,QAAQ,CAAC,QAAQ;;;;;yBAK5B,WAAW;;kCAEF,YAAY;kDACI,YAAY;;sCAExB,QAAQ,CAAC,SAAS;;;;;;2BAM7B,YAAY;;oCAEH,WAAW;oDACK,WAAW;;wCAEvB,QAAQ,CAAC,QAAQ;;;;;;6BAM5B,WAAW;;sCAEF,QAAQ,CAAC,WAAW;;;;;;;;;;KAUrD,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"conv_backprop_gpu.js","sourceRoot":"","sources":["../src/conv_backprop_gpu.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {backend_util} from '@tensorflow/tfjs-core';\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class Conv2DDerFilterProgram implements GPGPUProgram {\n variableNames = ['x', 'dy'];\n outputShape: number[];\n userCode: string;\n\n constructor(convInfo: backend_util.Conv2DInfo) {\n this.outputShape = convInfo.filterShape;\n\n const strideHeight = convInfo.strideHeight;\n const strideWidth = convInfo.strideWidth;\n const padTop = convInfo.padInfo.top;\n const padLeft = convInfo.padInfo.left;\n const isChannelsLast = convInfo.dataFormat === 'channelsLast';\n\n this.userCode = `\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int d2 = coords.w;\n\n // Convolve x(?, ?, d1) with dy(:, :, d2) to get dw(wR, wC, d1, d2).\n // Line truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"conv_backprop_gpu_depthwise.js","sourceRoot":"","sources":["../src/conv_backprop_gpu_depthwise.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,OAAO,+BAA+B;IAK1C,YAAY,QAAiC;QAJ7C,kBAAa,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAK1B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QAExC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC;QAE9D,IAAI,CAAC,QAAQ,GAAG;;;;;;;wBAOI,UAAU;;;;;8BAKJ,QAAQ,CAAC,SAAS;kCACd,QAAQ,CAAC,SAAS;iCACnB,YAAY,MAAM,MAAM;;kCAEvB,QAAQ,CAAC,QAAQ;;;;oCAIf,QAAQ,CAAC,QAAQ;mCAClB,WAAW,MAAM,OAAO;;oCAEvB,QAAQ,CAAC,OAAO;;;;;;;;;;;;KAY/C,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,8BAA8B;IAKzC,YAAY,QAAiC;QAJ7C,kBAAa,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAK1B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC;QAEpC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QAEzC,MAAM,MAAM,GAAG,YAAY,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;QACvD,MAAM,OAAO,GAAG,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC;QAE9D,IAAI,CAAC,QAAQ,GAAG;iCACa,MAAM,KAAK,OAAO;;;;;;;;;;;;gCAYnB,YAAY;gDACI,YAAY;;oCAExB,QAAQ,CAAC,SAAS;;;;;yBAK7B,YAAY;;kCAEH,WAAW;kDACK,WAAW;;sCAEvB,QAAQ,CAAC,QAAQ;;;;;;2BAM5B,WAAW;;;oCAGF,UAAU;8BAChB,UAAU;;;;;;;;;KASnC,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"conv_backprop_gpu_depthwise.js","sourceRoot":"","sources":["../src/conv_backprop_gpu_depthwise.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,OAAO,+BAA+B;IAK1C,YAAY,QAAiC;QAJ7C,kBAAa,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAK1B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QAExC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC;QAE9D,IAAI,CAAC,QAAQ,GAAG;;;;;;;wBAOI,UAAU;;;;;8BAKJ,QAAQ,CAAC,SAAS;kCACd,QAAQ,CAAC,SAAS;iCACnB,YAAY,MAAM,MAAM;;kCAEvB,QAAQ,CAAC,QAAQ;;;;oCAIf,QAAQ,CAAC,QAAQ;mCAClB,WAAW,MAAM,OAAO;;oCAEvB,QAAQ,CAAC,OAAO;;;;;;;;;;;;KAY/C,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,8BAA8B;IAKzC,YAAY,QAAiC;QAJ7C,kBAAa,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAK1B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC;QAEpC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QAEzC,MAAM,MAAM,GAAG,YAAY,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;QACvD,MAAM,OAAO,GAAG,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC;QAE9D,IAAI,CAAC,QAAQ,GAAG;iCACa,MAAM,KAAK,OAAO;;;;;;;;;;;;gCAYnB,YAAY;gDACI,YAAY;;oCAExB,QAAQ,CAAC,SAAS;;;;;yBAK7B,YAAY;;kCAEH,WAAW;kDACK,WAAW;;sCAEvB,QAAQ,CAAC,QAAQ;;;;;;2BAM5B,WAAW;;;oCAGF,UAAU;8BAChB,UAAU;;;;;;;;;KASnC,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {backend_util} from '@tensorflow/tfjs-core';\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class DepthwiseConv2DDerFilterProgram implements GPGPUProgram {\n variableNames = ['x', 'dy'];\n outputShape: number[];\n userCode: string;\n\n constructor(convInfo: backend_util.Conv2DInfo) {\n this.outputShape = convInfo.filterShape;\n\n const strideHeight = convInfo.strideHeight;\n const strideWidth = convInfo.strideWidth;\n const padTop = convInfo.padInfo.top;\n const padLeft = convInfo.padInfo.left;\n const channelMul = convInfo.outChannels / convInfo.inChannels;\n\n this.userCode = `\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int dm = coords.w;\n int d2 = d1 * ${channelMul} + dm;\n\n float dotProd = 0.0;\n\n // TO DO: Vec4 over the batch size\n for (int b = 0; b < ${convInfo.batchSize}; b++) {\n for (int yR = 0; yR < ${convInfo.outHeight}; yR++) {\n int xR = wR + yR * ${strideHeight} - ${padTop};\n\n if (xR < 0 || xR >= ${convInfo.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${convInfo.outWidth}; yC++) {\n int xC = wC + yC * ${strideWidth} - ${padLeft};\n\n if (xC < 0 || xC >= ${convInfo.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n setOutput(dotProd);\n }\n `;\n }\n}\n\nexport class DepthwiseConv2DDerInputProgram implements GPGPUProgram {\n variableNames = ['dy', 'W'];\n outputShape: number[];\n userCode: string;\n\n constructor(convInfo: backend_util.Conv2DInfo) {\n this.outputShape = convInfo.inShape;\n\n const filterHeight = convInfo.filterHeight;\n const filterWidth = convInfo.filterWidth;\n const strideHeight = convInfo.strideHeight;\n const strideWidth = convInfo.strideWidth;\n\n const padTop = filterHeight - 1 - convInfo.padInfo.top;\n const padLeft = filterWidth - 1 - convInfo.padInfo.left;\n const channelMul = convInfo.outChannels / convInfo.inChannels;\n\n this.userCode = `\n const ivec2 pads = ivec2(${padTop}, ${padLeft});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n ivec2 dyCorner = coords.yz - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n float dotProd = 0.0;\n\n for (int wR = 0; wR < ${filterHeight}; Line truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"conv_gpu.js","sourceRoot":"","sources":["../src/conv_gpu.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"conv_gpu.js","sourceRoot":"","sources":["../src/conv_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,OAAO,aAAa;IAKxB,YACI,QAAiC,EAAE,OAAO,GAAG,KAAK,EAClD,aAAqB,IAAI,EAAE,yBAAyB,GAAG,KAAK,EAC5D,iBAAiB,GAAG,KAAK;QAP7B,kBAAa,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAQzB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAC/C,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC7C,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QAEzC,MAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACtE,MAAM,uBAAuB,GAAG,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,KAAK,cAAc,CAAC;QAE9D,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1C,IAAI,iBAAiB,GAAG,EAAE,EAAE,sBAAsB,GAAG,EAAE,CAAC;QACxD,IAAI,UAAU,EAAE;YACd,IAAI,yBAAyB,EAAE;gBAC7B,iBAAiB,GAAG;;YAEhB,UAAU;UACZ,CAAC;aACJ;iBAAM,IAAI,iBAAiB,EAAE;gBAC5B,iBAAiB,GAAG;;YAEhB,UAAU;UACZ,CAAC;aACJ;iBAAM;gBACL,iBAAiB,GAAG;;cAEd,UAAU;;SAEf,CAAC;aACH;YAED,sBAAsB,GAAG,8BAA8B,CAAC;SACzD;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACjC;QAED,IAAI,yBAAyB,EAAE;YAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;SACnD;QAED,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,QAAQ,GAAG;QACZ,iBAAiB;;oCAEW,YAAY,KAAK,WAAW;iCAC/B,MAAM,KAAK,OAAO;;;;;0BAKzB,UAAU;;;2BAGT,MAAM,aAAa,MAAM;;;;;;;gCAOpB,YAAY;qCACP,cAAc;;gCAEnB,QAAQ,CAAC,QAAQ;;;;kCAIf,WAAW;uCACN,aAAa;;kCAElB,QAAQ,CAAC,OAAO;;;;oCAId,qBAAqB;;;;;;;;oBAQrC,cAAc;;;;;;;;;;;;;;;;;;;kBAmBhB,uBAAuB,KAAK,CAAC;;oBAE3B,cAAc;;0CAEQ,qBAAqB;mCAC5B,qBAAqB;;;kCAGtB,qBAAqB;mCACpB,qBAAqB;;;yBAG/B,uBAAuB,KAAK,CAAC;;+BAEvB,qBAAqB;+BACrB,qBAAqB;;;oBAGhC,cAAc;;wCAEM,qBAAqB;wCACrB,qBAAqB;;;;;gCAK7B,qBAAqB;gCACrB,qBAAqB;;;;;yBAK5B,uBAAuB,KAAK,CAAC;;+BAEvB,qBAAqB;+BACrB,qBAAqB;+BACrB,qBAAqB;;;oBAGhC,cAAc;;wCAEM,qBAAqB;wCACrB,qBAAqB;wCACrB,qBAAqB;;;;;gCAK7B,qBAAqB;gCACrB,qBAAqB;gCACrB,qBAAqB;;;;;;;;;;UAU3C,cAAc;UACd,sBAAsB;;;KAG3B,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IAKxB,YAAY,QAAiC;QAJ7C,kBAAa,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAKzB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;QACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC7C,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAC/C,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QAEzC,MAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACtE,MAAM,uBAAuB,GAAG,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;QAExD,IAAI,CAAC,QAAQ,GAAG;oCACgB,WAAW,KAAK,YAAY,KACxD,WAAW;iCACc,QAAQ,KAAK,MAAM,KAAK,OAAO;;;;;;;;;;;;;;;;gCAgBhC,WAAW;qCACN,aAAa;;gCAElB,QAAQ,CAAC,OAAO;;;;kCAId,YAAY;uCACP,cAAc;;kCAEnB,QAAQ,CAAC,QAAQ;;;;oCAIf,WAAW;yCACN,aAAa;;oCAElB,QAAQ,CAAC,OAAO;;;;sCAId,qBAAqB;;;;;;;;;;;;;;;;;oBAiBvC,uBAAuB,KAAK,CAAC;;4CAEL,qBAAqB;qCAC5B,qBAAqB;2BAC/B,uBAAuB,KAAK,CAAC;;4CAEZ,qBAAqB;4CACrB,qBAAqB;;;qCAG5B,qBAAqB;qCACrB,qBAAqB;;;2BAG/B,uBAAuB,KAAK,CAAC;;4CAEZ,qBAAqB;4CACrB,qBAAqB;4CACrB,qBAAqB;;;qCAG5B,qBAAqB;qCACrB,qBAAqB;qCACrB,qBAAqB;;;;;;;;;KASrD,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {backend_util} from '@tensorflow/tfjs-core';\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class Conv2DProgram implements GPGPUProgram {\n variableNames = ['x', 'W'];\n outputShape: number[];\n userCode: string;\n\n constructor(\n convInfo: backend_util.Conv2DInfo, addBias = false,\n activation: string = null, hasPreluActivationWeights = false,\n hasLeakyreluAlpha = false) {\n this.outputShape = convInfo.outShape;\n consLine truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"conv_gpu_depthwise.js","sourceRoot":"","sources":["../src/conv_gpu_depthwise.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,OAAO,sBAAsB;IAKjC,YACI,QAAiC,EAAE,OAAO,GAAG,KAAK,EAClD,aAAqB,IAAI,EAAE,kBAAkB,GAAG,KAAK,EACrD,iBAAiB,GAAG,KAAK;QAP7B,kBAAa,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAQzB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAErC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAC/C,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC7C,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC;QAE9D,IAAI,iBAAiB,GAAG,EAAE,EAAE,sBAAsB,GAAG,EAAE,CAAC;QACxD,IAAI,UAAU,EAAE;YACd,IAAI,kBAAkB,EAAE;gBACtB,iBAAiB,GAAG;;YAEhB,UAAU;UACZ,CAAC;aACJ;iBAAM,IAAI,iBAAiB,EAAE;gBAC5B,iBAAiB,GAAG;;YAEhB,UAAU;UACZ,CAAC;aACJ;iBAAM;gBACL,iBAAiB,GAAG;;cAEd,UAAU;;SAEf,CAAC;aACH;YAED,sBAAsB,GAAG,8BAA8B,CAAC;SACzD;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACjC;QAED,IAAI,kBAAkB,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;SACnD;QACD,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,QAAQ,GAAG;QACZ,iBAAiB;;oCAEW,YAAY,KAAK,WAAW;iCAC/B,MAAM,KAAK,OAAO;;;;;;;wBAO3B,UAAU;4BACN,UAAU;;;;;;;;;gCASN,YAAY;qCACP,cAAc;;gCAEnB,QAAQ;;;;kCAIN,WAAW;uCACN,aAAa;;kCAElB,QAAQ;;;;;;;;;;;UAWhC,cAAc;UACd,sBAAsB;;;KAG3B,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"conv_gpu_depthwise.js","sourceRoot":"","sources":["../src/conv_gpu_depthwise.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,OAAO,sBAAsB;IAKjC,YACI,QAAiC,EAAE,OAAO,GAAG,KAAK,EAClD,aAAqB,IAAI,EAAE,kBAAkB,GAAG,KAAK,EACrD,iBAAiB,GAAG,KAAK;QAP7B,kBAAa,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAQzB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAErC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAC/C,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC7C,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC;QAE9D,IAAI,iBAAiB,GAAG,EAAE,EAAE,sBAAsB,GAAG,EAAE,CAAC;QACxD,IAAI,UAAU,EAAE;YACd,IAAI,kBAAkB,EAAE;gBACtB,iBAAiB,GAAG;;YAEhB,UAAU;UACZ,CAAC;aACJ;iBAAM,IAAI,iBAAiB,EAAE;gBAC5B,iBAAiB,GAAG;;YAEhB,UAAU;UACZ,CAAC;aACJ;iBAAM;gBACL,iBAAiB,GAAG;;cAEd,UAAU;;SAEf,CAAC;aACH;YAED,sBAAsB,GAAG,8BAA8B,CAAC;SACzD;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACjC;QAED,IAAI,kBAAkB,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;SACnD;QACD,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,QAAQ,GAAG;QACZ,iBAAiB;;oCAEW,YAAY,KAAK,WAAW;iCAC/B,MAAM,KAAK,OAAO;;;;;;;wBAO3B,UAAU;4BACN,UAAU;;;;;;;;;gCASN,YAAY;qCACP,cAAc;;gCAEnB,QAAQ;;;;kCAIN,WAAW;uCACN,aAAa;;kCAElB,QAAQ;;;;;;;;;;;UAWhC,cAAc;UACd,sBAAsB;;;KAG3B,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {backend_util} from '@tensorflow/tfjs-core';\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class DepthwiseConv2DProgram implements GPGPUProgram {\n variableNames = ['x', 'W'];\n outputShape: number[];\n userCode: string;\n\n constructor(\n convInfo: backend_util.Conv2DInfo, addBias = false,\n activation: string = null, hasPreluActivation = false,\n hasLeakyReluAlpha = false) {\n this.outputShape = convInfo.outShape;\n\n const xNumRows = convInfo.inHeight;\n const xNumCols = convInfo.inWidth;\n const padTop = convInfo.padInfo.top;\n const padLeft = convInfo.padInfo.left;\n const strideHeight = convInfo.strideHeight;\n const strideWidth = convInfo.strideWidth;\n const dilationHeight = convInfo.dilationHeight;\n const dilationWidth = convInfo.dilationWidth;\n const filterHeight = convInfo.filterHeight;\n const filterWidth = convInfo.filterWidth;\n const channelMul = convInfo.outChannels / convInfo.inChannels;\n\n let activationSnippet = '', applyActivationSnippet = '';\n if (activation) {\n if (hasPreluActivation) {\n activationSnippet = `float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${activation}\n }`;\n } else if (hasLeakyReluAlpha) {\n activationSnippet = `float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${activation}\n }`;\n } else {\n activationSnippet = `\n float activation(float x) {\n ${activation}\n }\n `;\n }\n\n applyActivationSnippet = `result = activation(result);`;\n }\n\n const addBiasSnippet = addBias ? 'result += getBiasAtOutCoords();' : '';\n if (addBias) {\n this.variableNames.push('bias');\n }\n\n if (hasPreluActivation) {\n this.variableNames.push('preluActivationWeights');\n }\n if (hasLeakyReluAlpha) {\n this.variableNames.push('leakyreluAlpha');\n }\n\n this.userCode = `\n ${activationSnippet}\n\n const ivec2 strides = ivec2(${strideHeight}, ${strideWidth});\n const ivec2 pads = ivec2(${padTop}, ${padLeft});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n ivec2 xRCCorner = coords.yz * strides - pads;\n int d2 = coords.w;\n int d1 = d2 / ${channelMul};\n int q = d2 - d1 * ${channelMul};\n\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Line truncated
|
||||
Generated
Vendored
+158
-109
@@ -21,6 +21,7 @@ export class DepthwiseConvPacked2DProgram {
|
||||
this.packedInputs = true;
|
||||
this.packedOutput = true;
|
||||
this.outputShape = convInfo.outShape;
|
||||
const channelMul = convInfo.outChannels / convInfo.inChannels;
|
||||
const xNumRows = convInfo.inHeight;
|
||||
const xNumCols = convInfo.inWidth;
|
||||
const padTop = convInfo.padInfo.top;
|
||||
@@ -32,14 +33,14 @@ export class DepthwiseConvPacked2DProgram {
|
||||
const filterHeight = convInfo.filterHeight;
|
||||
const filterWidth = convInfo.filterWidth;
|
||||
const texelsAcross = filterWidth;
|
||||
let mainLoop = `int xR; int xC; int xCOffset;`;
|
||||
for (let r = 0; r < filterHeight; r++) {
|
||||
for (let c = 0; c < filterWidth; c++) {
|
||||
mainLoop += `
|
||||
vec4 xTexelR${r}C${c * 2} = vec4(0.);
|
||||
vec4 wR${r}C${c} = vec4(0.);
|
||||
vec4 xR${r}C${c} = vec4(0.);`;
|
||||
}
|
||||
let mainLoop = `
|
||||
int xR; int xC; int xCOffset;
|
||||
vec4 wTexel; vec4 previous; vec4 final;`;
|
||||
for (let c = 0; c < filterWidth; c++) {
|
||||
mainLoop += `
|
||||
vec4 xTexelC${c * 2};
|
||||
int xTexelC${c * 2}Ready;
|
||||
vec4 xC${c};`;
|
||||
}
|
||||
/**
|
||||
* This vectorized implementation works by gathering the values needed for
|
||||
@@ -50,14 +51,24 @@ export class DepthwiseConvPacked2DProgram {
|
||||
* values from a texture2D call at once.
|
||||
*/
|
||||
for (let r = 0; r < filterHeight; r++) {
|
||||
for (let texelC = 0; texelC < texelsAcross; texelC++) {
|
||||
const c = texelC * 2;
|
||||
for (let c = 0; c < filterWidth; c++) {
|
||||
mainLoop += `
|
||||
xR = xRCorner + ${r * dilationHeight};
|
||||
xC = xCCorner + ${c * dilationWidth};
|
||||
`;
|
||||
xTexelC${c * 2} = vec4(0.0);
|
||||
xTexelC${c * 2}Ready = 0;
|
||||
xC${c} = vec4(0.0);`;
|
||||
}
|
||||
mainLoop += `
|
||||
xR = xRCorner + ${r * dilationHeight};
|
||||
if (xR >=0 && xR < ${xNumRows}) {
|
||||
`;
|
||||
for (let texelC = 0; texelC < (texelsAcross + 1) / 2; texelC++) {
|
||||
const colIndex = texelC * 2;
|
||||
const c = colIndex * dilationWidth;
|
||||
mainLoop += `
|
||||
xC = xCCorner + ${c};
|
||||
`;
|
||||
if (strideWidth === 1) {
|
||||
if (c < filterWidth) {
|
||||
if (colIndex < filterWidth) {
|
||||
// If padding is odd, the outer texels have to be composed.
|
||||
if (padLeft % 2 === 1) {
|
||||
// TODO: Ensure vec4 previous does not result in redundant sample,
|
||||
@@ -69,45 +80,57 @@ export class DepthwiseConvPacked2DProgram {
|
||||
// - We subtract 2 to access the previous texel.
|
||||
mainLoop += `
|
||||
xCOffset = xC + 1;
|
||||
if(xR >= 0 && xR < ${xNumRows} && xCOffset >= 0 && xCOffset < ${xNumCols}) {
|
||||
xTexelR${r}C${c} = getX(batch, xR, xCOffset, d1);
|
||||
if (xCOffset >= 0 && xCOffset < ${xNumCols} && xTexelC${c}Ready == 0) {
|
||||
xTexelC${c} = getX(batch, xR, xCOffset, d1);
|
||||
|
||||
// Need to manually clear unused channels in case
|
||||
// we're reading from recycled texture.
|
||||
if(xCOffset + 1 >= ${xNumCols}) {
|
||||
xTexelR${r}C${c}.zw = vec2(0.);
|
||||
if (xCOffset + 1 >= ${xNumCols}) {
|
||||
xTexelC${c}.zw = vec2(0.0);
|
||||
}
|
||||
} else {
|
||||
xTexelR${r}C${c} = vec4(0.);
|
||||
}
|
||||
|
||||
xCOffset = xC + 1 - 2;
|
||||
if(xR >= 0 && xR < ${xNumRows} && xCOffset >= 0 && xCOffset < ${xNumCols}) {
|
||||
vec4 previous = getX(batch, xR, xCOffset, d1);
|
||||
|
||||
// Need to manually clear unused channels in case
|
||||
// we're reading from recycled texture.
|
||||
if(xCOffset + 1 >= ${xNumCols}) {
|
||||
previous.zw = vec2(0.);
|
||||
}
|
||||
|
||||
xR${r}C${c} = vec4(previous.zw, xTexelR${r}C${c}.xy);
|
||||
} else {
|
||||
xR${r}C${c} = vec4(0, 0, xTexelR${r}C${c}.xy);
|
||||
xTexelC${c}Ready = 1;
|
||||
}
|
||||
`;
|
||||
// This texel has been read in previous iteration if the dilation
|
||||
// is 1.
|
||||
if (dilationWidth === 1 && c > 0) {
|
||||
mainLoop += `
|
||||
xC${colIndex} = vec4(xTexelC${c - 2}.zw, xTexelC${c}.xy);
|
||||
`;
|
||||
}
|
||||
else {
|
||||
mainLoop += `
|
||||
xCOffset = xC + 1 - 2;
|
||||
|
||||
if (xCOffset >= 0 && xCOffset < ${xNumCols}) {
|
||||
previous = getX(batch, xR, xCOffset, d1);
|
||||
|
||||
// Need to manually clear unused channels in case
|
||||
// we're reading from recycled texture.
|
||||
if (xCOffset + 1 >= ${xNumCols}) {
|
||||
previous.zw = vec2(0.0);
|
||||
}
|
||||
|
||||
xC${colIndex} = vec4(previous.zw, xTexelC${c}.xy);
|
||||
} else {
|
||||
xC${colIndex} = vec4(0.0, 0.0, xTexelC${c}.xy);
|
||||
}
|
||||
`;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// Padding is even, so xRC corresponds to a single texel.
|
||||
mainLoop += `
|
||||
if(xR >= 0 && xR < ${xNumRows} && xC >= 0 && xC < ${xNumCols}) {
|
||||
xTexelR${r}C${c} = getX(batch, xR, xC, d1);
|
||||
} else {
|
||||
xTexelR${r}C${c} = vec4(0.);
|
||||
if (xC >= 0 && xC < ${xNumCols} && xTexelC${c}Ready == 0) {
|
||||
xTexelC${c} = getX(batch, xR, xC, d1);
|
||||
if (xC + 1 >= ${xNumCols}) {
|
||||
xTexelC${c}.zw = vec2(0.0);
|
||||
}
|
||||
xTexelC${c}Ready = 1;
|
||||
}
|
||||
|
||||
xR${r}C${c} = xTexelR${r}C${c};
|
||||
`;
|
||||
xC${colIndex} = xTexelC${c};
|
||||
`;
|
||||
}
|
||||
if (c + 1 < filterWidth) {
|
||||
// If dilation is even, the second entry should match the first
|
||||
@@ -123,130 +146,155 @@ export class DepthwiseConvPacked2DProgram {
|
||||
mainLoop += `
|
||||
xCOffset = xC + ${padLeft % 2} + ${nextTexelOffset};
|
||||
|
||||
if(xR >= 0 && xR < ${xNumRows} &&
|
||||
xCOffset >= 0 && xCOffset < ${xNumCols}) {
|
||||
xTexelR${r}C${c + 2} = getX(batch, xR, xCOffset, d1);
|
||||
if (xCOffset >= 0 && xCOffset < ${xNumCols} && xTexelC${c + 2}Ready == 0) {
|
||||
xTexelC${c + 2} = getX(batch, xR, xCOffset, d1);
|
||||
|
||||
// Need to manually clear unused channels in case
|
||||
// we're reading from recycled texture.
|
||||
if (xCOffset + 1 >= ${xNumCols}) {
|
||||
xTexelC${c + 2}.zw = vec2(0.0);
|
||||
}
|
||||
xTexelC${c + 2}Ready = 1;
|
||||
}
|
||||
`;
|
||||
`;
|
||||
// If dilation > 1 then the xRC's will not be able to share any
|
||||
// values, so each xRC will require two unique calls to getX.
|
||||
if (dilationWidth > 1) {
|
||||
mainLoop += `
|
||||
xCOffset -= 2;
|
||||
if(xR >= 0 && xR < ${xNumRows} &&
|
||||
xCOffset >= 0 && xCOffset < ${xNumCols}) {
|
||||
xTexelR${r}C${c} = getX(batch, xR, xCOffset, d1);
|
||||
} else {
|
||||
xTexelR${r}C${c} = vec4(0.);
|
||||
if (xCOffset >= 0 && xCOffset < ${xNumCols} && xTexelC${c}Ready == 0) {
|
||||
xTexelC${c} = getX(batch, xR, xCOffset, d1);
|
||||
xTexelC${c}Ready = 1;
|
||||
}
|
||||
`;
|
||||
`;
|
||||
}
|
||||
mainLoop += `
|
||||
xR${r}C${c + 1} = vec4(
|
||||
xTexelR${r}C${c}.zw, xTexelR${r}C${c + 2}.xy);
|
||||
`;
|
||||
xC${colIndex + 1} = vec4(xTexelC${c}.zw, xTexelC${c + 2}.xy);
|
||||
`;
|
||||
}
|
||||
else {
|
||||
mainLoop += `
|
||||
xCOffset = xC + ${nextTexelOffset};
|
||||
// If dilation is 1 and padding is odd, we have already read the
|
||||
// texel when constructing the previous x value. Here we can
|
||||
// simply skip the texture read.
|
||||
if (nextTexelOffset === 1) {
|
||||
mainLoop += `
|
||||
xC${colIndex + 1} = xTexelC${c};
|
||||
`;
|
||||
}
|
||||
else {
|
||||
mainLoop += `
|
||||
xCOffset = xC + ${nextTexelOffset};
|
||||
|
||||
if(xR >= 0 && xR < ${xNumRows} &&
|
||||
xCOffset >= 0 && xCOffset < ${xNumCols}) {
|
||||
xTexelR${r}C${c + 2} = getX(batch, xR, xCOffset, d1);
|
||||
}
|
||||
if (xCOffset >= 0 && xCOffset < ${xNumCols} && xTexelC${c + 2}Ready == 0) {
|
||||
xTexelC${c + 2} = getX(batch, xR, xCOffset, d1);
|
||||
if (xCOffset + 1 >= ${xNumCols}) {
|
||||
xTexelC${c + 2}.zw = vec2(0.0);
|
||||
}
|
||||
xTexelC${c + 2}Ready = 1;
|
||||
}
|
||||
|
||||
xR${r}C${c + 1} = xTexelR${r}C${c + 2};
|
||||
`;
|
||||
xC${colIndex + 1} = xTexelC${c + 2};
|
||||
`;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else { // stride > 1
|
||||
else { // stride === 2
|
||||
if (c < filterWidth) {
|
||||
mainLoop += `
|
||||
if(xR >= 0 && xR < ${xNumRows}) {
|
||||
`;
|
||||
// Depending on whether padLeft is even or odd, we want either the
|
||||
// xy or zw channels from X texels for xR${r}C${c}. If padLeft is
|
||||
// even, xR${r}C${c + 1} is simply the zw channels of texels we've
|
||||
// already sampled. But if padLeft is odd, xR${r}C{$c + 1}.zw will
|
||||
// need to come from the xy channels of a new texel, hence the `vec4
|
||||
// xy or zw channels from X texels for xC${colIndex}. If padLeft is
|
||||
// even, xC${colIndex +1} is simply the zw channels of texels we've
|
||||
// already sampled. But if padLeft is odd, xC{$c + 1}.zw will
|
||||
// need to come from the xy channels of a new texel, hence the `
|
||||
// vec4
|
||||
// final` initialized below.
|
||||
if (padLeft % 2 === 1) {
|
||||
mainLoop += `
|
||||
xCOffset = xC + 1 - ${strideWidth};
|
||||
if(xCOffset >= 0 && xCOffset < ${xNumCols}) {
|
||||
xTexelR${r}C${c} = getX(batch, xR, xCOffset, d1);
|
||||
} else {
|
||||
xTexelR${r}C${c} = vec4(0.);
|
||||
if(xCOffset >= 0 && xCOffset < ${xNumCols} && xTexelC${c}Ready == 0) {
|
||||
xTexelC${c} = getX(batch, xR, xCOffset, d1);
|
||||
// Need to manually clear unused channels in case
|
||||
// we're reading from recycled texture.
|
||||
if (xCOffset + 1 >= ${xNumCols}) {
|
||||
xTexelC${c}.zw = vec2(0.0);
|
||||
}
|
||||
xTexelC${c}Ready = 1;
|
||||
}
|
||||
|
||||
if(xC + 1 >= 0 && xC + 1 < ${xNumCols}) {
|
||||
xTexelR${r}C${c + 2} = getX(batch, xR, xC + 1, d1);
|
||||
} else {
|
||||
xTexelR${r}C${c + 2} = vec4(0.);
|
||||
if(xC + 1 >= 0 && xC + 1 < ${xNumCols} && xTexelC${c + 2}Ready == 0) {
|
||||
xTexelC${c + 2} = getX(batch, xR, xC + 1, d1);
|
||||
// Need to manually clear unused channels in case
|
||||
// we're reading from recycled texture.
|
||||
if (xC + 2 >= ${xNumCols}) {
|
||||
xTexelC${c + 2}.zw = vec2(0.0);
|
||||
}
|
||||
xTexelC${c + 2}Ready = 1;
|
||||
}
|
||||
|
||||
xR${r}C${c} = vec4(
|
||||
xTexelR${r}C${c}.zw, xTexelR${r}C${c + 2}.zw);
|
||||
xC${colIndex} = vec4(xTexelC${c}.zw, xTexelC${c + 2}.zw);
|
||||
`;
|
||||
if (c + 1 < filterWidth) {
|
||||
mainLoop += `
|
||||
vec4 final = vec4(0.);
|
||||
final = vec4(0.0);
|
||||
xCOffset = xC + 1 + ${strideWidth};
|
||||
if(xCOffset >= 0 && xCOffset < ${xNumCols}) {
|
||||
final = getX(batch, xR, xCOffset, d1);
|
||||
}
|
||||
xR${r}C${c + 1} = vec4(xTexelR${r}C${c + 2}.xy, final.xy);
|
||||
xC${colIndex + 1} = vec4(xTexelC${c + 2}.xy, final.xy);
|
||||
`;
|
||||
}
|
||||
}
|
||||
else {
|
||||
mainLoop += `
|
||||
if(xC >= 0 && xC < ${xNumCols}) {
|
||||
xTexelR${r}C${c} = getX(batch, xR, xC, d1);
|
||||
} else {
|
||||
xTexelR${r}C${c} = vec4(0.);
|
||||
if(xC >= 0 && xC < ${xNumCols} && xTexelC${c}Ready == 0) {
|
||||
xTexelC${c} = getX(batch, xR, xC, d1);
|
||||
if (xC + 1 >= ${xNumCols}) {
|
||||
xTexelC${c}.zw = vec2(0.0);
|
||||
}
|
||||
xTexelC${c}Ready = 1;
|
||||
}
|
||||
|
||||
xCOffset = xC + ${strideWidth};
|
||||
if(xCOffset >= 0 && xCOffset < ${xNumCols}) {
|
||||
xTexelR${r}C${c + 2} = getX(batch, xR, xCOffset, d1);
|
||||
} else {
|
||||
xTexelR${r}C${c + 2} = vec4(0.);
|
||||
if(xCOffset >= 0 && xCOffset < ${xNumCols} && xTexelC${c + 2}Ready == 0) {
|
||||
xTexelC${c + 2} = getX(batch, xR, xCOffset, d1);
|
||||
if (xCOffset + 1 >= ${xNumCols}) {
|
||||
xTexelC${c + 2}.zw = vec2(0.);
|
||||
}
|
||||
xTexelC${c + 2}Ready = 1;
|
||||
}
|
||||
|
||||
xR${r}C${c} = vec4(
|
||||
xTexelR${r}C${c}.xy, xTexelR${r}C${c + 2}.xy);
|
||||
xC${colIndex} = vec4(
|
||||
xTexelC${c}.xy, xTexelC${c + 2}.xy);
|
||||
`;
|
||||
if (c + 1 < filterWidth) {
|
||||
mainLoop += `
|
||||
xR${r}C${c + 1} = vec4(
|
||||
xTexelR${r}C${c}.zw, xTexelR${r}C${c + 2}.zw);
|
||||
xC${colIndex + 1} = vec4(xTexelC${c}.zw, xTexelC${c + 2}.zw);
|
||||
`;
|
||||
}
|
||||
}
|
||||
mainLoop += `}`;
|
||||
}
|
||||
}
|
||||
if (c < filterWidth) {
|
||||
// localize the dotProd accumulation within the loop, the theory is for
|
||||
// GPU with limited cache, accumulate sum across large amount of
|
||||
// veriables will cause lots of cache misses. (i.e. 5x5 filter will have
|
||||
// 50 variables)
|
||||
if (colIndex < filterWidth) {
|
||||
mainLoop += `
|
||||
vec4 wTexelR${r}C${c} = getW(${r}, ${c}, d1, q);
|
||||
wR${r}C${c} = vec4(wTexelR${r}C${c}.xz, wTexelR${r}C${c}.xz);
|
||||
wTexel = getW(${r}, ${c}, d1, q);
|
||||
dotProd += xC${colIndex} * vec4(wTexel.xz, wTexel.xz);
|
||||
`;
|
||||
if (c + 1 < filterWidth) {
|
||||
mainLoop += `
|
||||
vec4 wTexelR${r}C${c + 1} = getW(${r}, ${c + 1}, d1, q);
|
||||
wR${r}C${c + 1} =
|
||||
vec4(wTexelR${r}C${c + 1}.xz, wTexelR${r}C${c + 1}.xz);`;
|
||||
wTexel = getW(${r}, ${c + 1}, d1, q);
|
||||
dotProd += xC${colIndex + 1} * vec4(wTexel.xz, wTexel.xz);
|
||||
`;
|
||||
}
|
||||
}
|
||||
}
|
||||
mainLoop += `
|
||||
}
|
||||
for (let r = 0; r < filterHeight; r++) {
|
||||
for (let c = 0; c < filterWidth; c++) {
|
||||
mainLoop += `dotProd += xR${r}C${c} * wR${r}C${c};`;
|
||||
}
|
||||
`;
|
||||
}
|
||||
let activationSnippet = '', applyActivationSnippet = '';
|
||||
if (activation) {
|
||||
@@ -291,16 +339,17 @@ export class DepthwiseConvPacked2DProgram {
|
||||
int batch = coords.x;
|
||||
ivec2 xRCCorner = coords.yz * strides - pads;
|
||||
int d2 = coords.w;
|
||||
int d1 = d2;
|
||||
int q = 0;
|
||||
int d1 = d2 / ${channelMul};
|
||||
int q = d2 - d1 * ${channelMul};
|
||||
int xRCorner = xRCCorner.x;
|
||||
int xCCorner = xRCCorner.y;
|
||||
|
||||
vec4 dotProd = vec4(0.);
|
||||
//intialize dotProd with a small epsilon seems to reduce GPU accuracy loss.
|
||||
vec4 dotProd = vec4(0.000000000000001);
|
||||
|
||||
${mainLoop}
|
||||
|
||||
vec4 result = dotProd;
|
||||
vec4 result = dotProd - vec4(0.000000000000001);
|
||||
${addBiasSnippet}
|
||||
${applyActivationSnippet}
|
||||
setOutput(result);
|
||||
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"conv_packed_gpu_depthwise.js","sourceRoot":"","sources":["../src/conv_packed_gpu_depthwise.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"conv_packed_gpu_depthwise.js","sourceRoot":"","sources":["../src/conv_packed_gpu_depthwise.ts"],"names":[],"mappings":"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 truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"crop_and_resize_gpu.js","sourceRoot":"","sources":["../src/crop_and_resize_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,OAAO,oBAAoB;IAK/B,YACI,UAA4C,EAAE,QAA0B,EACxE,QAA0B,EAAE,MAA4B,EACxD,kBAA0B;QAP9B,kBAAa,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7C,gBAAW,GAAa,EAAE,CAAC;QAOzB,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC;QAC3D,MAAM,CAAC,QAAQ,EAAG,GAAG,QAAQ,CAAC;QAC9B,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/C,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC,GACrC,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,EAAE,GAAG,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC;QAEpD,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC;YACpD;gBACE,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE;gBACzC,wBAAwB;gBACxB,MAAM,gBAAgB,4BAA4B;aACnD,CAAC,CAAC;YACH;gBACE,KAAK;gBACL,KAAK;gBACL,mBAAmB,gBAAgB,EAAE;aACtC,CAAC;QACN,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;YACjD;gBACE,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE;gBACvC,uBAAuB;gBACvB,MAAM,eAAe,2BAA2B;aACjD,CAAC,CAAC;YACH;gBACE,KAAK;gBACL,KAAK;gBACL,mBAAmB,eAAe,EAAE;aACrC,CAAC;QAEN,2BAA2B;QAC3B,2CAA2C;QAC3C,4GAA4G;QAC5G,IAAI,CAAC,QAAQ,GAAG;yCACqB,WAAW;wCACZ,UAAU;;;;;;;;;;;;;;;;iCAgBjB,KAAK;;;;+BAIP,WAAW;8BACZ,UAAU;;uBAEjB,GAAG;mCACS,gBAAgB;4BACvB,kBAAkB;;;uBAGvB,GAAG;mCACS,eAAe;4BACtB,kBAAkB;;;;;aAKjC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;KAwBhB,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"crop_and_resize_gpu.js","sourceRoot":"","sources":["../src/crop_and_resize_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,OAAO,oBAAoB;IAK/B,YACI,UAA4C,EAAE,QAA0B,EACxE,QAA0B,EAAE,MAA4B,EACxD,kBAA0B;QAP9B,kBAAa,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7C,gBAAW,GAAa,EAAE,CAAC;QAOzB,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC;QAC3D,MAAM,CAAC,QAAQ,EAAG,GAAG,QAAQ,CAAC;QAC9B,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/C,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC,GACrC,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,EAAE,GAAG,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC;QAEpD,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC;YACpD;gBACE,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE;gBACzC,wBAAwB;gBACxB,MAAM,gBAAgB,4BAA4B;aACnD,CAAC,CAAC;YACH;gBACE,KAAK;gBACL,KAAK;gBACL,mBAAmB,gBAAgB,EAAE;aACtC,CAAC;QACN,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;YACjD;gBACE,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE;gBACvC,uBAAuB;gBACvB,MAAM,eAAe,2BAA2B;aACjD,CAAC,CAAC;YACH;gBACE,KAAK;gBACL,KAAK;gBACL,mBAAmB,eAAe,EAAE;aACrC,CAAC;QAEN,2BAA2B;QAC3B,2CAA2C;QAC3C,4GAA4G;QAC5G,IAAI,CAAC,QAAQ,GAAG;yCACqB,WAAW;wCACZ,UAAU;;;;;;;;;;;;;;;;iCAgBjB,KAAK;;;;+BAIP,WAAW;8BACZ,UAAU;;uBAEjB,GAAG;mCACS,gBAAgB;4BACvB,kBAAkB;;;uBAGvB,GAAG;mCACS,eAAe;4BACtB,kBAAkB;;;;;aAKjC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;KAwBhB,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class CropAndResizeProgram implements GPGPUProgram {\n variableNames = ['Image', 'Boxes', 'BoxInd'];\n outputShape: number[] = [];\n userCode: string;\n\n constructor(\n imageShape: [number, number, number, number], boxShape: [number, number],\n cropSize: [number, number], method: 'bilinear'|'nearest',\n extrapolationValue: number) {\n const [batch, imageHeight, imageWidth, depth] = imageShape;\n const [numBoxes, ] = boxShape;\n const [cropHeight, cropWidth] = cropSize;\n this.outputShape = [numBoxes, cropHeight, cropWidth, depth];\n const methodId = method === 'bilinear' ? 1 : 0;\n\n const [inputHeightFloat, inputWidthFloat] =\n [`${imageHeight - 1}.0`, `${imageWidth - 1}.0`];\n\n const [heightRatio, heightScale, inY] = cropHeight > 1 ?\n [\n `${(imageHeight - 1) / (cropHeight - 1)}`,\n '(y2-y1) * height_ratio',\n `y1*${inputHeightFloat} + float(y)*(height_scale)`,\n ] :\n [\n '0.0',\n '0.0',\n `0.5 * (y1+y2) * ${inputHeightFloat}`,\n ];\n const [widthRatio, widthScale, inX] = cropWidth > 1 ?\n [\n `${(imageWidth - 1) / (cropWidth - 1)}`,\n '(x2-x1) * width_ratio',\n `x1*${inputWidthFloat} + float(x)*(width_scale)`,\n ] :\n [\n '0.0',\n '0.0',\n `0.5 * (x1+x2) * ${inputWidthFloat}`,\n ];\n\n // Reference implementation\n // tslint:disable-next-line:max-line-length\n // https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/crop_and_resize_op_gpu.cu.cc\n this.userCode = `\n const float height_ratio = float(${heightRatio});\n const float width_ratio = float(${widthRatio});\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int y = coords[1];\n int x = coords[2];\n int d = coords[3];\n\n // get box vals\n float y1 = getBoxes(b,0);\n float x1 = getBoxes(b,1);\n float y2 = getBoxes(b,2);\n float x2 = getBoxes(b,3);\n\n // get image in batch index\n int bInd = round(getBoxInd(b));\n if(bInd < 0 || bInd >= ${batch}) {\n return;\n }\n\n float height_scale = ${heightScale};\n float width_scale = ${widthScale};\n\n float in_y = ${inY};\n if( in_y < 0.0 || in_y > ${inputHeightFloat} ) {\n setOutput(float(${extrapolationValue}));\n return;\n }\n float in_x = ${inX};\n if( in_x < 0.0 || in_x > ${inputWidthFloat} ) {\n setOutpuLine truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"cumsum_gpu.js","sourceRoot":"","sources":["../src/cumsum_gpu.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"cumsum_gpu.js","sourceRoot":"","sources":["../src/cumsum_gpu.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\nimport {GPGPUContext} from './gpgpu_context';\nimport {GPGPUProgram} from './gpgpu_math';\nimport {getCoordsDataType} from './shader_compiler';\n\nexport class CumSumProgram implements GPGPUProgram {\n variableNames = ['x'];\n outputShape: number[];\n userCode: string;\n\n // Caching uniform location for speed.\n index: WebGLUniformLocation;\n\n constructor(shape: number[], exclusive: boolean, reverse: boolean) {\n this.outputShape = shape;\n const rank = shape.length;\n const val = exclusive ? '0.0' : `getX(${getCoords(rank, 'coords')})`;\n const length = shape[shape.length - 1];\n let condition = '';\n let idxString = '';\n // When exclusive is set, the cumsum op becomes roll op that copies the\n // value from the previous index based on the direction specified by the\n // reverse flag.\n if (exclusive) {\n condition = reverse ? `end != ${length - 1}` : 'end != 0';\n idxString = reverse ? 'end + 1' : 'end - 1';\n } else {\n condition = reverse ? `end + pow2 < ${length}` : 'end >= pow2';\n idxString = (reverse ? 'end + pow2' : 'end - pow2');\n }\n\n this.userCode = `\n uniform float index;\n void main() {\n ${getCoordsDataType(rank)} coords = getOutputCoords();\n int end = ${getFinalCoord(rank, 'coords')};\n float val = ${val};\n int pow2 = int(pow(2.0, index));\n if (${condition}) {\n int idx = ${idxString};\n ${getFinalCoord(rank, 'coords')} = idx;\n val += getX(${getCoords(rank, 'coords')});\n }\n setOutput(val);\n }\n `;\n }\n\n getCustomSetupFunc(index: number) {\n return (gpgpu: GPGPUContext, webGLProgram: WebGLProgram) => {\n if (this.index == null) {\n this.index = gpgpu.getUniformLocation(webGLProgram, 'index');\n }\n gpgpu.gl.uniform1f(this.index, index);\n };\n }\n}\n\nfunction getCoords(rank: number, name: string): string {\n if (rank === 1) {\n return `${name}`Line truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"decode_matrix_gpu.js","sourceRoot":"","sources":["../src/decode_matrix_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AAE3D,MAAM,OAAO,mBAAmB;IAQ9B,YAAY,WAAqC;QAPjD,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAGtB,iBAAY,GAAG,KAAK,CAAC;QACrB,iBAAY,GAAG,IAAI,CAAC;QACpB,qBAAgB,GAAG,aAAa,CAAC,KAAK,CAAC;QAGrC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,IAAI,CAAC,QAAQ,GAAG;;UAGZ,WAAW,CAAC,kCAAkC,CAC1C,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,WAAW,CAAC;;;;;;iBAMxB,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;wCACJ,QAAQ,CAAC,CAAC,CAAC;;;;;;;;;;UAUzC,IAAI,CAAC,MAAM;;KAEhB,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"decode_matrix_gpu.js","sourceRoot":"","sources":["../src/decode_matrix_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AAE3D,MAAM,OAAO,mBAAmB;IAQ9B,YAAY,WAAqC;QAPjD,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAGtB,iBAAY,GAAG,KAAK,CAAC;QACrB,iBAAY,GAAG,IAAI,CAAC;QACpB,qBAAgB,GAAG,aAAa,CAAC,KAAK,CAAC;QAGrC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,IAAI,CAAC,QAAQ,GAAG;;UAGZ,WAAW,CAAC,kCAAkC,CAC1C,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,WAAW,CAAC;;;;;;iBAMxB,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;wCACJ,QAAQ,CAAC,CAAC,CAAC;;;;;;;;;;UAUzC,IAAI,CAAC,MAAM;;KAEhB,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {getGlslDifferences} from './glsl_version';\nimport {GPGPUProgram} from './gpgpu_math';\nimport * as shader_util from './shader_compiler_util';\nimport {getDenseTexShape, PackingScheme} from './tex_util';\n\nexport class DecodeMatrixProgram implements GPGPUProgram {\n variableNames = ['A'];\n userCode: string;\n outputShape: [number, number, number];\n packedInputs = false;\n packedOutput = true;\n outPackingScheme = PackingScheme.DENSE;\n\n constructor(outputShape: [number, number, number]) {\n const texShape = getDenseTexShape(outputShape);\n const glsl = getGlslDifferences();\n this.outputShape = outputShape;\n\n this.userCode = `\n ivec3 outCoordsFromFlatIndex(int index) {\n ${\n shader_util.getLogicalCoordinatesFromFlatIndex(\n ['r', 'c', 'd'], outputShape)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${texShape[0]}, ${texShape[1]}));\n int index = 4 * (resTexRC.x * ${texShape[1]} + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getA(rc.x, rc.y, rc.z);\n }\n\n ${glsl.output} = result;\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"decode_matrix_packed_gpu.js","sourceRoot":"","sources":["../src/decode_matrix_packed_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AAE3D,MAAM,OAAO,yBAAyB;IAQpC,YAAY,WAAqC;QAPjD,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAEtB,iBAAY,GAAG,IAAI,CAAC;QACpB,iBAAY,GAAG,IAAI,CAAC;QAEpB,qBAAgB,GAAG,aAAa,CAAC,KAAK,CAAC;QAGrC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,IAAI,CAAC,QAAQ,GAAG;;UAGZ,WAAW,CAAC,kCAAkC,CAC1C,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,WAAW,CAAC;;;;;;iBAMxB,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;wCACJ,QAAQ,CAAC,CAAC,CAAC;;;;;;;;;;UAUzC,IAAI,CAAC,MAAM;;KAEhB,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"decode_matrix_packed_gpu.js","sourceRoot":"","sources":["../src/decode_matrix_packed_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AAE3D,MAAM,OAAO,yBAAyB;IAQpC,YAAY,WAAqC;QAPjD,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAEtB,iBAAY,GAAG,IAAI,CAAC;QACpB,iBAAY,GAAG,IAAI,CAAC;QAEpB,qBAAgB,GAAG,aAAa,CAAC,KAAK,CAAC;QAGrC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,IAAI,CAAC,QAAQ,GAAG;;UAGZ,WAAW,CAAC,kCAAkC,CAC1C,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,WAAW,CAAC;;;;;;iBAMxB,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;wCACJ,QAAQ,CAAC,CAAC,CAAC;;;;;;;;;;UAUzC,IAAI,CAAC,MAAM;;KAEhB,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {getGlslDifferences} from './glsl_version';\nimport {GPGPUProgram} from './gpgpu_math';\nimport * as shader_util from './shader_compiler_util';\nimport {getDenseTexShape, PackingScheme} from './tex_util';\n\nexport class DecodeMatrixPackedProgram implements GPGPUProgram {\n variableNames = ['A'];\n userCode: string;\n packedInputs = true;\n packedOutput = true;\n outputShape: [number, number, number];\n outPackingScheme = PackingScheme.DENSE;\n\n constructor(outputShape: [number, number, number]) {\n const texShape = getDenseTexShape(outputShape);\n const glsl = getGlslDifferences();\n this.outputShape = outputShape;\n\n this.userCode = `\n ivec3 outCoordsFromFlatIndex(int index) {\n ${\n shader_util.getLogicalCoordinatesFromFlatIndex(\n ['r', 'c', 'd'], outputShape)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${texShape[0]}, ${texShape[1]}));\n int index = 4 * (resTexRC.x * ${texShape[1]} + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getChannel(getA(rc.x, rc.y, rc.z), vec2(rc.y, rc.z));\n }\n\n ${glsl.output} = result;\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"depth_to_space_gpu.js","sourceRoot":"","sources":["../src/depth_to_space_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,OAAO,mBAAmB;IAO9B,YACI,WAAqB,EAAE,SAAiB,EAAE,UAAyB;QAPvE,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,gBAAW,GAAa,EAAE,CAAC;QAOzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG;;;;gBAIJ,IAAI,CAAC,oBAAoB,EAAE;gBAC3B,IAAI,CAAC,mBAAmB,EAAE;gBAC1B,IAAI,CAAC,mBAAmB,EAAE;;uBAEnB,SAAS;+BACD,SAAS;uBACjB,SAAS;+BACD,SAAS;mCACL,SAAS;UAClC,IAAI,CAAC,kBAAkB,EAAE;;;uBAGZ,IAAI,CAAC,sBAAsB,EAAE;;;GAGjD,CAAC;IACF,CAAC;IAEO,oBAAoB;QAC1B,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YAC9B,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YAC9B,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YAC9B,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SAC5B;aAAM;YACL,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SAC5B;IACH,CAAC;IAEO,sBAAsB;QAC5B,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YAC9B,OAAO,2BAA2B,CAAC;SACpC;aAAM;YACL,OAAO,2BAA2B,CAAC;SACpC;IACH,CAAC;CACF"}
|
||||
{"version":3,"file":"depth_to_space_gpu.js","sourceRoot":"","sources":["../src/depth_to_space_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,OAAO,mBAAmB;IAO9B,YACI,WAAqB,EAAE,SAAiB,EAAE,UAAyB;QAPvE,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,gBAAW,GAAa,EAAE,CAAC;QAOzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG;;;;gBAIJ,IAAI,CAAC,oBAAoB,EAAE;gBAC3B,IAAI,CAAC,mBAAmB,EAAE;gBAC1B,IAAI,CAAC,mBAAmB,EAAE;;uBAEnB,SAAS;+BACD,SAAS;uBACjB,SAAS;+BACD,SAAS;mCACL,SAAS;UAClC,IAAI,CAAC,kBAAkB,EAAE;;;uBAGZ,IAAI,CAAC,sBAAsB,EAAE;;;GAGjD,CAAC;IACF,CAAC;IAEO,oBAAoB;QAC1B,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YAC9B,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YAC9B,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YAC9B,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SAC5B;aAAM;YACL,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SAC5B;IACH,CAAC;IAEO,sBAAsB;QAC5B,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YAC9B,OAAO,2BAA2B,CAAC;SACpC;aAAM;YACL,OAAO,2BAA2B,CAAC;SACpC;IACH,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class DepthToSpaceProgram implements GPGPUProgram {\n variableNames = ['x'];\n outputShape: number[] = [];\n userCode: string;\n blockSize: number;\n dataFormat: string;\n\n constructor(\n outputShape: number[], blockSize: number, dataFormat: 'NHWC'|'NCHW') {\n this.outputShape = outputShape;\n this.blockSize = blockSize;\n this.dataFormat = dataFormat;\n this.userCode = `\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int h = ${this.getHeightCoordString()};\n int w = ${this.getWidthCoordString()};\n int d = ${this.getDepthCoordString()};\n\n int in_h = h / ${blockSize};\n int offset_h = imod(h, ${blockSize});\n int in_w = w / ${blockSize};\n int offset_w = imod(w, ${blockSize});\n int offset_d = (offset_h * ${blockSize} + offset_w) *\n ${this.getOutputDepthSize()};\n int in_d = d + offset_d;\n\n float result = ${this.getInputSamplingString()};\n setOutput(result);\n }\n `;\n }\n\n private getHeightCoordString(): string {\n if (this.dataFormat === 'NHWC') {\n return `coords[1]`;\n } else {\n return `coords[2]`;\n }\n }\n\n private getWidthCoordString(): string {\n if (this.dataFormat === 'NHWC') {\n return `coords[2]`;\n } else {\n return `coords[3]`;\n }\n }\n\n private getDepthCoordString(): string {\n if (this.dataFormat === 'NHWC') {\n return `coords[3]`;\n } else {\n return `coords[1]`;\n }\n }\n\n private getOutputDepthSize(): number {\n if (this.dataFormat === 'NHWC') {\n return this.outputShape[3];\n } else {\n return this.outputShape[1];\n }\n }\n\n private getInputSamplingString(): string {\n if (this.dataFormat === 'NHWC') {\n return `getX(b, in_h, in_w, in_d)`;\n } else {\n return `getX(b, in_d, in_h, in_w)`;\n }\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"diag_gpu.js","sourceRoot":"","sources":["../src/diag_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,OAAO,WAAW;IAKtB,YAAY,IAAY;QAJxB,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAKpB,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG;;;;;;KAMf,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"diag_gpu.js","sourceRoot":"","sources":["../src/diag_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,OAAO,WAAW;IAKtB,YAAY,IAAY;QAJxB,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAKpB,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG;;;;;;KAMf,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class DiagProgram implements GPGPUProgram {\n variableNames = ['X'];\n outputShape: number[];\n userCode: string;\n\n constructor(size: number) {\n this.outputShape = [size, size];\n this.userCode = `\n void main() {\n ivec2 coords = getOutputCoords();\n float val = coords[0] == coords[1] ? getX(coords[0]) : 0.0;\n setOutput(val);\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"dilation_gpu.js","sourceRoot":"","sources":["../src/dilation_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,OAAO,iBAAiB;IAK5B,YAAY,QAAiC;QAJ7C,kBAAa,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAKzB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAErC,MAAM,EACJ,QAAQ,EACR,OAAO,EACP,OAAO,EACP,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,aAAa,EACd,GAAG,QAAQ,CAAC;QAEb,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAC,GAAG,OAAO,CAAC;QAE7C,IAAI,CAAC,QAAQ,GAAG;oCACgB,YAAY,KAAK,WAAW;iCAC/B,MAAM,KAAK,OAAO;;;;;;;;;;;;;8BAarB,YAAY;iCACT,cAAc;;kCAEb,QAAQ;kCACR,WAAW;qCACR,aAAa;;sCAEZ,OAAO;;;;;;;;;;;;;;;;KAgBxC,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"dilation_gpu.js","sourceRoot":"","sources":["../src/dilation_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,OAAO,iBAAiB;IAK5B,YAAY,QAAiC;QAJ7C,kBAAa,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAKzB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAErC,MAAM,EACJ,QAAQ,EACR,OAAO,EACP,OAAO,EACP,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,aAAa,EACd,GAAG,QAAQ,CAAC;QAEb,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAC,GAAG,OAAO,CAAC;QAE7C,IAAI,CAAC,QAAQ,GAAG;oCACgB,YAAY,KAAK,WAAW;iCAC/B,MAAM,KAAK,OAAO;;;;;;;;;;;;;8BAarB,YAAY;iCACT,cAAc;;kCAEb,QAAQ;kCACR,WAAW;qCACR,aAAa;;sCAEZ,OAAO;;;;;;;;;;;;;;;;KAgBxC,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {backend_util} from '@tensorflow/tfjs-core';\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class Dilation2DProgram implements GPGPUProgram {\n variableNames = ['x', 'W'];\n outputShape: number[];\n userCode: string;\n\n constructor(convInfo: backend_util.Conv2DInfo) {\n this.outputShape = convInfo.outShape;\n\n const {\n inHeight,\n inWidth,\n padInfo,\n strideHeight,\n strideWidth,\n filterHeight,\n filterWidth,\n dilationHeight,\n dilationWidth\n } = convInfo;\n\n const {top: padTop, left: padLeft} = padInfo;\n\n this.userCode = `\n const ivec2 strides = ivec2(${strideHeight}, ${strideWidth});\n const ivec2 pads = ivec2(${padTop}, ${padLeft});\n const float neg_infinity = -3.4e38;\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.w;\n ivec2 outTopLeftCorner =\n coords.yz * strides - pads;\n int hBeg = outTopLeftCorner.x;\n int wBeg = outTopLeftCorner.y;\n\n float curVal = neg_infinity;\n for (int h = 0; h < ${filterHeight}; h++) {\n int hIn = hBeg + h * ${dilationHeight};\n\n if (hIn >= 0 && hIn < ${inHeight}) {\n for (int w = 0; w < ${filterWidth}; w++) {\n int wIn = wBeg + w * ${dilationWidth};\n\n if (wIn >= 0 && wIn < ${inWidth}) {\n float xVal = getX(batch, hIn, wIn, d1);\n float wVal = getW(h, w, d1);\n\n float val = xVal + wVal;\n if (val > curVal) {\n curVal = val;\n }\n }\n }\n }\n }\n\n float result = curVal;\n setOutput(result);\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"encode_float_gpu.js","sourceRoot":"","sources":["../src/encode_float_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAExC,MAAM,OAAO,kBAAkB;IAM7B,YAAY,WAAqB;QALjC,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAGtB,gBAAW,GAAG,YAAY,CAAC,QAAQ,CAAC;QAGlC,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG;QACZ,oBAAoB;;;;UAIlB,IAAI,CAAC,MAAM;;KAEhB,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"encode_float_gpu.js","sourceRoot":"","sources":["../src/encode_float_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAExC,MAAM,OAAO,kBAAkB;IAM7B,YAAY,WAAqB;QALjC,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAGtB,gBAAW,GAAG,YAAY,CAAC,QAAQ,CAAC;QAGlC,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG;QACZ,oBAAoB;;;;UAIlB,IAAI,CAAC,MAAM;;KAEhB,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {getGlslDifferences} from './glsl_version';\nimport {GPGPUProgram} from './gpgpu_math';\nimport {ENCODE_FLOAT_SNIPPET} from './shader_compiler_util';\nimport {TextureUsage} from './tex_util';\n\nexport class EncodeFloatProgram implements GPGPUProgram {\n variableNames = ['A'];\n userCode: string;\n outputShape: number[];\n outTexUsage = TextureUsage.DOWNLOAD;\n\n constructor(outputShape: number[]) {\n const glsl = getGlslDifferences();\n this.outputShape = outputShape;\n this.userCode = `\n ${ENCODE_FLOAT_SNIPPET}\n\n void main() {\n float x = getAAtOutCoords();\n ${glsl.output} = encode_float(x);\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"encode_float_packed_gpu.js","sourceRoot":"","sources":["../src/encode_float_packed_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAExC,MAAM,OAAO,wBAAwB;IAQnC,YAAY,WAAqC;QAPjD,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAGtB,iBAAY,GAAG,IAAI,CAAC;QACpB,iBAAY,GAAG,KAAK,CAAC;QACrB,gBAAW,GAAG,YAAY,CAAC,QAAQ,CAAC;QAGlC,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG;QACZ,oBAAoB;;;;;UAKlB,IAAI,CAAC,MAAM;;KAEhB,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"encode_float_packed_gpu.js","sourceRoot":"","sources":["../src/encode_float_packed_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAExC,MAAM,OAAO,wBAAwB;IAQnC,YAAY,WAAqC;QAPjD,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAGtB,iBAAY,GAAG,IAAI,CAAC;QACpB,iBAAY,GAAG,KAAK,CAAC;QACrB,gBAAW,GAAG,YAAY,CAAC,QAAQ,CAAC;QAGlC,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG;QACZ,oBAAoB;;;;;UAKlB,IAAI,CAAC,MAAM;;KAEhB,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {getGlslDifferences} from './glsl_version';\nimport {GPGPUProgram} from './gpgpu_math';\nimport {ENCODE_FLOAT_SNIPPET} from './shader_compiler_util';\nimport {TextureUsage} from './tex_util';\n\nexport class EncodeFloatPackedProgram implements GPGPUProgram {\n variableNames = ['A'];\n userCode: string;\n outputShape: number[];\n packedInputs = true;\n packedOutput = false;\n outTexUsage = TextureUsage.DOWNLOAD;\n\n constructor(outputShape: [number, number, number]) {\n const glsl = getGlslDifferences();\n this.outputShape = outputShape;\n this.userCode = `\n ${ENCODE_FLOAT_SNIPPET}\n\n void main() {\n ivec3 coords = getOutputCoords();\n float x = getChannel(getAAtOutCoords(), vec2(coords.y, coords.z));\n ${glsl.output} = encode_float(x);\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"encode_matrix_gpu.js","sourceRoot":"","sources":["../src/encode_matrix_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AAEtD,MAAM,OAAO,mBAAmB;IAK9B,YACI,WAAqC,EAAE,QAA0B,EACjE,mBAAmB,GAAG,KAAK;QAN/B,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAOpB,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,IAAI,MAAM,GAAG,QAAQ,CAAC;QACtB,IAAI,mBAAmB,EAAE;YACvB,MAAM,GAAG,4BAA4B,CAAC;SACvC;QAED,IAAI,CAAC,QAAQ,GAAG;QACZ,WAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC;;;;;;;;;;8BAUrB,KAAK;kCACD,KAAK;iDACU,KAAK,OAAO,MAAM;wBAC3C,IAAI,CAAC,SAAS;;;;;;;;;;;;;;UAc5B,IAAI,CAAC,MAAM,WAAW,MAAM;;KAEjC,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"encode_matrix_gpu.js","sourceRoot":"","sources":["../src/encode_matrix_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AAEtD,MAAM,OAAO,mBAAmB;IAK9B,YACI,WAAqC,EAAE,QAA0B,EACjE,mBAAmB,GAAG,KAAK;QAN/B,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAOpB,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,IAAI,MAAM,GAAG,QAAQ,CAAC;QACtB,IAAI,mBAAmB,EAAE;YACvB,MAAM,GAAG,4BAA4B,CAAC;SACvC;QAED,IAAI,CAAC,QAAQ,GAAG;QACZ,WAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC;;;;;;;;;;8BAUrB,KAAK;kCACD,KAAK;iDACU,KAAK,OAAO,MAAM;wBAC3C,IAAI,CAAC,SAAS;;;;;;;;;;;;;;UAc5B,IAAI,CAAC,MAAM,WAAW,MAAM;;KAEjC,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {getGlslDifferences} from './glsl_version';\nimport {GPGPUProgram} from './gpgpu_math';\nimport * as shader_util from './shader_compiler_util';\n\nexport class EncodeMatrixProgram implements GPGPUProgram {\n variableNames = ['A'];\n userCode: string;\n outputShape: number[];\n\n constructor(\n outputShape: [number, number, number], texShape: [number, number],\n inputIsUnsignedByte = false) {\n const glsl = getGlslDifferences();\n const [height, width] = texShape;\n this.outputShape = outputShape;\n\n let output = `result`;\n if (inputIsUnsignedByte) {\n output = `floor(result * 255. + 0.5)`;\n }\n\n this.userCode = `\n ${shader_util.getFlatIndexFrom3D(outputShape)}\n\n void main() {\n ivec3 coords = getOutputCoords();\n\n int flatIndex = getFlatIndex(coords);\n int offset = imod(flatIndex, 4);\n\n flatIndex = idiv(flatIndex, 4, 1.);\n\n int r = flatIndex / ${width};\n int c = imod(flatIndex, ${width});\n vec2 uv = (vec2(c, r) + halfCR) / vec2(${width}.0, ${height}.0);\n vec4 values = ${glsl.texture2D}(A, uv);\n\n float result;\n\n if(offset == 0) {\n result = values[0];\n } else if(offset == 1) {\n result = values[1];\n } else if(offset == 2) {\n result = values[2];\n } else {\n result = values[3];\n }\n\n ${glsl.output} = vec4(${output}, 0., 0., 0.);\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"encode_matrix_packed_gpu.js","sourceRoot":"","sources":["../src/encode_matrix_packed_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AAEH,MAAM,OAAO,yBAAyB;IAOpC,YACI,WAAqC,EAAE,QAA0B,EACjE,mBAAmB,GAAG,KAAK;QAR/B,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAGtB,iBAAY,GAAG,KAAK,CAAC;QACrB,iBAAY,GAAG,IAAI,CAAC;QAKlB,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,QAAQ,CAAC;QACtB,IAAI,mBAAmB,EAAE;YACvB,MAAM,GAAG,4BAA4B,CAAC;SACvC;QAED,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;YACjC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;gBACjC,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;gBAE9B,QAAQ,IAAI;;gCAEY,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC;gCACvB,GAAG;kCACD,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC;kCACvB,GAAG;;;;;;;gCAOL,KAAK;oCACD,KAAK;kDACS,KAAK,OAAO,MAAM;yBAC3C,IAAI,CAAC,SAAS;;;yBAGd,OAAO;;yBAEP,OAAO;;yBAEP,OAAO;;yBAEP,OAAO;;;;SAIvB,CAAC;aACH;SACF;QAED,IAAI,CAAC,QAAQ,GAAG;QACZ,WAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC;;;;;;;;;;;UAWzC,QAAQ;;UAER,IAAI,CAAC,MAAM,MAAM,MAAM;;KAE5B,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"encode_matrix_packed_gpu.js","sourceRoot":"","sources":["../src/encode_matrix_packed_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AAEH,MAAM,OAAO,yBAAyB;IAOpC,YACI,WAAqC,EAAE,QAA0B,EACjE,mBAAmB,GAAG,KAAK;QAR/B,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAGtB,iBAAY,GAAG,KAAK,CAAC;QACrB,iBAAY,GAAG,IAAI,CAAC;QAKlB,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,QAAQ,CAAC;QACtB,IAAI,mBAAmB,EAAE;YACvB,MAAM,GAAG,4BAA4B,CAAC;SACvC;QAED,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;YACjC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;gBACjC,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;gBAE9B,QAAQ,IAAI;;gCAEY,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC;gCACvB,GAAG;kCACD,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC;kCACvB,GAAG;;;;;;;gCAOL,KAAK;oCACD,KAAK;kDACS,KAAK,OAAO,MAAM;yBAC3C,IAAI,CAAC,SAAS;;;yBAGd,OAAO;;yBAEP,OAAO;;yBAEP,OAAO;;yBAEP,OAAO;;;;SAIvB,CAAC;aACH;SACF;QAED,IAAI,CAAC,QAAQ,GAAG;QACZ,WAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC;;;;;;;;;;;UAWzC,QAAQ;;UAER,IAAI,CAAC,MAAM,MAAM,MAAM;;KAE5B,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {getGlslDifferences} from './glsl_version';\nimport {GPGPUProgram} from './gpgpu_math';\nimport * as shader_util from './shader_compiler_util';\n\n/*\nThis is how the shader encodes a tensor with shape = [2, 3, 5]\n(indices are [batch, row, col]).\n\n000|001 002|003 004|xxx 020|021 022|023 024|xxx\n------- ------- ------- ------- ------- -------\n010|011 012|013 014|xxx xxx|xxx xxx|xxx xxx|xxx\n\n100|101 102|103 104|xxx 120|121 122|123 124|xxx\n------- ------- ------- ------- ------- -------\n110|111 112|113 114|xxx xxx|xxx xxx|xxx xxx|xxx\n\nSingle texels contain only values from the same batch, and from adjacent rows\nand columns.\n */\n\nexport class EncodeMatrixPackedProgram implements GPGPUProgram {\n variableNames = ['A'];\n userCode: string;\n outputShape: number[];\n packedInputs = false;\n packedOutput = true;\n\n constructor(\n outputShape: [number, number, number], texShape: [number, number],\n inputIsUnsignedByte = false) {\n const glsl = getGlslDifferences();\n const [height, width] = texShape;\n this.outputShape = outputShape;\n\n let mainLoop = '';\n let output = 'result';\n if (inputIsUnsignedByte) {\n output = 'floor(result * 255. + 0.5)';\n }\n\n for (let row = 0; row <= 1; row++) {\n for (let col = 0; col <= 1; col++) {\n const channel = row * 2 + col;\n\n mainLoop += `\n localCoords = coords;\n if(localCoords[2] + ${col} < ${outputShape[2]}) {\n localCoords[2] += ${col};\n if(localCoords[1] + ${row} < ${outputShape[1]}) {\n localCoords[1] += ${row};\n\n flatIndex = getFlatIndex(localCoords);\n offset = imod(flatIndex, 4);\n\n flatIndex = idiv(flatIndex, 4, 1.);\n\n r = flatIndex / ${width};\n c = imod(flatIndex, ${width});\n uv = (vec2(c, r) + halfCR) / vec2(${width}.0, ${height}.0);\n values = ${glsl.texture2D}(A, uv);\n\n if(offset == 0) {\n result[${channel}] = values[0];\n } else if(offset == 1) {\n result[${channel}] = values[1];\n } else if(offset == 2) {\n result[${channel}] = values[2];\n } else {\n result[${channel}] = values[3];\n }\n }\n }\n `;\n }\n }\n\n this.userCode = `\n ${shader_util.getFlatIndexFrom3D(outputShape)}\n\n void main() {\n ivec3 coords = getOutputCoords();\n\n vec4 result = vec4(0.);\n int flatIndex, r, c, offset;\n ivec3 localCoords;\n vec2 uv;\n vec4 values;\n\n ${mainLoop}\n\n ${glsl.output} = ${output};\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"fft_gpu.js","sourceRoot":"","sources":["../src/fft_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,OAAO,UAAU;IAKrB,YACI,SAAwB,EAAE,UAA4B,EACtD,OAAgB;QANpB,kBAAa,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAO/B,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAE9B,MAAM,yBAAyB,GAC3B,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,EAAE,EAAE,CAAC;QACvD,MAAM,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAE5D,IAAI,QAAgB,CAAC;QACrB,IAAI,SAAS,KAAK,MAAM,EAAE;YACxB,QAAQ,GAAG,mCAAmC,CAAC;SAChD;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE;YAC/B,QAAQ,GAAG,mCAAmC,CAAC;SAChD;aAAM;YACL,MAAM,IAAI,KAAK,CACX,sDAAsD,SAAS,GAAG,CAAC,CAAC;SACzE;QAED,IAAI,CAAC,QAAQ,GAAG;yCACqB,yBAAyB;;;UAGxD,QAAQ;;;;kDAIgC,QAAQ;;;;;;8BAM5B,QAAQ;;;;;;;;;yDASmB,iBAAiB;;;;;;;;;;KAUrE,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"fft_gpu.js","sourceRoot":"","sources":["../src/fft_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,OAAO,UAAU;IAKrB,YACI,SAAwB,EAAE,UAA4B,EACtD,OAAgB;QANpB,kBAAa,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAO/B,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAE9B,MAAM,yBAAyB,GAC3B,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,EAAE,EAAE,CAAC;QACvD,MAAM,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAE5D,IAAI,QAAgB,CAAC;QACrB,IAAI,SAAS,KAAK,MAAM,EAAE;YACxB,QAAQ,GAAG,mCAAmC,CAAC;SAChD;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE;YAC/B,QAAQ,GAAG,mCAAmC,CAAC;SAChD;aAAM;YACL,MAAM,IAAI,KAAK,CACX,sDAAsD,SAAS,GAAG,CAAC,CAAC;SACzE;QAED,IAAI,CAAC,QAAQ,GAAG;yCACqB,yBAAyB;;;UAGxD,QAAQ;;;;kDAIgC,QAAQ;;;;;;8BAM5B,QAAQ;;;;;;;;;yDASmB,iBAAiB;;;;;;;;;;KAUrE,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class FFTProgram implements GPGPUProgram {\n variableNames = ['real', 'imag'];\n outputShape: number[];\n userCode: string;\n\n constructor(\n component: 'real'|'imag', inputShape: [number, number],\n inverse: boolean) {\n const innerDim = inputShape[1];\n this.outputShape = inputShape;\n\n const exponentMultiplierSnippet =\n inverse ? `2.0 * ${Math.PI}` : `-2.0 * ${Math.PI}`;\n const resultDenominator = inverse ? `${innerDim}.0` : '1.0';\n\n let opString: string;\n if (component === 'real') {\n opString = 'return real * expR - imag * expI;';\n } else if (component === 'imag') {\n opString = 'return real * expI + imag * expR;';\n } else {\n throw new Error(\n `FFT component must be either \"real\" or \"imag\", got ${component}.`);\n }\n\n this.userCode = `\n const float exponentMultiplier = ${exponentMultiplierSnippet};\n\n float unaryOpComplex(float real, float expR, float imag, float expI) {\n ${opString}\n }\n\n float mulMatDFT(int batch, int index) {\n float indexRatio = float(index) / float(${innerDim});\n float exponentMultiplierTimesIndexRatio =\n exponentMultiplier * indexRatio;\n\n float result = 0.0;\n\n for (int i = 0; i < ${innerDim}; i++) {\n // x = (-2|2 * PI / N) * index * i;\n float x = exponentMultiplierTimesIndexRatio * float(i);\n float expR = cos(x);\n float expI = sin(x);\n float real = getReal(batch, i);\n float imag = getImag(batch, i);\n\n result +=\n unaryOpComplex(real, expR, imag, expI) / ${resultDenominator};\n }\n\n return result;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n setOutput(mulMatDFT(coords[0], coords[1]));\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"fill_gpu.js","sourceRoot":"","sources":["../src/fill_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,OAAO,WAAW;IAOtB,YAAY,KAAe,EAAE,KAAa;QAL1C,gBAAW,GAAa,EAAE,CAAC;QAMzB,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,IAAI,CAAC,QAAQ,GAAG;;;;;;KAMf,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,KAAa;QAC9B,OAAO,CAAC,KAAmB,EAAE,YAA0B,EAAE,EAAE;YACzD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,yBAAyB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;aACxE;YACD,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"fill_gpu.js","sourceRoot":"","sources":["../src/fill_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,OAAO,WAAW;IAOtB,YAAY,KAAe,EAAE,KAAa;QAL1C,gBAAW,GAAa,EAAE,CAAC;QAMzB,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,IAAI,CAAC,QAAQ,GAAG;;;;;;KAMf,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,KAAa;QAC9B,OAAO,CAAC,KAAmB,EAAE,YAA0B,EAAE,EAAE;YACzD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,yBAAyB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;aACxE;YACD,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {GPGPUContext} from './gpgpu_context';\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class FillProgram implements GPGPUProgram {\n variableNames: string[];\n outputShape: number[] = [];\n userCode: string;\n\n valueLoc: WebGLUniformLocation;\n\n constructor(shape: number[], value: number) {\n this.variableNames = ['x'];\n this.outputShape = shape;\n\n this.userCode = `\n uniform float value;\n void main() {\n // Input can be obtained from uniform value.\n setOutput(value);\n }\n `;\n }\n\n getCustomSetupFunc(value: number) {\n return (gpgpu: GPGPUContext, webGLProgram: WebGLProgram) => {\n if (this.valueLoc == null) {\n this.valueLoc = gpgpu.getUniformLocationNoThrow(webGLProgram, 'value');\n }\n gpgpu.gl.uniform1f(this.valueLoc, value);\n };\n }\n}\n"]}
|
||||
Generated
Vendored
+18
-2
@@ -48,8 +48,7 @@ ENV.registerFlag('WEBGL_PACK_NORMALIZATION', () => ENV.getBool('WEBGL_PACK'));
|
||||
/** Whether we will pack the clip op. */
|
||||
ENV.registerFlag('WEBGL_PACK_CLIP', () => ENV.getBool('WEBGL_PACK'));
|
||||
/** Whether we will pack the depthwise conv op. */
|
||||
// TODO: https://github.com/tensorflow/tfjs/issues/1679
|
||||
ENV.registerFlag('WEBGL_PACK_DEPTHWISECONV', () => false);
|
||||
ENV.registerFlag('WEBGL_PACK_DEPTHWISECONV', () => ENV.getBool('WEBGL_PACK'));
|
||||
/** Whether we will pack binary ops. */
|
||||
ENV.registerFlag('WEBGL_PACK_BINARY_OPERATIONS', () => ENV.getBool('WEBGL_PACK'));
|
||||
/** Whether we will pack unary ops. */
|
||||
@@ -135,4 +134,21 @@ ENV.registerFlag('WEBGL_DELETE_TEXTURE_THRESHOLD', () => {
|
||||
`delete) or at least 0, but got ${threshold}.`);
|
||||
}
|
||||
});
|
||||
/**
|
||||
* Trigger a manual GL command flush if the threshold of time has passed since
|
||||
* previous Kernel execution. This can be useful for Andorid device where GL
|
||||
* command flush are delayed un til the end of javascript task. This value is
|
||||
* measured in millisecond. Typically you want to set this value to close to 1.
|
||||
*
|
||||
* Default value 1 for mobile chrome, and -1 for rest cases. -1 indicates that
|
||||
* we will not enforce manual flush and depend on system default flush schedule.
|
||||
*/
|
||||
ENV.registerFlag('WEBGL_FLUSH_THRESHOLD', () => {
|
||||
return device_util.isMobile() && ENV.getBool('IS_CHROME') ? 1 : -1;
|
||||
}, threshold => {
|
||||
if (threshold < 0 && threshold !== -1) {
|
||||
throw new Error(`WEBGL_FLUSH_THRESHOLD must be -1 (indicating never ` +
|
||||
`manual flush) or at least 0, but got ${threshold}.`);
|
||||
}
|
||||
});
|
||||
//# sourceMappingURL=flags_webgl.js.map
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"flags_webgl.js","sourceRoot":"","sources":["../src/flags_webgl.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"flags_webgl.js","sourceRoot":"","sources":["../src/flags_webgl.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ============================================================================Line truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"flags_webgl_test.js","sourceRoot":"","sources":["../src/flags_webgl_test.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"flags_webgl_test.js","sourceRoot":"","sources":["../src/flags_webgl_test.ts"],"names":[],"mappings":"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 truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"flip_left_right_gpu.js","sourceRoot":"","sources":["../src/flip_left_right_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,OAAO,oBAAoB;IAK/B,YAAY,UAA4C;QAJxD,kBAAa,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1B,gBAAW,GAAa,EAAE,CAAC;QAIzB,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAE9B,IAAI,CAAC,QAAQ,GAAG;;;;;yBAKK,UAAU;;uCAEI,UAAU;;;;;;;KAO5C,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"flip_left_right_gpu.js","sourceRoot":"","sources":["../src/flip_left_right_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,OAAO,oBAAoB;IAK/B,YAAY,UAA4C;QAJxD,kBAAa,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1B,gBAAW,GAAa,EAAE,CAAC;QAIzB,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAE9B,IAAI,CAAC,QAAQ,GAAG;;;;;yBAKK,UAAU;;uCAEI,UAAU;;;;;;;KAO5C,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class FlipLeftRightProgram implements GPGPUProgram {\n variableNames = ['Image'];\n outputShape: number[] = [];\n userCode: string;\n\n constructor(imageShape: [number, number, number, number]) {\n const imageWidth = imageShape[2];\n this.outputShape = imageShape;\n\n this.userCode = `\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n\n int coordX = ${imageWidth} - x;\n float outputValue;\n if(coordX >= 0 && coordX < ${imageWidth}) {\n outputValue = getImage(coords[0], coords[1], coordX, coords[3]);\n } else {\n outputValue = getImage(coords[0], coords[1], coords[2], coords[3]);\n }\n setOutput(outputValue);\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"gather_gpu.js","sourceRoot":"","sources":["../src/gather_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,MAAM,OAAO,aAAa;IAMxB,YAAY,MAAgB,EAAE,WAAqB;QALnD,kBAAa,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAM/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC;QAC/B,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEhD,IAAI,CAAC,QAAQ,GAAG;;UAEV,KAAK;yBACU,YAAY;;KAEhC,CAAC;IACJ,CAAC;CACF;AAED,iEAAiE;AACjE,SAAS,eAAe,CAAC,MAAgB,EAAE,IAAY;IACrD,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAEnE,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,CAAC,KAAK,CAAC,EAAE;YACX,YAAY,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;SACxD;aAAM;YACL,YAAY,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC1C;KACF;IACD,OAAO,YAAY,CAAC,IAAI,EAAE,CAAC;AAC7B,CAAC"}
|
||||
{"version":3,"file":"gather_gpu.js","sourceRoot":"","sources":["../src/gather_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,MAAM,OAAO,aAAa;IAMxB,YAAY,MAAgB,EAAE,WAAqB;QALnD,kBAAa,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAM/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC;QAC/B,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEhD,IAAI,CAAC,QAAQ,GAAG;;UAEV,KAAK;yBACU,YAAY;;KAEhC,CAAC;IACJ,CAAC;CACF;AAED,iEAAiE;AACjE,SAAS,eAAe,CAAC,MAAgB,EAAE,IAAY;IACrD,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAEnE,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,CAAC,KAAK,CAAC,EAAE;YACX,YAAY,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;SACxD;aAAM;YACL,YAAY,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC1C;KACF;IACD,OAAO,YAAY,CAAC,IAAI,EAAE,CAAC;AAC7B,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {GPGPUProgram} from './gpgpu_math';\nimport {getCoordsDataType} from './shader_compiler';\n\nexport class GatherProgram implements GPGPUProgram {\n variableNames = ['A', 'indices'];\n outputShape: number[];\n userCode: string;\n rank: number;\n\n constructor(aShape: number[], outputShape: number[]) {\n this.outputShape = outputShape;\n this.rank = outputShape.length;\n const dtype = getCoordsDataType(this.rank);\n const sourceCoords = getSourceCoords(aShape, 2);\n\n this.userCode = `\n void main() {\n ${dtype} resRC = getOutputCoords();\n setOutput(getA(${sourceCoords}));\n }\n `;\n }\n}\n\n// The input and output are always flattened into rank 4 tensors.\nfunction getSourceCoords(aShape: number[], axis: number): string {\n const currentCoords = ['resRC.x', 'resRC.y', 'resRC.z', 'resRC.w'];\n\n const sourceCoords = [];\n for (let i = 0; i < aShape.length; i++) {\n if (i === 2) {\n sourceCoords.push('int(getIndices(resRC.x, resRC.z))');\n } else {\n sourceCoords.push(`${currentCoords[i]}`);\n }\n }\n return sourceCoords.join();\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"gather_nd_gpu.js","sourceRoot":"","sources":["../src/gather_nd_gpu.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,MAAM,OAAO,eAAe;IAI1B,YACY,QAAgB,EAAU,OAAiB,EAAE,KAAe;QAA5D,aAAQ,GAAR,QAAQ,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAU;QAJvD,kBAAa,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAK/B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,IAAI,CAAC,QAAQ,GAAG;UACV,WAAW,cAAc,WAAW,IAAI,IAAI,CAAC,OAAO;;YAElD,KAAK;;gCAEe,IAAI,CAAC,QAAQ;;sCAEP,YAAY;;;;OAI3C,CAAC;IACN,CAAC;CACF"}
|
||||
{"version":3,"file":"gather_nd_gpu.js","sourceRoot":"","sources":["../src/gather_nd_gpu.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,MAAM,OAAO,eAAe;IAI1B,YACY,QAAgB,EAAU,OAAiB,EAAE,KAAe;QAA5D,aAAQ,GAAR,QAAQ,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAU;QAJvD,kBAAa,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAK/B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,IAAI,CAAC,QAAQ,GAAG;UACV,WAAW,cAAc,WAAW,IAAI,IAAI,CAAC,OAAO;;YAElD,KAAK;;gCAEe,IAAI,CAAC,QAAQ;;sCAEP,YAAY;;;;OAI3C,CAAC;IACN,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\nimport {GPGPUProgram} from './gpgpu_math';\nimport {getCoordsDataType} from './shader_compiler';\n\nexport class GatherNDProgram implements GPGPUProgram {\n variableNames = ['x', 'indices'];\n outputShape: number[];\n userCode: string;\n constructor(\n private sliceDim: number, private strides: number[], shape: number[]) {\n this.outputShape = shape;\n const stridesType = getCoordsDataType(strides.length);\n const dtype = getCoordsDataType(shape.length);\n const strideString = this.sliceDim > 1 ? 'strides[j]' : 'strides';\n this.userCode = `\n ${stridesType} strides = ${stridesType}(${this.strides});\n void main() {\n ${dtype} coords = getOutputCoords();\n int flattenIndex = 0;\n for (int j = 0; j < ${this.sliceDim}; j++) {\n int index = round(getIndices(coords[0], j));\n flattenIndex += index * ${strideString};\n }\n setOutput(getX(flattenIndex, coords[1]));\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"glsl_version.js","sourceRoot":"","sources":["../src/glsl_version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,uBAAuB,CAAC;AAe1C,MAAM,UAAU,kBAAkB;IAChC,IAAI,OAAe,CAAC;IACpB,IAAI,SAAiB,CAAC;IACtB,IAAI,SAAiB,CAAC;IACtB,IAAI,SAAiB,CAAC;IACtB,IAAI,SAAiB,CAAC;IACtB,IAAI,MAAc,CAAC;IACnB,IAAI,YAAoB,CAAC;IACzB,IAAI,gBAAwB,CAAC;IAC7B,IAAI,gBAAwB,CAAC;IAC7B,IAAI,WAAmB,CAAC;IAExB,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;QAC1C,OAAO,GAAG,iBAAiB,CAAC;QAC5B,SAAS,GAAG,IAAI,CAAC;QACjB,SAAS,GAAG,KAAK,CAAC;QAClB,SAAS,GAAG,IAAI,CAAC;QACjB,SAAS,GAAG,SAAS,CAAC;QACtB,MAAM,GAAG,aAAa,CAAC;QACvB,YAAY,GAAG,uBAAuB,CAAC;QAEvC,iEAAiE;QACjE,0EAA0E;QAC1E,wEAAwE;QACxE,wBAAwB;QACxB,gBAAgB,GAAG;;;;;;;;;;;KAWlB,CAAC;QACF,qEAAqE;QACrE,wCAAwC;QACxC,gBAAgB,GAAG,EAAE,CAAC;QACtB,WAAW,GAAG;;;;;;;;;KASb,CAAC;KACH;SAAM;QACL,OAAO,GAAG,EAAE,CAAC;QACb,SAAS,GAAG,WAAW,CAAC;QACxB,SAAS,GAAG,SAAS,CAAC;QACtB,SAAS,GAAG,SAAS,CAAC;QACtB,SAAS,GAAG,WAAW,CAAC;QACxB,MAAM,GAAG,cAAc,CAAC;QACxB,YAAY,GAAG,EAAE,CAAC;QAClB,sDAAsD;QACtD,gBAAgB,GAAG;;;;;;;;KAQlB,CAAC;QACF,gBAAgB,GAAG;;;;;;;;;KASlB,CAAC;QACF,WAAW,GAAG;;;;;;;;KAQb,CAAC;KACH;IAED,OAAO;QACL,OAAO;QACP,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,MAAM;QACN,YAAY;QACZ,gBAAgB;QAChB,gBAAgB;QAChB,WAAW;KACZ,CAAC;AACJ,CAAC"}
|
||||
{"version":3,"file":"glsl_version.js","sourceRoot":"","sources":["../src/glsl_version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,uBAAuB,CAAC;AAe1C,MAAM,UAAU,kBAAkB;IAChC,IAAI,OAAe,CAAC;IACpB,IAAI,SAAiB,CAAC;IACtB,IAAI,SAAiB,CAAC;IACtB,IAAI,SAAiB,CAAC;IACtB,IAAI,SAAiB,CAAC;IACtB,IAAI,MAAc,CAAC;IACnB,IAAI,YAAoB,CAAC;IACzB,IAAI,gBAAwB,CAAC;IAC7B,IAAI,gBAAwB,CAAC;IAC7B,IAAI,WAAmB,CAAC;IAExB,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;QAC1C,OAAO,GAAG,iBAAiB,CAAC;QAC5B,SAAS,GAAG,IAAI,CAAC;QACjB,SAAS,GAAG,KAAK,CAAC;QAClB,SAAS,GAAG,IAAI,CAAC;QACjB,SAAS,GAAG,SAAS,CAAC;QACtB,MAAM,GAAG,aAAa,CAAC;QACvB,YAAY,GAAG,uBAAuB,CAAC;QAEvC,iEAAiE;QACjE,0EAA0E;QAC1E,wEAAwE;QACxE,wBAAwB;QACxB,gBAAgB,GAAG;;;;;;;;;;;KAWlB,CAAC;QACF,qEAAqE;QACrE,wCAAwC;QACxC,gBAAgB,GAAG,EAAE,CAAC;QACtB,WAAW,GAAG;;;;;;;;;KASb,CAAC;KACH;SAAM;QACL,OAAO,GAAG,EAAE,CAAC;QACb,SAAS,GAAG,WAAW,CAAC;QACxB,SAAS,GAAG,SAAS,CAAC;QACtB,SAAS,GAAG,SAAS,CAAC;QACtB,SAAS,GAAG,WAAW,CAAC;QACxB,MAAM,GAAG,cAAc,CAAC;QACxB,YAAY,GAAG,EAAE,CAAC;QAClB,sDAAsD;QACtD,gBAAgB,GAAG;;;;;;;;KAQlB,CAAC;QACF,gBAAgB,GAAG;;;;;;;;;KASlB,CAAC;QACF,WAAW,GAAG;;;;;;;;KAQb,CAAC;KACH;IAED,OAAO;QACL,OAAO;QACP,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,MAAM;QACN,YAAY;QACZ,gBAAgB;QAChB,gBAAgB;QAChB,WAAW;KACZ,CAAC;AACJ,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\nimport {env} from '@tensorflow/tfjs-core';\n\nexport type GLSL = {\n version: string,\n attribute: string,\n varyingVs: string,\n varyingFs: string,\n texture2D: string,\n output: string,\n defineOutput: string,\n defineSpecialNaN: string,\n defineSpecialInf: string,\n defineRound: string\n};\n\nexport function getGlslDifferences(): GLSL {\n let version: string;\n let attribute: string;\n let varyingVs: string;\n let varyingFs: string;\n let texture2D: string;\n let output: string;\n let defineOutput: string;\n let defineSpecialNaN: string;\n let defineSpecialInf: string;\n let defineRound: string;\n\n if (env().getNumber('WEBGL_VERSION') === 2) {\n version = '#version 300 es';\n attribute = 'in';\n varyingVs = 'out';\n varyingFs = 'in';\n texture2D = 'texture';\n output = 'outputColor';\n defineOutput = 'out vec4 outputColor;';\n\n // Use custom isnan definition to work across differences between\n // implementations on various platforms. While this should happen in ANGLE\n // we still see differences between android and windows (on chrome) when\n // using isnan directly.\n defineSpecialNaN = `\n bool isnan_custom(float val) {\n return (val > 0.0 || val < 0.0) ? false : val != 0.0;\n }\n\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan_custom(val.x),\n isnan_custom(val.y), isnan_custom(val.z), isnan_custom(val.w));\n }\n\n #define isnan(value) isnan_custom(value)\n `;\n // In webgl 2 we do not need to specify a custom isinf so there is no\n // need for a special INFINITY constant.\n defineSpecialInf = ``;\n defineRound = `\n #define round(value) newRound(value)\n int newRound(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 newRound(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n `;\n } else {\n version = '';\n attribute = 'attribute';\n varyingVs = 'varying';\n varyingFs = 'varying';\n texture2D = 'texture2D';\n output = 'gl_FragColor';\n defineOutput = '';\n // WebGL1 has no built in isnan so we define one here.\n defineSpecialNaN = `\n #define isnan(value) isnan_custom(value)\n bool isnan_custom(float val) {\n return (val > 0. || val < 1. || val == 0.) ? false : true;\n }\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan(val.x), isnan(val.y), isnan(val.z), isnan(val.w));\n }\n `;\n defineSpecialInf = `\n uniform float INFINITY;\n\n bool isinf(float val) {\n return abs(val) == INFINITY;\n }\n bvec4 isinf(vec4 val) {\n return equal(abs(val), vec4(INFINITY));\n }\n `;\n defineRound = `\n int round(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 round(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n `;\n }\n\n return {\n versioLine truncated
|
||||
Generated
Vendored
+2
-1
@@ -36,6 +36,7 @@ export declare class GPGPUContext {
|
||||
program: WebGLProgram | null;
|
||||
private disposed;
|
||||
private disjoint;
|
||||
private vertexShader;
|
||||
textureConfig: TextureConfig;
|
||||
constructor(gl?: WebGLRenderingContext);
|
||||
private readonly debug;
|
||||
@@ -43,7 +44,7 @@ export declare class GPGPUContext {
|
||||
createFloat32MatrixTexture(rows: number, columns: number): WebGLTexture;
|
||||
createFloat16MatrixTexture(rows: number, columns: number): WebGLTexture;
|
||||
createUnsignedBytesMatrixTexture(rows: number, columns: number): WebGLTexture;
|
||||
uploadPixelDataToTexture(texture: WebGLTexture, pixels: PixelData | ImageData | HTMLImageElement | HTMLCanvasElement): void;
|
||||
uploadPixelDataToTexture(texture: WebGLTexture, pixels: PixelData | ImageData | HTMLImageElement | HTMLCanvasElement | ImageBitmap): void;
|
||||
uploadDenseMatrixToTexture(texture: WebGLTexture, width: number, height: number, data: TypedArray): void;
|
||||
createFloat16PackedMatrixTexture(rows: number, columns: number): WebGLTexture;
|
||||
createPackedMatrixTexture(rows: number, columns: number): WebGLTexture;
|
||||
|
||||
Generated
Vendored
+4
-2
@@ -197,9 +197,11 @@ export class GPGPUContext {
|
||||
this.throwIfDisposed();
|
||||
const gl = this.gl;
|
||||
const fragmentShader = webgl_util.createFragmentShader(gl, fragmentShaderSource);
|
||||
const vertexShader = gpgpu_util.createVertexShader(gl);
|
||||
if (this.vertexShader == null) {
|
||||
this.vertexShader = gpgpu_util.createVertexShader(gl);
|
||||
}
|
||||
const program = webgl_util.createProgram(gl);
|
||||
webgl_util.callAndCheck(gl, () => gl.attachShader(program, vertexShader));
|
||||
webgl_util.callAndCheck(gl, () => gl.attachShader(program, this.vertexShader));
|
||||
webgl_util.callAndCheck(gl, () => gl.attachShader(program, fragmentShader));
|
||||
webgl_util.linkProgram(gl, program);
|
||||
if (this.debug) {
|
||||
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"gpgpu_context.js","sourceRoot":"","sources":["../src/gpgpu_context.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"gpgpu_context.js","sourceRoot":"","sources":["../src/gpgpu_context.ts"],"names":[],"mappings":"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 truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"gpgpu_context_test.js","sourceRoot":"","sources":["../src/gpgpu_context_test.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"gpgpu_context_test.js","sourceRoot":"","sources":["../src/gpgpu_context_test.ts"],"names":[],"mappings":"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 truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"gpgpu_math.js","sourceRoot":"","sources":["../src/gpgpu_math.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"gpgpu_math.js","sourceRoot":"","sources":["../src/gpgpu_math.ts"],"names":[],"mappings":"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 truncated
|
||||
Generated
Vendored
+1
-1
@@ -32,7 +32,7 @@ export declare function getInternalFormatForFloat16PackedMatrixTexture(textureCo
|
||||
export declare function createFloat16PackedMatrixTexture(gl: WebGLRenderingContext, rows: number, columns: number, textureConfig: TextureConfig): WebGLTexture;
|
||||
export declare function bindVertexProgramAttributeStreams(gl: WebGLRenderingContext, program: WebGLProgram, vertexBuffer: WebGLBuffer): boolean;
|
||||
export declare function uploadDenseMatrixToTexture(gl: WebGLRenderingContext, texture: WebGLTexture, width: number, height: number, data: TypedArray, textureConfig: TextureConfig): void;
|
||||
export declare function uploadPixelDataToTexture(gl: WebGLRenderingContext, texture: WebGLTexture, pixels: PixelData | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement): void;
|
||||
export declare function uploadPixelDataToTexture(gl: WebGLRenderingContext, texture: WebGLTexture, pixels: PixelData | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ImageBitmap): void;
|
||||
export declare function createBufferFromOutputTexture(gl2: WebGL2RenderingContext, rows: number, columns: number, textureConfig: TextureConfig): WebGLBuffer;
|
||||
export declare function downloadFloat32MatrixFromBuffer(gl: WebGLRenderingContext, buffer: WebGLBuffer, size: number): Float32Array;
|
||||
export declare function downloadByteEncodedFloatMatrixFromOutputTexture(gl: WebGLRenderingContext, rows: number, columns: number, textureConfig: TextureConfig): Float32Array;
|
||||
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"gpgpu_util.js","sourceRoot":"","sources":["../src/gpgpu_util.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"gpgpu_util.js","sourceRoot":"","sources":["../src/gpgpu_util.ts"],"names":[],"mappings":"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 truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"gpgpu_util_test.js","sourceRoot":"","sources":["../src/gpgpu_util_test.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"gpgpu_util_test.js","sourceRoot":"","sources":["../src/gpgpu_util_test.ts"],"names":[],"mappings":"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 truncated
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"im2col_packed_gpu.js","sourceRoot":"","sources":["../src/im2col_packed_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAGlD,MAAM,OAAO,mBAAmB;IAO9B,YACI,WAAqB,EAAE,UAAoB,EAC3C,QAAiC;QARrC,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,iBAAY,GAAG,IAAI,CAAC;QACpB,iBAAY,GAAG,IAAI,CAAC;QAOlB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,MAAM,EACJ,WAAW,EACX,UAAU,EACV,WAAW,EACX,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,aAAa,EACb,cAAc,EACd,UAAU,EACX,GAAG,QAAQ,CAAC;QACb,MAAM,EAAC,IAAI,EAAE,GAAG,EAAC,GAAG,OAAO,CAAC;QAC5B,MAAM,gBAAgB,GAAG,UAAU,GAAG,WAAW,CAAC;QAClD,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG,UAAU,KAAK,cAAc,CAAC;QACrD,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;YACjC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;gBACjC,QAAQ,IAAI;gCACY,GAAG;yBACV,GAAG;;4BAEA,WAAW,CAAC,CAAC,CAAC,aAAa,WAAW,CAAC,CAAC,CAAC;0CAC3B,QAAQ,QAAQ,YAAY,MAC1D,GAAG;6BACc,cAAc,aAAa,gBAAgB;;sBAElD,UAAU,CAAC,MAAM,CAAC;;qDAEa,QAAQ,QACjD,WAAW,OAAO,IAAI;+BACH,aAAa,2BAChC,gBAAgB,QAAQ,UAAU;;wBAEtB,UAAU,CAAC,MAAM,CAAC;;2CAEC,UAAU;;sBAE/B,cAAc;;2BAET,GAAG,GAAG,CAAC,GAAG,GAAG;;;;;2BAKb,GAAG,GAAG,CAAC,GAAG,GAAG;;;;;;;SAO/B,CAAC;aACH;SACF;QAED,IAAI,CAAC,QAAQ,GAAG;;;;;;;;;UASV,QAAQ;;UAER,IAAI,CAAC,MAAM;;KAEhB,CAAC;IACJ,CAAC;CACF"}
|
||||
{"version":3,"file":"im2col_packed_gpu.js","sourceRoot":"","sources":["../src/im2col_packed_gpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAGlD,MAAM,OAAO,mBAAmB;IAO9B,YACI,WAAqB,EAAE,UAAoB,EAC3C,QAAiC;QARrC,kBAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,iBAAY,GAAG,IAAI,CAAC;QACpB,iBAAY,GAAG,IAAI,CAAC;QAOlB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,MAAM,EACJ,WAAW,EACX,UAAU,EACV,WAAW,EACX,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,aAAa,EACb,cAAc,EACd,UAAU,EACX,GAAG,QAAQ,CAAC;QACb,MAAM,EAAC,IAAI,EAAE,GAAG,EAAC,GAAG,OAAO,CAAC;QAC5B,MAAM,gBAAgB,GAAG,UAAU,GAAG,WAAW,CAAC;QAClD,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG,UAAU,KAAK,cAAc,CAAC;QACrD,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;YACjC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;gBACjC,QAAQ,IAAI;gCACY,GAAG;yBACV,GAAG;;4BAEA,WAAW,CAAC,CAAC,CAAC,aAAa,WAAW,CAAC,CAAC,CAAC;0CAC3B,QAAQ,QAAQ,YAAY,MAC1D,GAAG;6BACc,cAAc,aAAa,gBAAgB;;sBAElD,UAAU,CAAC,MAAM,CAAC;;qDAEa,QAAQ,QACjD,WAAW,OAAO,IAAI;+BACH,aAAa,2BAChC,gBAAgB,QAAQ,UAAU;;wBAEtB,UAAU,CAAC,MAAM,CAAC;;2CAEC,UAAU;;sBAE/B,cAAc;;2BAET,GAAG,GAAG,CAAC,GAAG,GAAG;;;;;2BAKb,GAAG,GAAG,CAAC,GAAG,GAAG;;;;;;;SAO/B,CAAC;aACH;SACF;QAED,IAAI,CAAC,QAAQ,GAAG;;;;;;;;;UASV,QAAQ;;UAER,IAAI,CAAC,MAAM;;KAEhB,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {backend_util} from '@tensorflow/tfjs-core';\nimport {getGlslDifferences} from './glsl_version';\nimport {GPGPUProgram} from './gpgpu_math';\n\nexport class Im2ColPackedProgram implements GPGPUProgram {\n variableNames = ['A'];\n packedInputs = true;\n packedOutput = true;\n outputShape: number[];\n userCode: string;\n\n constructor(\n outputShape: number[], inputShape: number[],\n convInfo: backend_util.Conv2DInfo) {\n this.outputShape = outputShape;\n\n const {\n filterWidth,\n inChannels,\n strideWidth,\n strideHeight,\n padInfo,\n outWidth,\n dilationWidth,\n dilationHeight,\n dataFormat\n } = convInfo;\n const {left, top} = padInfo;\n const itemsPerBlockRow = inChannels * filterWidth;\n const glsl = getGlslDifferences();\n const isChannelsLast = dataFormat === 'channelsLast';\n const rowDim = isChannelsLast ? 0 : 1;\n const colDim = isChannelsLast ? 1 : 2;\n\n let unrolled = ``;\n\n for (let row = 0; row <= 1; row++) {\n for (let col = 0; col <= 1; col++) {\n unrolled += `\n blockIndex = rc.y + ${col};\n pos = rc.x + ${row};\n\n if(blockIndex < ${outputShape[1]} && pos < ${outputShape[0]}) {\n offsetY = int(blockIndex / (${outWidth})) * ${strideHeight} - ${\n top};\n d0 = offsetY + ${dilationHeight} * (pos / ${itemsPerBlockRow});\n\n if(d0 < ${inputShape[rowDim]} && d0 >= 0) {\n\n offsetX = int(mod(float(blockIndex), ${outWidth}.) * ${\n strideWidth}. - ${left}.);\n d1 = offsetX + ${dilationWidth} * (int(mod(float(pos), ${\n itemsPerBlockRow}.) / ${inChannels}.));\n\n if(d1 < ${inputShape[colDim]} && d1 >= 0) {\n\n ch = int(mod(float(pos), ${inChannels}.));\n\n if (${isChannelsLast}) {\n innerDims = vec2(d1, ch);\n result[${row * 2 + col}] = getChannel(\n getA(d0, int(innerDims.x),\n int(innerDims.y)), innerDims);\n } else {\n innerDims = vec2(d0, d1);\n result[${row * 2 + col}] = getChannel(\n getA(ch, int(innerDims.x),\n int(innerDims.y)), innerDims);\n }\n }\n }\n }\n `;\n }\n }\n\n this.userCode = `\n void main() {\n ivec2 rc = getOutputCoords();\n\n vec4 result = vec4(0);\n\n int blockIndex, pos, offsetY, d0, offsetX, d1, ch;\n vec2 innerDims;\n\n ${unrolled}\n\n ${glsl.output} = result;\n }\n `;\n }\n}\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,mDAAmD;AACnD,cAAc,QAAQ,CAAC;AACvB,OAAO,wBAAwB,CAAC"}
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,mDAAmD;AACnD,cAAc,QAAQ,CAAC;AACvB,OAAO,wBAAwB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\n// All exports from this package should be in base.\nexport * from './base';\nimport './register_all_kernels';\n"]}
|
||||
Generated
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"arg_min_max.js","sourceRoot":"","sources":["../../src/kernel_utils/arg_min_max.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"arg_min_max.js","sourceRoot":"","sources":["../../src/kernel_utils/arg_min_max.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport {backend_util, env, TensorInfo, util} from '@tensorflow/tfjs-core';\n\nimport {ArgMinMaxProgram} from '../argminmax_gpu';\nimport {ArgMinMaxPackedProgram} from '../argminmax_packed_gpu';\nimport {MathBackendWebGL} from '../backend_webgl';\nimport {reshape} from '../kernels/Reshape';\n\nfunction argReduce(\n backend: MathBackendWebGL, x: TensorInfo, reduceType: 'max'|'min',\n bestIndicesA: TensorInfo = null): TensorInfo {\n let batchSize = x.shape[0];\n let inSize = x.shape[1];\n if (bestIndicesA != null) {\n batchSize = bestIndicesA.shape[0];\n inSize = bestIndicesA.shape[1];\n }\n const windowSize = backend_util.computeOptimalWindowSize(inSize);\n const reduceInfo =\n {windowSize, inSize, batchSize, outSize: Math.ceil(inSize / windowSize)};\n const program =\n new ArgMinMaxProgram(reduceInfo, reduceType, bestIndicesA == null);\n const inputs = Line truncated
|
||||
Loaded 100 of 557 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user