diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/sparse.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/sparse.js.map deleted file mode 100644 index 7334c8936..000000000 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/sparse.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"sparse.js","sourceRoot":"","sources":["../../../src/operations/op_list/sparse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,CAAC,MAAM,IAAI,GAAe,CAAC;QAC/B,UAAU,EAAE,eAAe;QAC3B,UAAU,EAAE,QAAQ;QACpB,QAAQ,EAAE;YACR,EAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAC;YACtD,EAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAC;YACpD,EAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAC;SACnD;QACD,OAAO,EACH,CAAC,EAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAC,CAAC;KAC9E,CAAC,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2021 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 {OpMapper} from '../types';\n\nexport const json: OpMapper[] = [{\n 'tfOpName': 'SparseReshape',\n 'category': 'sparse',\n 'inputs': [\n {'start': 0, 'name': 'inputIndices', 'type': 'tensor'},\n {'start': 1, 'name': 'inputShape', 'type': 'tensor'},\n {'start': 2, 'name': 'newShape', 'type': 'tensor'},\n ],\n 'attrs':\n [{'tfName': 'T', 'name': 'dtype', 'type': 'dtype', 'notSupported': true}]\n}];\n"]} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/spectral.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/spectral.js.map index ba9e585a0..bddbf5088 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/spectral.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/spectral.js.map @@ -1 +1 @@ -{"version":3,"file":"spectral.js","sourceRoot":"","sources":["../../../src/operations/op_list/spectral.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,CAAC,MAAM,IAAI,GAAe;IAC9B;QACE,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAC,CAAC;KACxD;IACD;QACE,UAAU,EAAE,MAAM;QAClB,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAC,CAAC;KACxD;IACD;QACE,UAAU,EAAE,MAAM;QAClB,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE;YACR,EAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAC,EAAE;gBAC3C,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,QAAQ;gBAChB,cAAc,EAAE,IAAI;aACrB;SACF;KACF;IACD;QACE,UAAU,EAAE,OAAO;QACnB,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE;YACR,EAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAC,EAAE;gBAC3C,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,QAAQ;gBAChB,cAAc,EAAE,IAAI;aACrB;SACF;KACF;CACF,CAAC","sourcesContent":["import {OpMapper} from '../types';\n\n/**\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\nexport const json: OpMapper[] = [\n {\n 'tfOpName': 'FFT',\n 'category': 'spectral',\n 'inputs': [{'start': 0, 'name': 'x', 'type': 'tensor'}]\n },\n {\n 'tfOpName': 'IFFT',\n 'category': 'spectral',\n 'inputs': [{'start': 0, 'name': 'x', 'type': 'tensor'}]\n },\n {\n 'tfOpName': 'RFFT',\n 'category': 'spectral',\n 'inputs': [\n {'start': 0, 'name': 'x', 'type': 'tensor'}, {\n 'start': 1,\n 'name': 'fft_length',\n 'type': 'number',\n 'notSupported': true\n }\n ]\n },\n {\n 'tfOpName': 'IRFFT',\n 'category': 'spectral',\n 'inputs': [\n {'start': 0, 'name': 'x', 'type': 'tensor'}, {\n 'start': 1,\n 'name': 'fft_length',\n 'type': 'number',\n 'notSupported': true\n }\n ]\n }\n];\n"]} \ No newline at end of file +{"version":3,"file":"spectral.js","sourceRoot":"","sources":["../../../src/operations/op_list/spectral.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,CAAC,MAAM,IAAI,GAAe;IAC9B;QACE,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAC,CAAC;KACxD;IACD;QACE,UAAU,EAAE,MAAM;QAClB,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAC,CAAC;KACxD;IACD;QACE,UAAU,EAAE,MAAM;QAClB,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE;YACR,EAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAC,EAAE;gBAC3C,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,QAAQ;gBAChB,cAAc,EAAE,IAAI;aACrB;SACF;KACF;IACD;QACE,UAAU,EAAE,OAAO;QACnB,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE;YACR,EAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAC,EAAE;gBAC3C,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,QAAQ;gBAChB,cAAc,EAAE,IAAI;aACrB;SACF;KACF;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/transformation.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/transformation.js.map index ccf24ede1..33526a3e7 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/transformation.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/transformation.js.map @@ -1 +1 @@ -{"version":3,"file":"transformation.js","sourceRoot":"","sources":["../../../src/operations/op_list/transformation.ts"],"names":[],"mappings":"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","sourcesContent":["import {OpMapper} from '../types';\n\n/**\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\nexport const json: OpMapper[] = [\n {\n 'tfOpName': 'Cast',\n 'category': 'transformation',\n 'inputs': [\n {'start': 0, 'name': 'x', 'type': 'tensor'},\n ],\n 'attrs': [\n {\n 'tfName': 'SrcT',\n 'name': 'sdtype',\n 'type': 'dtype',\n 'notSupported': true\n },\n {'tfName': 'DstT', 'name': 'dtype', 'type': 'dtype'}\n ]\n },\n {\n 'tfOpName': 'ExpandDims',\n 'category': 'transformation',\n 'inputs': [\n {'start': 0, 'name': 'x', 'type': 'tensor'},\n {'start': 1, 'name': 'axis', 'type': 'number'}\n ]\n },\n {\n 'tfOpName': 'MirrorPad',\n 'category': 'transformation',\n 'inputs': [\n {'start': 0, 'name': 'x', 'type': 'tensor'},\n {'start': 1, 'name': 'padding', 'type': 'number[]'},\n ],\n 'attrs': [{'tfName': 'mode', 'name': 'mode', 'type': 'string'}]\n },\n {\n 'tfOpName': 'Pad',\n 'category': 'transformation',\n 'inputs': [\n {'start': 0, 'name': 'x', 'type': 'tensor'},\n {'start': 1, 'name': 'padding', 'type': 'number[]'},\n ],\n 'attrs': [{\n 'tfName': 'constant_value',\n 'name': 'constantValue',\n 'type': 'number',\n 'defaultValue': 0\n }]\n },\n {\n 'tfOpName': 'PadV2',\n 'category': 'transformation',\n 'inputs': [\n {'start': 0, 'name': 'x', 'type': 'tensor'},\n {'start': 1, 'name': 'padding', 'type': 'number[]'}, {\n 'start': 2,\n 'name': 'constantValue',\n 'type': 'number',\n 'defaultValue': 0\n }\n ]\n },\n {\n 'tfOpName': 'Reshape',\n 'category': 'transformation',\n 'inputs': [\n {'start': 0, 'name': 'x', 'type': 'tensor'},\n {'start': 1, 'name': 'shape', 'type': 'number[]'}\n ]\n },\n {\n 'tfOpName': 'Squeeze',\n 'category': 'transformation',\n 'inputs': [\n {'start': 0, 'name': 'x', 'type': 'tensor'},\n ],\n 'attrs': [{\n 'tfName': 'axis',\n 'tfDeprecatedName': 'squeeze_dims',\n 'name': 'axis',\n 'type': 'number[]'\n }]\n },\n {\n 'tfOpName': 'SpaceToBatchND',\n 'category': 'transformation',\n 'inputs': [\n {'start': 0, 'name': 'x', 'type': 'tensor'},\n {'start': 1, 'name': 'blockShape', 'type': 'number[]'},\n {'start': 2, 'name': 'paddings', 'type': 'number[]'}\n ]\n },\n {\n 'tfOpName': 'BatchToSpaceND',\n 'category': 'transformation',\n 'inputs': [\n {'start': 0, 'name': 'x', 'type': 'tensor'},\n {'start': 1, 'name': 'blockShape', 'type': 'number[]'},\n {'start': 2, 'name': 'crops', 'type': 'number[]'}\n ]\n },\n {\n 'tfOpName': 'DepthToSpace',\n 'category': 'transformation',\n 'inputs': [\n {'start': 0, 'name': 'x', 'type': 'tensor'},\n ],\n 'attrs': [\n {'tfName': 'block_size', 'name': 'blockSize', 'type': 'number'},\n {'tfName': 'data_format', 'name': 'dataFormat', 'type': 'string'}\n ]\n },\n {\n 'tfOpName': 'BroadcastTo',\n 'category': 'transformation',\n 'inputs': [\n {'start': 0, 'name': 'x', 'type': 'tensor'},\n {'start': 1, 'name': 'shape', 'type': 'number[]'},\n ],\n 'attrs': []\n }\n];\n"]} \ No newline at end of file +{"version":3,"file":"transformation.js","sourceRoot":"","sources":["../../../src/operations/op_list/transformation.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/metadata/kernel2op.json b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/metadata/kernel2op.json index 8fe5af57f..9570afce0 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/metadata/kernel2op.json +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/metadata/kernel2op.json @@ -138,9 +138,6 @@ "DivNoNan": [ "divNoNan" ], - "Einsum": [ - "einsum" - ], "Elu": [ "elu" ], @@ -221,9 +218,6 @@ "Imag": [ "imag" ], - "IsNan": [ - "isNaN" - ], "LRN": [ "localResponseNormalization" ], @@ -264,8 +258,6 @@ "LookupTableFindV2": [], "LookupTableImport": [], "LookupTableImportV2": [], - "LookupTableSize": [], - "LookupTableSizeV2": [], "LoopCond": [], "MatMul": [ "matMul" @@ -455,9 +447,6 @@ "SpaceToBatchND": [ "spaceToBatchND" ], - "SparseReshape": [ - "sparse.sparseReshape" - ], "SparseToDense": [ "sparseToDense", "cast" diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/graph_executor.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/graph_executor.ts index 6e4ec61a3..cf849cbf3 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/graph_executor.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/graph_executor.ts @@ -290,7 +290,7 @@ export class GraphExecutor implements FunctionExecutor { getTensorsForCurrentContenxt(input.name, tensorMap, context); if (tensors != null) { tensors.forEach(tensor => { - if (tensor && !tensor.kept && !tensorsToKeep.has(tensor.id)) { + if (tensor && !tensorsToKeep.has(tensor.id)) { const count = intermediateTensorConsumerCount[tensor.id]; if (count === 1) { tensor.dispose(); @@ -366,8 +366,7 @@ export class GraphExecutor implements FunctionExecutor { Object.keys(tensorMap).forEach(key => { const tensorArray = tensorMap[key]; tensorArray.forEach(tensor => { - if (tensor && !tensor.kept && !tensor.isDisposed && - !keepIds.has(tensor.id)) { + if (tensor && !tensor.isDisposed && !keepIds.has(tensor.id)) { tensor.dispose(); } }); diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/hash_table.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/hash_table.ts index 9552349fe..ca2bdca3a 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/hash_table.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/hash_table.ts @@ -15,8 +15,6 @@ * ============================================================================= */ import {DataType, keep, scalar, stack, Tensor, tidy, unstack, util} from '@tensorflow/tfjs-core'; -// tslint:disable-next-line: no-imports-from-dist -import * as tfOps from '@tensorflow/tfjs-core/dist/ops/ops_for_converter'; /** * Hashtable contains a set of tensors, which can be accessed by key. @@ -61,13 +59,6 @@ export class HashTable { return this.tensorMap.size; } - /** - * The number of items in the hash table as a rank-0 tensor. - */ - tensorSize(): Tensor { - return tfOps.scalar(this.size(), 'int32'); - } - /** * Replaces the contents of the table with the specified keys and values. * @param keys Keys to store in the hashtable. diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/model_analysis.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/model_analysis.ts index 2f64ffa94..aa032ab9d 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/model_analysis.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/model_analysis.ts @@ -155,7 +155,7 @@ const DYNAMIC_SHAPE_OPS = [ ]; const HASH_TABLE_OPS = [ 'HashTable', 'HashTableV2', 'LookupTableImport', 'LookupTableImportV2', - 'LookupTableFind', 'LookupTableFindV2', 'LookupTableSize', 'LookupTableSizeV2' + 'LookupTableFind', 'LookupTableFindV2' ]; export function isControlFlow(node: Node) { diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/tensor_list.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/tensor_list.ts index 1d5b12e4e..0ceb56156 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/tensor_list.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/tensor_list.ts @@ -17,7 +17,7 @@ import {concat, DataType, keep, reshape, scalar, slice, stack, Tensor, tensor, tidy, unstack} from '@tensorflow/tfjs-core'; -import {assertShapesMatchAllowUndefinedSize, inferElementShape, mergeElementShape} from './tensor_utils'; +import {assertShapesMatchAllowUndefinedSize} from './tensor_utils'; /** * TensorList stores a container of `tf.Tensor` objects, which are accessible @@ -44,14 +44,13 @@ export class TensorList { /** * * @param tensors list of tensors - * @param elementShape shape of each tensor, this can be a single number (any - * shape is allowed) or partial shape (dim = -1). + * @param elementShape shape of each tensor * @param elementDtype data type of each tensor * @param maxNumElements The maximum allowed size of `tensors`. Defaults to -1 * meaning that the size of `tensors` is unbounded. */ constructor( - readonly tensors: Tensor[], readonly elementShape: number|number[], + readonly tensors: Tensor[], readonly elementShape: number[], readonly elementDtype: DataType, maxNumElements = -1) { if (tensors != null) { tensors.forEach(tensor => { @@ -117,11 +116,9 @@ export class TensorList { } assertShapesMatchAllowUndefinedSize( elementShape, this.elementShape, 'TensorList shape mismatch: '); - const outputElementShape = - inferElementShape(this.elementShape, this.tensors, elementShape); return tidy(() => { const reshapedTensors = - this.tensors.map(tensor => reshape(tensor, outputElementShape)); + this.tensors.map(tensor => reshape(tensor, elementShape)); return stack(reshapedTensors, 0); }); } @@ -140,14 +137,11 @@ export class TensorList { if (this.size() === 0) { throw new Error('Trying to pop from an empty list.'); } - const outputElementShape = - inferElementShape(this.elementShape, this.tensors, elementShape); - const tensor = this.tensors.pop(); + const tensor = this.tensors.pop(); assertShapesMatchAllowUndefinedSize( tensor.shape, elementShape, 'TensorList shape mismatch: '); - - return reshape(tensor, outputElementShape); + return reshape(tensor, elementShape); } /** @@ -211,9 +205,8 @@ export class TensorList { assertShapesMatchAllowUndefinedSize( this.tensors[elementIndex].shape, elementShape, 'TensorList shape mismatch: '); - const outputElementShape = - inferElementShape(this.elementShape, this.tensors, elementShape); - return reshape(this.tensors[elementIndex], outputElementShape); + + return this.tensors[elementIndex]; } /** @@ -259,15 +252,13 @@ export class TensorList { // When indices is greater than the size of the list, indices beyond the // size of the list are ignored. indices = indices.slice(0, this.size()); - const outputElementShape = - inferElementShape(this.elementShape, this.tensors, elementShape); + if (indices.length === 0) { - return tensor([], [0].concat(outputElementShape)); + return tensor([], [0].concat(this.elementShape)); } return tidy(() => { - const tensors = - indices.map(i => reshape(this.tensors[i], outputElementShape)); + const tensors = indices.map(i => reshape(this.tensors[i], elementShape)); return stack(tensors, 0); }); } @@ -285,14 +276,13 @@ export class TensorList { assertShapesMatchAllowUndefinedSize( this.elementShape, elementShape, 'TensorList shape mismatch: '); - const outputElementShape = - inferElementShape(this.elementShape, this.tensors, elementShape); if (this.size() === 0) { - return tensor([], [0].concat(outputElementShape)); + return tensor([], [0].concat(this.elementShape)); } + return tidy(() => { - const tensors = this.tensors.map(t => reshape(t, outputElementShape)); + const tensors = this.tensors.map(t => reshape(t, elementShape)); return concat(tensors, 0); }); } @@ -314,9 +304,10 @@ export function fromTensor( throw new Error(`Invalid data types; op elements ${ tensor.dtype}, but list elements ${elementDtype}`); } - const tensorElementShape = tensor.shape.slice(1); + const outputShape = tensor.shape.slice(1); assertShapesMatchAllowUndefinedSize( - tensorElementShape, elementShape, 'TensorList shape mismatch: '); + outputShape, elementShape, 'TensorList shape mismatch: '); + const tensorList: Tensor[] = unstack(tensor); return new TensorList(tensorList, elementShape, dtype); } @@ -383,9 +374,6 @@ export function split( ${totalLength}, and tensor's shape is: ${tensor.shape}`); } - const shapeWithoutFirstDim = tensor.shape.slice(1); - const outputElementShape = - mergeElementShape(shapeWithoutFirstDim, elementShape); const elementPerRow = totalLength === 0 ? 0 : tensor.size / totalLength; const tensors: Tensor[] = tidy(() => { const tensors = []; @@ -394,8 +382,7 @@ export function split( const previousLength = (i === 0) ? 0 : cumulativeLengths[i - 1]; const indices = [0, previousLength, 0]; const sizes = [1, length[i], elementPerRow]; - tensors[i] = reshape( - slice(tensor, indices, sizes), outputElementShape as number[]); + tensors[i] = reshape(slice(tensor, indices, sizes), elementShape); } tensor.dispose(); return tensors; diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/tensor_utils.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/tensor_utils.ts index 14ef48d4f..ebb0ffead 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/tensor_utils.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/executor/tensor_utils.ts @@ -21,93 +21,23 @@ * anything. */ -import {Tensor, util} from '@tensorflow/tfjs-core'; +import {util} from '@tensorflow/tfjs-core'; -/** - * Used by TensorList and TensorArray to verify if elementShape matches, support - * negative value as the dim shape. - * @param shapeA - * @param shapeB - * @param errorMessagePrefix - */ export function assertShapesMatchAllowUndefinedSize( - shapeA: number|number[], shapeB: number|number[], - errorMessagePrefix = ''): void { - // constant shape means unknown rank - if (typeof shapeA === 'number' || typeof shapeB === 'number') { - return; - } + shapeA: number[], shapeB: number[], errorMessagePrefix = ''): void { util.assert( - shapeA.length === shapeB.length, + shapesEqualAllowUndefinedSize(shapeA, shapeB), () => errorMessagePrefix + ` Shapes ${shapeA} and ${shapeB} must match`); - for (let i = 0; i < shapeA.length; i++) { - const dim0 = shapeA[i]; - const dim1 = shapeB[i]; - util.assert( - dim0 < 0 || dim1 < 0 || dim0 === dim1, - () => - errorMessagePrefix + ` Shapes ${shapeA} and ${shapeB} must match`); - } } -export function fullDefinedShape(elementShape: number|number[]): boolean { - if (typeof elementShape === 'number' || elementShape.some(dim => dim < 0)) { +export function shapesEqualAllowUndefinedSize(n1: number[], n2: number[]) { + if (n1.length !== n2.length) { return false; } + for (let i = 0; i < n1.length; i++) { + if (n1[i] !== -1 && n2[i] !== -1 && n1[i] !== n2[i]) { + return false; + } + } return true; } -/** - * Generate the output element shape from the list elementShape, list tensors - * and input param. - * @param listElementShape - * @param tensors - * @param elementShape - */ -export function inferElementShape( - listElementShape: number|number[], tensors: Tensor[], - elementShape: number|number[]): number[] { - let partialShape = mergeElementShape(listElementShape, elementShape); - const notfullDefinedShape = !fullDefinedShape(partialShape); - if (notfullDefinedShape && tensors.length === 0) { - throw new Error( - `Tried to calculate elements of an empty list` + - ` with non-fully-defined elementShape: ${partialShape}`); - } - if (notfullDefinedShape) { - tensors.forEach(tensor => { - partialShape = mergeElementShape(tensor.shape, partialShape); - }); - } - if (!fullDefinedShape(partialShape)) { - throw new Error(`Non-fully-defined elementShape: ${partialShape}`); - } - return partialShape as number[]; -} - -export function mergeElementShape( - elementShapeA: number|number[], elementShapeB: number|number[]): number| - number[] { - if (typeof elementShapeA === 'number') { - return elementShapeB; - } - if (typeof elementShapeB === 'number') { - return elementShapeA; - } - - if (elementShapeA.length !== elementShapeB.length) { - throw new Error(`Incompatible ranks during merge: ${elementShapeA} vs. ${ - elementShapeB}`); - } - - const result: number[] = []; - for (let i = 0; i < elementShapeA.length; ++i) { - const dim0 = elementShapeA[i]; - const dim1 = elementShapeB[i]; - if (dim0 >= 0 && dim1 >= 0 && dim0 !== dim1) { - throw new Error(`Incompatible shape during merge: ${elementShapeA} vs. ${ - elementShapeB}`); - } - result[i] = dim0 >= 0 ? dim0 : dim1; - } - return result; -} diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/executors/basic_math_executor.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/executors/basic_math_executor.ts index 0751d95a2..6288956ae 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/executors/basic_math_executor.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/executors/basic_math_executor.ts @@ -172,9 +172,6 @@ export const executeOp: InternalOpExecutor = return [tfOps.prelu( getParamValue('x', node, tensorMap, context) as Tensor, getParamValue('alpha', node, tensorMap, context) as Tensor)]; - case 'IsNan': - return [tfOps.isNaN( - getTensor(node.inputNames[0], tensorMap, context))]; default: throw TypeError(`Node type ${node.op} is not implemented`); } diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/executors/convolution_executor.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/executors/convolution_executor.ts index a984a1115..7fb6ba56e 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/executors/convolution_executor.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/executors/convolution_executor.ts @@ -50,7 +50,7 @@ function fusedConvAndDepthWiseParams( } if (isBatchNorm) { throw new Error( - 'FusedConv2d and DepthwiseConv2d with FusedBatchNorm is not supported'); + 'FusedConv2d and DepthwiseConv2d with FusedBatchNorm is not supported.'); } const stride = getParamValue('strides', node, tensorMap, context) as number[]; const pad = getPadding(node, tensorMap, context); diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/executors/hash_table_executor.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/executors/hash_table_executor.ts index 15949d6a1..d2e46ef2f 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/executors/hash_table_executor.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/executors/hash_table_executor.ts @@ -65,15 +65,6 @@ export const executeOp: InternalOpAsyncExecutor = async( const hashTable = resourceManager.getHashTableById(handle.id); return [await hashTable.find(keys, defaultValue)]; } - case 'LookupTableSize': - case 'LookupTableSizeV2': { - const handle = getParamValue( - 'tableHandle', node, tensorMap, context, - resourceManager) as Tensor; - - const hashTable = resourceManager.getHashTableById(handle.id); - return [hashTable.tensorSize()]; - } default: throw TypeError(`Node type ${node.op} is not implemented`); } diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/executors/matrices_executor.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/executors/matrices_executor.ts index 1a0cdb666..0df0228e0 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/executors/matrices_executor.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/executors/matrices_executor.ts @@ -39,12 +39,6 @@ export const executeOp: InternalOpExecutor = getParamValue('transposeB', node, tensorMap, context) as boolean)]; - case 'Einsum': - return [tfOps.einsum( - getParamValue('equation', node, tensorMap, context) as string, - ...getParamValue('tensors', node, tensorMap, context) as - Tensor[])]; - case 'Transpose': return [tfOps.transpose( getParamValue('x', node, tensorMap, context) as Tensor, diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/executors/sparse_executor.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/executors/sparse_executor.ts deleted file mode 100644 index 2590361b6..000000000 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/executors/sparse_executor.ts +++ /dev/null @@ -1,45 +0,0 @@ -/** - * @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 {Tensor, Tensor1D, Tensor2D} from '@tensorflow/tfjs-core'; -// tslint:disable-next-line: no-imports-from-dist -import * as tfOps from '@tensorflow/tfjs-core/dist/ops/ops_for_converter'; - -import {NamedTensorsMap} from '../../data/types'; -import {ExecutionContext} from '../../executor/execution_context'; -import {InternalOpExecutor, Node} from '../types'; - -import {getParamValue} from './utils'; - -export const executeOp: InternalOpExecutor = - (node: Node, tensorMap: NamedTensorsMap, - context: ExecutionContext): Tensor[] => { - switch (node.op) { - case 'SparseReshape': { - const {outputIndices, outputShape} = tfOps.sparse.sparseReshape( - getParamValue('inputIndices', node, tensorMap, context) as - Tensor2D, - getParamValue('inputShape', node, tensorMap, context) as Tensor1D, - getParamValue('newShape', node, tensorMap, context) as Tensor1D); - return [outputIndices, outputShape]; - } - default: - throw TypeError(`Node type ${node.op} is not implemented`); - } - }; - -export const CATEGORY = 'convolution'; diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/op_list/basic_math.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/op_list/basic_math.ts index 380c13878..fbba518a6 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/op_list/basic_math.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/op_list/basic_math.ts @@ -463,20 +463,12 @@ export const json: OpMapper[] = [ 'type': 'number', 'defaultValue': 0.2 }, - {'tfName': 'T', 'name': 'dtype', 'type': 'dtype', 'notSupported': true} + { + 'tfName': 'T', + 'name': 'dtype', + 'type': 'dtype', + 'notSupported': true + } ] - }, - { - 'tfOpName': 'IsNan', - 'category': 'basic_math', - 'inputs': [ - {'start': 0, 'name': 'x', 'type': 'tensor'}, - ], - 'attrs': [{ - 'tfName': 'T', - 'name': 'dtype', - 'type': 'dtype', - 'notSupported': true - }] } ]; diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/op_list/hash_table.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/op_list/hash_table.ts index f0acec50f..f807074fe 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/op_list/hash_table.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/op_list/hash_table.ts @@ -114,19 +114,5 @@ export const json: OpMapper[] = [ 'notSupported': true } ] - }, - { - 'tfOpName': 'LookupTableSize', - 'category': 'hash_table', - 'inputs': [ - {'start': 0, 'name': 'tableHandle', 'type': 'tensor'} - ] - }, - { - 'tfOpName': 'LookupTableSizeV2', - 'category': 'hash_table', - 'inputs': [ - {'start': 0, 'name': 'tableHandle', 'type': 'tensor'} - ] } ]; diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/op_list/matrices.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/op_list/matrices.ts index 0fb6a432d..ae6a1bbb4 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/op_list/matrices.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/op_list/matrices.ts @@ -130,18 +130,11 @@ export const json: OpMapper[] = [ {'start': 0, 'name': 'x', 'type': 'tensor'}, {'start': 1, 'name': 'perm', 'type': 'number[]'}, ], - 'attrs': [ - {'tfName': 'T', 'name': 'dtype', 'type': 'dtype', 'notSupported': true} - ] - }, - { - 'tfOpName': 'Einsum', - 'category': 'matrices', - 'inputs': [{'start': 0, 'end': 0, 'name': 'tensors', 'type': 'tensors'}], - 'attrs': [ - {'tfName': 'equation', 'name': 'equation', 'type': 'string'}, - {'tfName': 'N', 'name': 'n', 'type': 'number', 'defaultValue': 2}, - {'tfName': 'T', 'name': 'dtype', 'type': 'dtype'} - ] + 'attrs': [{ + 'tfName': 'T', + 'name': 'dtype', + 'type': 'dtype', + 'notSupported': true + }] } ]; diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/op_list/sparse.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/op_list/sparse.ts deleted file mode 100644 index 2cc1927ac..000000000 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/op_list/sparse.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * @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 {OpMapper} from '../types'; - -export const json: OpMapper[] = [{ - 'tfOpName': 'SparseReshape', - 'category': 'sparse', - 'inputs': [ - {'start': 0, 'name': 'inputIndices', 'type': 'tensor'}, - {'start': 1, 'name': 'inputShape', 'type': 'tensor'}, - {'start': 2, 'name': 'newShape', 'type': 'tensor'}, - ], - 'attrs': - [{'tfName': 'T', 'name': 'dtype', 'type': 'dtype', 'notSupported': true}] -}]; diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/op_mapper_schema.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/op_mapper_schema.ts index 5daabce20..96e45d8e8 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/op_mapper_schema.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/op_mapper_schema.ts @@ -42,7 +42,7 @@ export const json = { 'arithmetic', 'basic_math', 'control', 'convolution', 'custom', 'dynamic', 'evaluation', 'image', 'creation', 'graph', 'logical', 'matrices', 'normalization', 'reduction', 'slice_join', 'spectral', - 'transformation', 'sparse' + 'transformation' ] }, 'InputParamMapper': { @@ -54,7 +54,8 @@ export const json = { 'anyOf': [ {'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}, {'type': 'number'}, {'type': 'array', 'items': {'type': 'number'}}, - {'type': 'boolean'}, {'type': 'array', 'items': {'type': 'boolean'}} + {'type': 'boolean'}, + {'type': 'array', 'items': {'type': 'boolean'}} ] }, 'notSupported': {'type': 'boolean'}, @@ -80,7 +81,8 @@ export const json = { 'anyOf': [ {'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}, {'type': 'number'}, {'type': 'array', 'items': {'type': 'number'}}, - {'type': 'boolean'}, {'type': 'array', 'items': {'type': 'boolean'}} + {'type': 'boolean'}, + {'type': 'array', 'items': {'type': 'boolean'}} ] }, 'notSupported': {'type': 'boolean'}, diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/operation_executor.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/operation_executor.ts index 28df52933..0241e8517 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/operation_executor.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/operation_executor.ts @@ -38,7 +38,6 @@ import * as matrices from './executors/matrices_executor'; import * as normalization from './executors/normalization_executor'; import * as reduction from './executors/reduction_executor'; import * as sliceJoin from './executors/slice_join_executor'; -import * as sparse from './executors/sparse_executor'; import * as spectral from './executors/spectral_executor'; import * as transformation from './executors/transformation_executor'; import {Node} from './types'; @@ -91,8 +90,6 @@ export function executeOp( case 'slice_join': return tfc.tidy( () => sliceJoin.executeOp(node, tensorMap, context)); - case 'sparse': - return tfc.tidy(() => sparse.executeOp(node, tensorMap, context)); case 'spectral': return tfc.tidy(() => spectral.executeOp(node, tensorMap, context)); case 'transformation': diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/types.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/types.ts index b686bfab0..054f6364e 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/types.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/operations/types.ts @@ -26,7 +26,7 @@ export type ParamType = 'number'|'string'|'string[]'|'number[]'|'bool'|'bool[]'| export type Category = 'arithmetic'|'basic_math'|'control'|'convolution'| 'custom'|'dynamic'|'evaluation'|'image'|'creation'|'graph'|'logical'| 'matrices'|'normalization'|'reduction'|'slice_join'|'spectral'| - 'transformation'|'hash_table'|'sparse'; + 'transformation'|'hash_table'; // For mapping input or attributes of NodeDef into TensorFlow.js op param. export declare interface ParamMapper { diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/version.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/version.ts index 4d1223e8a..cb6d917ca 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/version.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-converter/src/version.ts @@ -1,5 +1,5 @@ /** @license See the LICENSE file. */ // This code is auto-generated, do not modify this file! -const version = '3.6.0'; +const version = '3.0.0'; export {version}; diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/.bazelignore b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/.bazelignore new file mode 100644 index 000000000..3c3629e64 --- /dev/null +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/.bazelignore @@ -0,0 +1 @@ +node_modules diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/BUILD.bazel b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/BUILD.bazel index 1f1b16f0b..5f79add29 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/BUILD.bazel +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/BUILD.bazel @@ -1,152 +1,2 @@ -# 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. -# ============================================================================= - -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("@npm//@bazel/concatjs:index.bzl", "karma_web_test") -load("@npm//@bazel/typescript:index.bzl", "ts_library", "ts_project") -load("//:esbuild.bzl", "esbuild") - -package(default_visibility = ["//visibility:public"]) - # Allow typescript rules in any package to reference this file exports_files(["tsconfig.json"]) - -TEST_SRCS = ["src/setup_test.ts"] - -ts_project( - name = "tfjs-core_lib", - srcs = glob( - ["src/**/*.ts"], - exclude = TEST_SRCS, - ), - declaration = True, - extends = "//:tsconfig.json", - incremental = True, - out_dir = "dist", - root_dir = "src", - source_map = True, - tsconfig = "tsconfig.json", - deps = [ - "@npm//@types", - "@npm//jasmine-core", - "@npm//seedrandom", - ], -) - -ts_library( - name = "tfjs-core_test_lib", - testonly = True, - srcs = [ - "setup_test_bazel.ts", - ], - tsconfig = "//:tsconfig_ts_library.json", - deps = [ - ":tfjs-core", - "@npm//@types", - "@npm//jasmine-core", - "@npm//seedrandom", - ], -) - -esbuild( - name = "tfjs-core_test_bundle", - testonly = True, - entry_point = "setup_test_bazel.ts", - external = [ - # webworker tests call 'require('@tensorflow/tfjs')', which - # is external to the test bundle. - # Note: This is not a bazel target. It's just a string. - "@tensorflow/tfjs", - ], - sources_content = True, - deps = [ - ":tfjs-core_lib", - ":tfjs-core_test_lib", - "//tfjs-backend-cpu", - ], -) - -esbuild( - name = "tf-core.min", - entry_point = "dist/index.ts", - external = [ - "node-fetch", - "util", - ], - minify = True, - sources_content = True, - deps = [ - ":tfjs-core_lib", - ], -) - -esbuild( - name = "tf-core.node", - entry_point = "dist/index.ts", - external = [ - "node-fetch", - "util", - ], - sources_content = True, - deps = [ - ":tfjs-core_lib", - ], -) - -js_library( - name = "tfjs-core", - package_name = "@tensorflow/tfjs-core", - srcs = [ - "package.json", - ], - deps = [ - ":tf-core.min", - ":tf-core.node", - ":tfjs-core_lib", - ], -) - -karma_web_test( - name = "tfjs-core_test", - srcs = [ - ":tfjs-core_test_bundle", - ], - static_files = [ - # Listed here so sourcemaps are served - ":tfjs-core_test_bundle", - ], - tags = ["native"], -) - -karma_web_test( - name = "browserstack_tfjs-core_test", - srcs = [ - ":tfjs-core_test_bundle", - ], - config_file = "//:karma.conf.js", - peer_deps = [ - "@npm//karma", - "@npm//karma-jasmine", - "@npm//karma-requirejs", - "@npm//karma-sourcemap-loader", - "@npm//requirejs", - "@npm//karma-browserstack-launcher", - ], - static_files = [ - # Listed here so sourcemaps are served - ":tfjs-core_test_bundle", - ], - tags = ["ci"], -) diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend.d.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend.d.ts index 708769e49..425537c86 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend.d.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend.d.ts @@ -27,15 +27,14 @@ export interface BackendTimingInfo { export interface TensorStorage { read(dataId: DataId): Promise; readSync(dataId: DataId): BackendValues; - disposeData(dataId: DataId, force?: boolean): boolean; + disposeData(dataId: DataId): void; write(values: BackendValues, shape: number[], dtype: DataType): DataId; - move(dataId: DataId, values: BackendValues, shape: number[], dtype: DataType, refCount: number): void; + move(dataId: DataId, values: BackendValues, shape: number[], dtype: DataType): void; memory(): { unreliable: boolean; }; /** Returns number of data ids currently in the storage. */ numDataIds(): number; - refCount(dataId: DataId): number; } /** Convenient class for storing tensor-related data. */ export declare class DataStorage { @@ -59,7 +58,6 @@ export interface DataMover { moveData(backend: KernelBackend, dataId: DataId): void; } export interface BackendTimer { - timerAvailable(): boolean; time(f: () => void): Promise; } /** @@ -69,16 +67,21 @@ export interface BackendTimer { * methods). */ export declare class KernelBackend implements TensorStorage, Backend, BackendTimer { - refCount(dataId: DataId): number; - incRef(dataId: DataId): void; - timerAvailable(): boolean; + /** + * Decrease the complex ref count for the dataId, this is useful for WebGL + * backend to keep the real and imag components of the complex tensor in sync + * with the engine. WASM and node do not have internal ref count, they will + * use on the default implementation. + * @param dataId + */ + decComplexRef(dataId: DataId): void; time(f: () => void): Promise; read(dataId: object): Promise; readSync(dataId: object): BackendValues; numDataIds(): number; - disposeData(dataId: object, force?: boolean): boolean; + disposeData(dataId: object): void; write(values: BackendValues, shape: number[], dtype: DataType): DataId; - move(dataId: DataId, values: BackendValues, shape: number[], dtype: DataType, refCount: number): void; + move(dataId: DataId, values: BackendValues, shape: number[], dtype: DataType): void; memory(): { unreliable: boolean; reasons?: string[]; diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend.js b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend.js index fbb74bb1f..2493648ae 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend.js +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend.js @@ -52,14 +52,15 @@ export class DataStorage { * methods). */ export class KernelBackend { - refCount(dataId) { - return notYetImplemented('refCount'); - } - incRef(dataId) { - return notYetImplemented('incRef'); - } - timerAvailable() { - return true; + /** + * Decrease the complex ref count for the dataId, this is useful for WebGL + * backend to keep the real and imag components of the complex tensor in sync + * with the engine. WASM and node do not have internal ref count, they will + * use on the default implementation. + * @param dataId + */ + decComplexRef(dataId) { + return; } time(f) { return notYetImplemented('time'); @@ -73,13 +74,13 @@ export class KernelBackend { numDataIds() { return notYetImplemented('numDataIds'); } - disposeData(dataId, force) { + disposeData(dataId) { return notYetImplemented('disposeData'); } write(values, shape, dtype) { return notYetImplemented('write'); } - move(dataId, values, shape, dtype, refCount) { + move(dataId, values, shape, dtype) { return notYetImplemented('move'); } memory() { diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend.js.map index 0ed69aa02..85eb07930 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend.js.map @@ -1 +1 @@ -{"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/backends/backend.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, DataId} from '../tensor';\nimport {BackendValues, DataType} from '../types';\n\nexport const EPSILON_FLOAT32 = 1e-7;\nexport const EPSILON_FLOAT16 = 1e-4;\n\n// Required information for all backends.\nexport interface BackendTimingInfo {\n kernelMs: number|{error: string};\n getExtraProfileInfo?(): string; // a field for additional timing information\n // e.g. packing / unpacking for WebGL backend\n}\n\nexport interface TensorStorage {\n read(dataId: DataId): Promise;\n readSync(dataId: DataId): BackendValues;\n disposeData(dataId: DataId, force?: boolean): boolean;\n write(values: BackendValues, shape: number[], dtype: DataType): DataId;\n move(\n dataId: DataId, values: BackendValues, shape: number[], dtype: DataType,\n refCount: number): void;\n memory(): {unreliable: boolean;}; // Backend-specific information.\n /** Returns number of data ids currently in the storage. */\n numDataIds(): number;\n refCount(dataId: DataId): number;\n}\n\n/** Convenient class for storing tensor-related data. */\nexport class DataStorage {\n private data = new WeakMap();\n private dataIdsCount = 0;\n\n constructor(private backend: KernelBackend, private dataMover: DataMover) {}\n\n get(dataId: DataId) {\n if (!this.data.has(dataId)) {\n this.dataMover.moveData(this.backend, dataId);\n }\n return this.data.get(dataId);\n }\n\n set(dataId: DataId, value: T): void {\n this.dataIdsCount++;\n this.data.set(dataId, value);\n }\n\n has(dataId: DataId): boolean {\n return this.data.has(dataId);\n }\n\n delete(dataId: DataId): boolean {\n this.dataIdsCount--;\n return this.data.delete(dataId);\n }\n\n numDataIds(): number {\n return this.dataIdsCount;\n }\n}\n\nexport interface DataMover {\n /**\n * To be called by backends whenever they see a dataId that they don't own.\n * Upon calling this method, the mover will fetch the tensor from another\n * backend and register it with the current active backend.\n */\n moveData(backend: KernelBackend, dataId: DataId): void;\n}\n\nexport interface BackendTimer {\n // check if backend timer is available\n timerAvailable(): boolean;\n time(f: () => void): Promise;\n}\n\n/**\n * The interface that defines the kernels that should be implemented when\n * adding a new backend. New backends don't need to implement every one of the\n * methods, this can be done gradually (throw an error for unimplemented\n * methods).\n */\nexport class KernelBackend implements TensorStorage, Backend, BackendTimer {\n refCount(dataId: DataId): number {\n return notYetImplemented('refCount');\n }\n incRef(dataId: DataId): void {\n return notYetImplemented('incRef');\n }\n timerAvailable(): boolean {\n return true;\n }\n time(f: () => void): Promise {\n return notYetImplemented('time');\n }\n read(dataId: object): Promise {\n return notYetImplemented('read');\n }\n readSync(dataId: object): BackendValues {\n return notYetImplemented('readSync');\n }\n numDataIds(): number {\n return notYetImplemented('numDataIds');\n }\n disposeData(dataId: object, force?: boolean): boolean {\n return notYetImplemented('disposeData');\n }\n write(values: BackendValues, shape: number[], dtype: DataType): DataId {\n return notYetImplemented('write');\n }\n move(\n dataId: DataId, values: BackendValues, shape: number[], dtype: DataType,\n refCount: number): void {\n return notYetImplemented('move');\n }\n memory(): {unreliable: boolean; reasons?: string[]} {\n return notYetImplemented('memory');\n }\n /** Returns the highest precision for floats in bits (e.g. 16 or 32) */\n floatPrecision(): 16|32 {\n return notYetImplemented('floatPrecision');\n }\n /** Returns the smallest representable number. */\n epsilon(): number {\n return this.floatPrecision() === 32 ? EPSILON_FLOAT32 : EPSILON_FLOAT16;\n }\n dispose(): void {\n return notYetImplemented('dispose');\n }\n}\n\nfunction notYetImplemented(kernelName: string): never {\n throw new Error(\n `'${kernelName}' not yet implemented or not found in the registry. ` +\n `This kernel may not be supported by the tfjs backend you have chosen`);\n}\n"]} \ No newline at end of file +{"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/backends/backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AACpC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAqBpC,wDAAwD;AACxD,MAAM,OAAO,WAAW;IAItB,YAAoB,OAAsB,EAAU,SAAoB;QAApD,YAAO,GAAP,OAAO,CAAe;QAAU,cAAS,GAAT,SAAS,CAAW;QAHhE,SAAI,GAAG,IAAI,OAAO,EAAa,CAAC;QAChC,iBAAY,GAAG,CAAC,CAAC;IAEkD,CAAC;IAE5E,GAAG,CAAC,MAAc;QAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC1B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SAC/C;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,MAAc,EAAE,KAAQ;QAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,MAAc;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF;AAeD;;;;;GAKG;AACH,MAAM,OAAO,aAAa;IACxB;;;;;;OAMG;IACH,aAAa,CAAC,MAAc;QAC1B,OAAO;IACT,CAAC;IACD,IAAI,CAAC,CAAa;QAChB,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,CAAC,MAAc;QACjB,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,QAAQ,CAAC,MAAc;QACrB,OAAO,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IACD,UAAU;QACR,OAAO,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IACD,WAAW,CAAC,MAAc;QACxB,OAAO,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC;IACD,KAAK,CAAC,MAAqB,EAAE,KAAe,EAAE,KAAe;QAC3D,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,CAAC,MAAc,EAAE,MAAqB,EAAE,KAAe,EAAE,KAAe;QAE1E,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,MAAM;QACJ,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IACD,uEAAuE;IACvE,cAAc;QACZ,OAAO,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAC7C,CAAC;IACD,kDAAkD;IAClD,OAAO;QACL,OAAO,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC;IAC1E,CAAC;IACD,OAAO;QACL,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,MAAM,IAAI,KAAK,CACX,IAAI,UAAU,sDAAsD;QACpE,sEAAsE,CAAC,CAAC;AAC9E,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend_test.js.map index a3bec1081..1c5ee921e 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend_test.js.map @@ -1 +1 @@ -{"version":3,"file":"backend_test.js","sourceRoot":"","sources":["../../src/backends/backend_test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAC,QAAQ,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAC,eAAe,EAAE,eAAe,EAAC,MAAM,WAAW,CAAC;AAE3D,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;YACvD,eAAe,CAAC,CAAC;YACjB,eAAe,CAAC;QACpB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,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 */\nimport * as tf from '../index';\nimport {ALL_ENVS, describeWithFlags} from '../jasmine_util';\nimport {EPSILON_FLOAT16, EPSILON_FLOAT32} from './backend';\n\ndescribeWithFlags('epsilon', ALL_ENVS, () => {\n it('Epsilon is a function of float precision', () => {\n const epsilonValue = tf.backend().floatPrecision() === 32 ?\n EPSILON_FLOAT32 :\n EPSILON_FLOAT16;\n expect(tf.backend().epsilon()).toBe(epsilonValue);\n });\n\n it('abs(epsilon) > 0', async () => {\n expect(await tf.abs(tf.backend().epsilon()).array()).toBeGreaterThan(0);\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"backend_test.js","sourceRoot":"","sources":["../../src/backends/backend_test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAC,QAAQ,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAC,eAAe,EAAE,eAAe,EAAC,MAAM,WAAW,CAAC;AAE3D,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;YACvD,eAAe,CAAC,CAAC;YACjB,eAAe,CAAC;QACpB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend_util.d.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend_util.d.ts index fea234485..a0c9ca3c1 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend_util.d.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend_util.d.ts @@ -34,7 +34,6 @@ export * from '../ops/fused_util'; export * from '../ops/erf_util'; export * from '../log'; export * from '../backends/complex_util'; -export * from '../backends/einsum_util'; export * from '../ops/split_util'; import * as segment_util from '../ops/segment_util'; export { segment_util }; diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend_util.js b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend_util.js index 18c6e4de9..b270aabe4 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend_util.js +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend_util.js @@ -34,7 +34,6 @@ export * from '../ops/fused_util'; export * from '../ops/erf_util'; export * from '../log'; export * from '../backends/complex_util'; -export * from '../backends/einsum_util'; export * from '../ops/split_util'; import * as segment_util from '../ops/segment_util'; export { segment_util }; diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend_util.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend_util.js.map index f87cb2a3d..dd50c8ff8 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend_util.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/backend_util.js.map @@ -1 +1 @@ -{"version":3,"file":"backend_util.js","sourceRoot":"","sources":["../../src/backends/backend_util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAEnD,oDAAoD;AACpD,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAElC,cAAc,oBAAoB,CAAC;AAEnC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAC,UAAU,EAAC,CAAC;AAEpB,OAAO,EAA4B,UAAU,EAAY,MAAM,UAAU,CAAC;AAE1E,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAElC,OAAO,KAAK,YAAY,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAC,YAAY,EAAC,CAAC;AAEtB,MAAM,UAAU,sBAAsB,CAAC,IAAkB;IACvD,IAAI;QACF,gCAAgC;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3C;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAI,KAAK,CACX,4DAA4D,GAAG,EAAE,CAAC,CAAC;KACxE;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAiB;IACtD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,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 */\n\nimport {decodeString, encodeString} from '../util';\n\n// Utilities needed by backend consumers of tf-core.\nexport * from '../ops/axis_util';\nexport * from '../ops/broadcast_util';\nexport * from '../ops/concat_util';\nexport * from '../ops/conv_util';\nexport * from '../ops/fused_util';\nexport * from '../ops/fused_types';\nexport * from '../ops/reduce_util';\n\nimport * as slice_util from '../ops/slice_util';\nexport {slice_util};\n\nexport {BackendValues, TypedArray, upcastType, PixelData} from '../types';\nexport {MemoryInfo, TimingInfo} from '../engine';\nexport * from '../ops/rotate_util';\nexport * from '../ops/array_ops_util';\nexport * from '../ops/gather_nd_util';\nexport * from '../ops/scatter_nd_util';\nexport * from '../ops/selu_util';\nexport * from '../ops/fused_util';\nexport * from '../ops/erf_util';\nexport * from '../log';\nexport * from '../backends/complex_util';\nexport * from '../backends/einsum_util';\nexport * from '../ops/split_util';\n\nimport * as segment_util from '../ops/segment_util';\nexport {segment_util};\n\nexport function fromUint8ToStringArray(vals: Uint8Array[]) {\n try {\n // Decode the bytes into string.\n return vals.map(val => decodeString(val));\n } catch (err) {\n throw new Error(\n `Failed to decode encoded string bytes into utf-8, error: ${err}`);\n }\n}\n\nexport function fromStringArrayToUint8(strings: string[]) {\n return strings.map(s => encodeString(s));\n}\n"]} \ No newline at end of file +{"version":3,"file":"backend_util.js","sourceRoot":"","sources":["../../src/backends/backend_util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAEnD,oDAAoD;AACpD,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAElC,cAAc,oBAAoB,CAAC;AAEnC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAC,UAAU,EAAC,CAAC;AAEpB,OAAO,EAA4B,UAAU,EAAY,MAAM,UAAU,CAAC;AAE1E,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAElC,OAAO,KAAK,YAAY,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAC,YAAY,EAAC,CAAC;AAEtB,MAAM,UAAU,sBAAsB,CAAC,IAAkB;IACvD,IAAI;QACF,gCAAgC;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3C;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAI,KAAK,CACX,4DAA4D,GAAG,EAAE,CAAC,CAAC;KACxE;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAiB;IACtD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/complex_util.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/complex_util.js.map index 93abb57d5..b46ba83ac 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/complex_util.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/complex_util.js.map @@ -1 +1 @@ -{"version":3,"file":"complex_util.js","sourceRoot":"","sources":["../../src/backends/complex_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\nimport {TypedArray} from '../types';\n/**\n * Merges real and imaginary Float32Arrays into a single complex Float32Array.\n *\n * The memory layout is interleaved as follows:\n * real: [r0, r1, r2]\n * imag: [i0, i1, i2]\n * complex: [r0, i0, r1, i1, r2, i2]\n *\n * This is the inverse of splitRealAndImagArrays.\n *\n * @param real The real values of the complex tensor values.\n * @param imag The imag values of the complex tensor values.\n * @returns A complex tensor as a Float32Array with merged values.\n */\nexport function mergeRealAndImagArrays(\n real: Float32Array, imag: Float32Array): Float32Array {\n if (real.length !== imag.length) {\n throw new Error(\n `Cannot merge real and imag arrays of different lengths. real:` +\n `${real.length}, imag: ${imag.length}.`);\n }\n const result = new Float32Array(real.length * 2);\n for (let i = 0; i < result.length; i += 2) {\n result[i] = real[i / 2];\n result[i + 1] = imag[i / 2];\n }\n return result;\n}\n\n/**\n * Splits a complex Float32Array into real and imag parts.\n *\n * The memory layout is interleaved as follows:\n * complex: [r0, i0, r1, i1, r2, i2]\n * real: [r0, r1, r2]\n * imag: [i0, i1, i2]\n *\n * This is the inverse of mergeRealAndImagArrays.\n *\n * @param complex The complex tensor values.\n * @returns An object with real and imag Float32Array components of the complex\n * tensor.\n */\nexport function splitRealAndImagArrays(complex: Float32Array):\n {real: Float32Array, imag: Float32Array} {\n const real = new Float32Array(complex.length / 2);\n const imag = new Float32Array(complex.length / 2);\n for (let i = 0; i < complex.length; i += 2) {\n real[i / 2] = complex[i];\n imag[i / 2] = complex[i + 1];\n }\n return {real, imag};\n}\n\n/**\n * Extracts even indexed complex values in the given array.\n * @param complex The complex tensor values\n */\nexport function complexWithEvenIndex(complex: Float32Array):\n {real: Float32Array, imag: Float32Array} {\n const len = Math.ceil(complex.length / 4);\n const real = new Float32Array(len);\n const imag = new Float32Array(len);\n for (let i = 0; i < complex.length; i += 4) {\n real[Math.floor(i / 4)] = complex[i];\n imag[Math.floor(i / 4)] = complex[i + 1];\n }\n return {real, imag};\n}\n\n/**\n * Extracts odd indexed comple values in the given array.\n * @param complex The complex tensor values\n */\nexport function complexWithOddIndex(complex: Float32Array):\n {real: Float32Array, imag: Float32Array} {\n const len = Math.floor(complex.length / 4);\n const real = new Float32Array(len);\n const imag = new Float32Array(len);\n for (let i = 2; i < complex.length; i += 4) {\n real[Math.floor(i / 4)] = complex[i];\n imag[Math.floor(i / 4)] = complex[i + 1];\n }\n return {real, imag};\n}\n\n/**\n * Get the map representing a complex value in the given array.\n * @param complex The complex tensor values.\n * @param index An index of the target complex value.\n */\nexport function getComplexWithIndex(\n complex: Float32Array, index: number): {real: number, imag: number} {\n const real = complex[index * 2];\n const imag = complex[index * 2 + 1];\n return {real, imag};\n}\n\n/**\n * Insert a given complex value into the TypedArray.\n * @param data The array in which the complex value is inserted.\n * @param c The complex value to be inserted.\n * @param index An index of the target complex value.\n */\nexport function assignToTypedArray(\n data: TypedArray, real: number, imag: number, index: number) {\n data[index * 2] = real;\n data[index * 2 + 1] = imag;\n}\n\n/**\n * Make the list of exponent terms used by FFT.\n */\nexport function exponents(\n n: number, inverse: boolean): {real: Float32Array, imag: Float32Array} {\n const real = new Float32Array(n / 2);\n const imag = new Float32Array(n / 2);\n for (let i = 0; i < Math.ceil(n / 2); i++) {\n const x = (inverse ? 2 : -2) * Math.PI * (i / n);\n real[i] = Math.cos(x);\n imag[i] = Math.sin(x);\n }\n return {real, imag};\n}\n\n/**\n * Make the exponent term used by FFT.\n */\nexport function exponent(\n k: number, n: number, inverse: boolean): {real: number, imag: number} {\n const x = (inverse ? 2 : -2) * Math.PI * (k / n);\n const real = Math.cos(x);\n const imag = Math.sin(x);\n return {real, imag};\n}\n"]} \ No newline at end of file +{"version":3,"file":"complex_util.js","sourceRoot":"","sources":["../../src/backends/complex_util.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/complex_util_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/complex_util_test.js.map index 0f6b37eab..79b2bee5a 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/complex_util_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/complex_util_test.js.map @@ -1 +1 @@ -{"version":3,"file":"complex_util_test.js","sourceRoot":"","sources":["../../src/backends/complex_util_test.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 {ALL_ENVS, describeWithFlags} from '../jasmine_util';\nimport {expectArraysClose} from '../test_util';\n\nimport * as complex_util from './complex_util';\n\ndescribe('complex_util', () => {\n it('mergeRealAndImagArrays', () => {\n const real = new Float32Array([1, 2, 3]);\n const imag = new Float32Array([4, 5, 6]);\n const complex = complex_util.mergeRealAndImagArrays(real, imag);\n expect(complex).toEqual(new Float32Array([1, 4, 2, 5, 3, 6]));\n });\n\n it('splitRealAndImagArrays', () => {\n const complex = new Float32Array([1, 4, 2, 5, 3, 6]);\n const result = complex_util.splitRealAndImagArrays(complex);\n expect(result.real).toEqual(new Float32Array([1, 2, 3]));\n expect(result.imag).toEqual(new Float32Array([4, 5, 6]));\n });\n\n it('complexWithEvenIndex', () => {\n const complex = new Float32Array([1, 2, 3, 4, 5, 6]);\n const result = complex_util.complexWithEvenIndex(complex);\n expect(result.real).toEqual(new Float32Array([1, 5]));\n expect(result.imag).toEqual(new Float32Array([2, 6]));\n });\n\n it('complexWithOddIndex', () => {\n const complex = new Float32Array([1, 2, 3, 4, 5, 6]);\n const result = complex_util.complexWithOddIndex(complex);\n expect(result.real).toEqual(new Float32Array([3]));\n expect(result.imag).toEqual(new Float32Array([4]));\n });\n});\n\ndescribeWithFlags('complex_util exponents', ALL_ENVS, () => {\n it('exponents inverse=false', () => {\n const inverse = false;\n const result = complex_util.exponents(5, inverse);\n expectArraysClose(result.real, new Float32Array([1, 0.30901700258255005]));\n expectArraysClose(result.imag, new Float32Array([0, -0.9510565400123596]));\n });\n it('exponents inverse=true', () => {\n const inverse = true;\n const result = complex_util.exponents(5, inverse);\n expectArraysClose(result.real, new Float32Array([1, 0.30901700258255005]));\n expectArraysClose(result.imag, new Float32Array([0, 0.9510565400123596]));\n });\n});\n\ndescribeWithFlags('complex_util assignment', ALL_ENVS, () => {\n it('assign complex value in TypedArray', () => {\n const t = new Float32Array(4);\n\n complex_util.assignToTypedArray(t, 1, 2, 0);\n complex_util.assignToTypedArray(t, 3, 4, 1);\n\n expectArraysClose(t, new Float32Array([1, 2, 3, 4]));\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"complex_util_test.js","sourceRoot":"","sources":["../../src/backends/complex_util_test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/einsum_util.d.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/einsum_util.d.ts deleted file mode 100644 index b300d93b1..000000000 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/einsum_util.d.ts +++ /dev/null @@ -1,80 +0,0 @@ -/** - * @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. - * ============================================================================= - */ -/** - * Utility functions for computing einsum (tensor contraction and summation - * based on Einstein summation.) - */ -import { Tensor } from '../tensor'; -/** - * Parse an equation for einsum. - * - * @param equation The einsum equation (e.g., "ij,jk->ik"). - * @param numTensors Number of tensors provided along with `equation`. Used to - * check matching number of input tensors. - * @returns An object consisting of the following fields: - * - allDims: all dimension names as strings. - * - summedDims: a list of all dimensions being summed over, as indices to - * the elements of `allDims`. - * - idDims: indices of the dimensions in each input tensor, as indices to - * the elements of `allDims. - */ -export declare function decodeEinsumEquation(equation: string, numTensors: number): { - allDims: string[]; - summedDims: number[]; - idDims: number[][]; -}; -/** - * Get the permutation for a given input tensor. - * - * @param nDims Total number of dimension of all tensors involved in the einsum - * operation. - * @param idDims Dimension indices involve in the tensor in question. - * @returns An object consisting of the following fields: - * - permutationIndices: Indices to permute the axes of the tensor with. - * - expandDims: Indices to the dimension that need to be expanded from the - * tensor after permutation. - */ -export declare function getEinsumPermutation(nDims: number, idDims: number[]): { - permutationIndices: number[]; - expandDims: number[]; -}; -/** - * Checks that the dimension sizes from different input tensors match the - * equation. - */ -export declare function checkEinsumDimSizes(nDims: number, idDims: number[][], tensors: Tensor[]): void; -/** - * Gets path of computation for einsum. - * - * @param summedDims indices to the dimensions being summed over. - * @param idDims A look up table for the dimensions present in each input - * tensor. Each consituent array contains indices for the dimensions in the - * corresponding input tensor. - * - * @return A map with two fields: - * - path: The path of computation, with each element indicating the dimension - * being summed over after the element-wise multiplication in that step. - * - steps: With the same length as `path`. Each element contains the indices - * to the input tensors being used for element-wise multiplication in the - * corresponding step. - */ -export declare function getEinsumComputePath(summedDims: number[], idDims: number[][]): { - path: number[]; - steps: number[][]; -}; -/** Determines if an axes permutation is the identity permutation. */ -export declare function isIdentityPermutation(perm: number[]): boolean; diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/einsum_util.js b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/einsum_util.js deleted file mode 100644 index 5b3febe84..000000000 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/einsum_util.js +++ /dev/null @@ -1,190 +0,0 @@ -/** - * @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 { assert } from '../util_base'; -const ARROW = '->'; -const ARROW_REGEX = /->/g; -const COMMA = ','; -const ELLIPSIS = '...'; -/** - * Parse an equation for einsum. - * - * @param equation The einsum equation (e.g., "ij,jk->ik"). - * @param numTensors Number of tensors provided along with `equation`. Used to - * check matching number of input tensors. - * @returns An object consisting of the following fields: - * - allDims: all dimension names as strings. - * - summedDims: a list of all dimensions being summed over, as indices to - * the elements of `allDims`. - * - idDims: indices of the dimensions in each input tensor, as indices to - * the elements of `allDims. - */ -export function decodeEinsumEquation(equation, numTensors) { - equation = equation.replace(/\s/g, ''); // Remove witespace in equation. - const numArrows = (equation.length - equation.replace(ARROW_REGEX, '').length) / - ARROW.length; - if (numArrows < 1) { - throw new Error('Equations without an arrow are not supported.'); - } - else if (numArrows > 1) { - throw new Error(`Equation must contain exactly one arrow ("${ARROW}").`); - } - const [inputString, outputString] = equation.split(ARROW); - assert(inputString.indexOf(ELLIPSIS) === -1, () => `The ellipsis notation ("${ELLIPSIS}") is not supported yet.`); - const inputTerms = inputString.split(COMMA); - const numInputs = inputTerms.length; - if (numTensors !== numInputs) { - throw new Error(`Expected ${numInputs} input tensors, received ${numTensors}`); - } - if (numInputs > 2) { - throw new Error('Support for more than 2 input tensors is not implemented yet.'); - } - const allDims = []; - for (let i = 0; i < outputString.length; ++i) { - const dimName = outputString[i]; - if (!inputTerms.some(inputTerm => inputTerm.indexOf(dimName) !== -1)) { - throw new Error(`Output subscripts contain the label ${dimName} ` + - `not present in the input subscripts.`); - } - if (allDims.indexOf(dimName) === -1) { - allDims.push(dimName); - } - } - for (let i = 0; i < inputString.length; ++i) { - const dimName = inputString[i]; - if (allDims.indexOf(dimName) === -1 && dimName !== COMMA) { - allDims.push(dimName); - } - } - const idDims = new Array(inputTerms.length); - for (let i = 0; i < numInputs; ++i) { - if (new Set(inputTerms[i].split('')).size !== inputTerms[i].length) { - throw new Error(`Found duplicate axes in input component ${inputTerms[i]}. ` + - `Support for duplicate axes in input is not implemented yet.`); - } - idDims[i] = []; - for (let j = 0; j < inputTerms[i].length; ++j) { - idDims[i].push(allDims.indexOf(inputTerms[i][j])); - } - } - const numDims = allDims.length; // Number of unique dimensions. - const numOutDims = outputString.length; // Number of output dimensions. - const summedDims = []; // Dimensions being summed over. - for (let i = numOutDims; i < numDims; ++i) { - summedDims.push(i); - } - return { allDims, summedDims, idDims }; -} -/** - * Get the permutation for a given input tensor. - * - * @param nDims Total number of dimension of all tensors involved in the einsum - * operation. - * @param idDims Dimension indices involve in the tensor in question. - * @returns An object consisting of the following fields: - * - permutationIndices: Indices to permute the axes of the tensor with. - * - expandDims: Indices to the dimension that need to be expanded from the - * tensor after permutation. - */ -export function getEinsumPermutation(nDims, idDims) { - let permutationIndices = new Array(nDims); - permutationIndices.fill(-1); - for (let i = 0; i < idDims.length; ++i) { - permutationIndices[idDims[i]] = i; - } - const expandDims = []; - for (let i = 0; i < nDims; ++i) { - if (permutationIndices[i] === -1) { - expandDims.push(i); - } - } - permutationIndices = permutationIndices.filter(d => d !== -1); - return { permutationIndices, expandDims }; -} -/** - * Checks that the dimension sizes from different input tensors match the - * equation. - */ -export function checkEinsumDimSizes(nDims, idDims, tensors) { - const dimSizes = new Array(nDims); - for (let i = 0; i < tensors.length; ++i) { - const shape = tensors[i].shape; - for (let j = 0; j < idDims[i].length; ++j) { - if (dimSizes[idDims[i][j]] === undefined) { - dimSizes[idDims[i][j]] = shape[j]; - } - else { - assert(dimSizes[idDims[i][j]] === shape[j], () => `Expected dimension ${dimSizes[idDims[i][j]]} at axis ${j} ` + - `of input shaped ${JSON.stringify(shape)}, ` + - `but got dimension ${shape[j]}`); - } - } - } -} -/** - * Gets path of computation for einsum. - * - * @param summedDims indices to the dimensions being summed over. - * @param idDims A look up table for the dimensions present in each input - * tensor. Each consituent array contains indices for the dimensions in the - * corresponding input tensor. - * - * @return A map with two fields: - * - path: The path of computation, with each element indicating the dimension - * being summed over after the element-wise multiplication in that step. - * - steps: With the same length as `path`. Each element contains the indices - * to the input tensors being used for element-wise multiplication in the - * corresponding step. - */ -export function getEinsumComputePath(summedDims, idDims) { - const path = summedDims; - const steps = []; - let nSteps = 0; - if (summedDims.length === 0) { - // Einsum that involes no summing: e.g., transpose and outer product. - path.push(-1); - } - nSteps = summedDims.length + 1; - for (let i = 0; i < nSteps; ++i) { - steps.push([]); - } - const computedTermIndices = []; - for (let i = 0; i < path.length; ++i) { - const summedDim = path[i]; - const termIndices = findTermsWithDim(idDims, summedDim); - for (const termIndex of termIndices) { - if (computedTermIndices.indexOf(termIndex) === -1) { - steps[i].push(termIndex); - computedTermIndices.push(termIndex); - } - } - } - return { path, steps }; -} -/** Determines if an axes permutation is the identity permutation. */ -export function isIdentityPermutation(perm) { - return perm.every((dim, index) => dim === index); -} -function findTermsWithDim(idDims, dim) { - const termIndices = []; - for (let i = 0; i < idDims.length; ++i) { - if (idDims[i].length === 0 || idDims[i].indexOf(dim) !== -1 || dim === -1) { - termIndices.push(i); - } - } - return termIndices; -} -//# sourceMappingURL=einsum_util.js.map \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/einsum_util.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/einsum_util.js.map deleted file mode 100644 index c53883875..000000000 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/einsum_util.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"einsum_util.js","sourceRoot":"","sources":["../../src/backends/einsum_util.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2021 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/**\n * Utility functions for computing einsum (tensor contraction and summation\n * based on Einstein summation.)\n */\n\nimport {Tensor} from '../tensor';\nimport {assert} from '../util_base';\n\nconst ARROW = '->';\nconst ARROW_REGEX = /->/g;\nconst COMMA = ',';\nconst ELLIPSIS = '...';\n\n/**\n * Parse an equation for einsum.\n *\n * @param equation The einsum equation (e.g., \"ij,jk->ik\").\n * @param numTensors Number of tensors provided along with `equation`. Used to\n * check matching number of input tensors.\n * @returns An object consisting of the following fields:\n * - allDims: all dimension names as strings.\n * - summedDims: a list of all dimensions being summed over, as indices to\n * the elements of `allDims`.\n * - idDims: indices of the dimensions in each input tensor, as indices to\n * the elements of `allDims.\n */\nexport function decodeEinsumEquation(equation: string, numTensors: number): {\n allDims: string[],\n summedDims: number[],\n idDims: number[][],\n} {\n equation = equation.replace(/\\s/g, ''); // Remove witespace in equation.\n const numArrows =\n (equation.length - equation.replace(ARROW_REGEX, '').length) /\n ARROW.length;\n if (numArrows < 1) {\n throw new Error('Equations without an arrow are not supported.');\n } else if (numArrows > 1) {\n throw new Error(`Equation must contain exactly one arrow (\"${ARROW}\").`);\n }\n const [inputString, outputString] = equation.split(ARROW);\n assert(\n inputString.indexOf(ELLIPSIS) === -1,\n () => `The ellipsis notation (\"${ELLIPSIS}\") is not supported yet.`);\n const inputTerms = inputString.split(COMMA);\n const numInputs = inputTerms.length;\n if (numTensors !== numInputs) {\n throw new Error(\n `Expected ${numInputs} input tensors, received ${numTensors}`);\n }\n if (numInputs > 2) {\n throw new Error(\n 'Support for more than 2 input tensors is not implemented yet.');\n }\n\n const allDims: string[] = [];\n for (let i = 0; i < outputString.length; ++i) {\n const dimName = outputString[i];\n if (!inputTerms.some(inputTerm => inputTerm.indexOf(dimName) !== -1)) {\n throw new Error(\n `Output subscripts contain the label ${dimName} ` +\n `not present in the input subscripts.`);\n }\n if (allDims.indexOf(dimName) === -1) {\n allDims.push(dimName);\n }\n }\n for (let i = 0; i < inputString.length; ++i) {\n const dimName = inputString[i];\n if (allDims.indexOf(dimName) === -1 && dimName !== COMMA) {\n allDims.push(dimName);\n }\n }\n\n const idDims: number[][] = new Array(inputTerms.length);\n for (let i = 0; i < numInputs; ++i) {\n if (new Set(inputTerms[i].split('')).size !== inputTerms[i].length) {\n throw new Error(\n `Found duplicate axes in input component ${inputTerms[i]}. ` +\n `Support for duplicate axes in input is not implemented yet.`);\n }\n idDims[i] = [];\n for (let j = 0; j < inputTerms[i].length; ++j) {\n idDims[i].push(allDims.indexOf(inputTerms[i][j]));\n }\n }\n\n const numDims = allDims.length; // Number of unique dimensions.\n const numOutDims = outputString.length; // Number of output dimensions.\n const summedDims: number[] = []; // Dimensions being summed over.\n for (let i = numOutDims; i < numDims; ++i) {\n summedDims.push(i);\n }\n return {allDims, summedDims, idDims};\n}\n\n/**\n * Get the permutation for a given input tensor.\n *\n * @param nDims Total number of dimension of all tensors involved in the einsum\n * operation.\n * @param idDims Dimension indices involve in the tensor in question.\n * @returns An object consisting of the following fields:\n * - permutationIndices: Indices to permute the axes of the tensor with.\n * - expandDims: Indices to the dimension that need to be expanded from the\n * tensor after permutation.\n */\nexport function getEinsumPermutation(nDims: number, idDims: number[]):\n {permutationIndices: number[], expandDims: number[]} {\n let permutationIndices: number[] = new Array(nDims);\n permutationIndices.fill(-1);\n for (let i = 0; i < idDims.length; ++i) {\n permutationIndices[idDims[i]] = i;\n }\n const expandDims: number[] = [];\n for (let i = 0; i < nDims; ++i) {\n if (permutationIndices[i] === -1) {\n expandDims.push(i);\n }\n }\n permutationIndices = permutationIndices.filter(d => d !== -1);\n return {permutationIndices, expandDims};\n}\n\n/**\n * Checks that the dimension sizes from different input tensors match the\n * equation.\n */\nexport function checkEinsumDimSizes(\n nDims: number, idDims: number[][], tensors: Tensor[]) {\n const dimSizes: number[] = new Array(nDims);\n for (let i = 0; i < tensors.length; ++i) {\n const shape: number[] = tensors[i].shape;\n for (let j = 0; j < idDims[i].length; ++j) {\n if (dimSizes[idDims[i][j]] === undefined) {\n dimSizes[idDims[i][j]] = shape[j];\n } else {\n assert(\n dimSizes[idDims[i][j]] === shape[j],\n () => `Expected dimension ${dimSizes[idDims[i][j]]} at axis ${j} ` +\n `of input shaped ${JSON.stringify(shape)}, ` +\n `but got dimension ${shape[j]}`);\n }\n }\n }\n}\n\n/**\n * Gets path of computation for einsum.\n *\n * @param summedDims indices to the dimensions being summed over.\n * @param idDims A look up table for the dimensions present in each input\n * tensor. Each consituent array contains indices for the dimensions in the\n * corresponding input tensor.\n *\n * @return A map with two fields:\n * - path: The path of computation, with each element indicating the dimension\n * being summed over after the element-wise multiplication in that step.\n * - steps: With the same length as `path`. Each element contains the indices\n * to the input tensors being used for element-wise multiplication in the\n * corresponding step.\n */\nexport function getEinsumComputePath(summedDims: number[], idDims: number[][]):\n {path: number[], steps: number[][]} {\n const path: number[] = summedDims;\n const steps: number[][] = [];\n let nSteps = 0;\n if (summedDims.length === 0) {\n // Einsum that involes no summing: e.g., transpose and outer product.\n path.push(-1);\n }\n nSteps = summedDims.length + 1;\n for (let i = 0; i < nSteps; ++i) {\n steps.push([]);\n }\n const computedTermIndices: number[] = [];\n for (let i = 0; i < path.length; ++i) {\n const summedDim = path[i];\n const termIndices = findTermsWithDim(idDims, summedDim);\n for (const termIndex of termIndices) {\n if (computedTermIndices.indexOf(termIndex) === -1) {\n steps[i].push(termIndex);\n computedTermIndices.push(termIndex);\n }\n }\n }\n return {path, steps};\n}\n\n/** Determines if an axes permutation is the identity permutation. */\nexport function isIdentityPermutation(perm: number[]): boolean {\n return perm.every((dim: number, index: number) => dim === index);\n}\n\nfunction findTermsWithDim(idDims: number[][], dim: number): number[] {\n const termIndices: number[] = [];\n for (let i = 0; i < idDims.length; ++i) {\n if (idDims[i].length === 0 || idDims[i].indexOf(dim) !== -1 || dim === -1) {\n termIndices.push(i);\n }\n }\n return termIndices;\n}\n"]} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/kernel_impls.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/kernel_impls.js.map index 448be9d4d..2b4ecdfe8 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/kernel_impls.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/kernel_impls.js.map @@ -1 +1 @@ -{"version":3,"file":"kernel_impls.js","sourceRoot":"","sources":["../../src/backends/kernel_impls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,uBAAuB,EAAE,uBAAuB,EAAE,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AACrH,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,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\nexport {nonMaxSuppressionV3Impl, nonMaxSuppressionV4Impl, nonMaxSuppressionV5Impl} from './non_max_suppression_impl';\nexport {whereImpl} from './where_impl';\n"]} \ No newline at end of file +{"version":3,"file":"kernel_impls.js","sourceRoot":"","sources":["../../src/backends/kernel_impls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,uBAAuB,EAAE,uBAAuB,EAAE,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AACrH,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_impl.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_impl.js.map index 571bb82b6..e509ea923 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_impl.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_impl.js.map @@ -1 +1 @@ -{"version":3,"file":"non_max_suppression_impl.js","sourceRoot":"","sources":["../../src/backends/non_max_suppression_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 {TypedArray} from '../types';\nimport {binaryInsert} from './non_max_suppression_util';\n\n/**\n * Implementation of the NonMaxSuppression kernel shared between webgl and cpu.\n */\ninterface Candidate {\n score: number;\n boxIndex: number;\n suppressBeginIndex: number;\n}\n\ninterface NonMaxSuppressionResult {\n selectedIndices: number[];\n selectedScores?: number[];\n validOutputs?: number;\n}\n\nexport function nonMaxSuppressionV3Impl(\n boxes: TypedArray, scores: TypedArray, maxOutputSize: number,\n iouThreshold: number, scoreThreshold: number): NonMaxSuppressionResult {\n return nonMaxSuppressionImpl_(\n boxes, scores, maxOutputSize, iouThreshold, scoreThreshold,\n 0 /* softNmsSigma */);\n}\n\nexport function nonMaxSuppressionV4Impl(\n boxes: TypedArray, scores: TypedArray, maxOutputSize: number,\n iouThreshold: number, scoreThreshold: number,\n padToMaxOutputSize: boolean): NonMaxSuppressionResult {\n return nonMaxSuppressionImpl_(\n boxes, scores, maxOutputSize, iouThreshold, scoreThreshold,\n 0 /* softNmsSigma */, false /* returnScoresTensor */,\n padToMaxOutputSize /* padToMaxOutputSize */, true\n /* returnValidOutputs */);\n}\n\nexport function nonMaxSuppressionV5Impl(\n boxes: TypedArray, scores: TypedArray, maxOutputSize: number,\n iouThreshold: number, scoreThreshold: number,\n softNmsSigma: number): NonMaxSuppressionResult {\n return nonMaxSuppressionImpl_(\n boxes, scores, maxOutputSize, iouThreshold, scoreThreshold, softNmsSigma,\n true /* returnScoresTensor */);\n}\n\nfunction nonMaxSuppressionImpl_(\n boxes: TypedArray, scores: TypedArray, maxOutputSize: number,\n iouThreshold: number, scoreThreshold: number, softNmsSigma: number,\n returnScoresTensor = false, padToMaxOutputSize = false,\n returnValidOutputs = false): NonMaxSuppressionResult {\n // The list is sorted in ascending order, so that we can always pop the\n // candidate with the largest score in O(1) time.\n const candidates = [];\n\n for (let i = 0; i < scores.length; i++) {\n if (scores[i] > scoreThreshold) {\n candidates.push({score: scores[i], boxIndex: i, suppressBeginIndex: 0});\n }\n }\n\n candidates.sort(ascendingComparator);\n\n // If softNmsSigma is 0, the outcome of this algorithm is exactly same as\n // before.\n const scale = softNmsSigma > 0 ? (-0.5 / softNmsSigma) : 0.0;\n\n const selectedIndices: number[] = [];\n const selectedScores: number[] = [];\n\n while (selectedIndices.length < maxOutputSize && candidates.length > 0) {\n const candidate = candidates.pop();\n const {score: originalScore, boxIndex, suppressBeginIndex} = candidate;\n\n if (originalScore < scoreThreshold) {\n break;\n }\n\n // Overlapping boxes are likely to have similar scores, therefore we\n // iterate through the previously selected boxes backwards in order to\n // see if candidate's score should be suppressed. We use\n // suppressBeginIndex to track and ensure a candidate can be suppressed\n // by a selected box no more than once. Also, if the overlap exceeds\n // iouThreshold, we simply ignore the candidate.\n let ignoreCandidate = false;\n for (let j = selectedIndices.length - 1; j >= suppressBeginIndex; --j) {\n const iou = intersectionOverUnion(boxes, boxIndex, selectedIndices[j]);\n\n if (iou >= iouThreshold) {\n ignoreCandidate = true;\n break;\n }\n\n candidate.score =\n candidate.score * suppressWeight(iouThreshold, scale, iou);\n\n if (candidate.score <= scoreThreshold) {\n break;\n }\n }\n\n // At this point, if `candidate.score` has not dropped below\n // `scoreThreshold`, then we know that we went through all of the\n // previous selections and can safely update `suppressBeginIndex` to the\n // end of the selected array. Then we can re-insert the candidate with\n // the updated score and suppressBeginIndex back in the candidate list.\n // If on the other hand, `candidate.score` has dropped below the score\n // threshold, we will not add it back to the candidates list.\n candidate.suppressBeginIndex = selectedIndices.length;\n\n if (!ignoreCandidate) {\n // Candidate has passed all the tests, and is not suppressed, so\n // select the candidate.\n if (candidate.score === originalScore) {\n selectedIndices.push(boxIndex);\n selectedScores.push(candidate.score);\n } else if (candidate.score > scoreThreshold) {\n // Candidate's score is suppressed but is still high enough to be\n // considered, so add back to the candidates list.\n binaryInsert(candidates, candidate, ascendingComparator);\n }\n }\n }\n\n // NonMaxSuppressionV4 feature: padding output to maxOutputSize.\n const validOutputs = selectedIndices.length;\n const elemsToPad = maxOutputSize - validOutputs;\n\n if (padToMaxOutputSize && elemsToPad > 0) {\n selectedIndices.push(...new Array(elemsToPad).fill(0));\n selectedScores.push(...new Array(elemsToPad).fill(0.0));\n }\n\n const result: NonMaxSuppressionResult = {selectedIndices};\n\n if (returnScoresTensor) {\n result['selectedScores'] = selectedScores;\n }\n\n if (returnValidOutputs) {\n result['validOutputs'] = validOutputs;\n }\n\n return result;\n}\n\nfunction intersectionOverUnion(boxes: TypedArray, i: number, j: number) {\n const iCoord = boxes.subarray(i * 4, i * 4 + 4);\n const jCoord = boxes.subarray(j * 4, j * 4 + 4);\n const yminI = Math.min(iCoord[0], iCoord[2]);\n const xminI = Math.min(iCoord[1], iCoord[3]);\n const ymaxI = Math.max(iCoord[0], iCoord[2]);\n const xmaxI = Math.max(iCoord[1], iCoord[3]);\n const yminJ = Math.min(jCoord[0], jCoord[2]);\n const xminJ = Math.min(jCoord[1], jCoord[3]);\n const ymaxJ = Math.max(jCoord[0], jCoord[2]);\n const xmaxJ = Math.max(jCoord[1], jCoord[3]);\n const areaI = (ymaxI - yminI) * (xmaxI - xminI);\n const areaJ = (ymaxJ - yminJ) * (xmaxJ - xminJ);\n if (areaI <= 0 || areaJ <= 0) {\n return 0.0;\n }\n const intersectionYmin = Math.max(yminI, yminJ);\n const intersectionXmin = Math.max(xminI, xminJ);\n const intersectionYmax = Math.min(ymaxI, ymaxJ);\n const intersectionXmax = Math.min(xmaxI, xmaxJ);\n const intersectionArea = Math.max(intersectionYmax - intersectionYmin, 0.0) *\n Math.max(intersectionXmax - intersectionXmin, 0.0);\n return intersectionArea / (areaI + areaJ - intersectionArea);\n}\n\n// A Gaussian penalty function, this method always returns values in [0, 1].\n// The weight is a function of similarity, the more overlap two boxes are, the\n// smaller the weight is, meaning highly overlapping boxe will be significantly\n// penalized. On the other hand, a non-overlapping box will not be penalized.\nfunction suppressWeight(iouThreshold: number, scale: number, iou: number) {\n const weight = Math.exp(scale * iou * iou);\n return iou <= iouThreshold ? weight : 0.0;\n}\n\nfunction ascendingComparator(c1: Candidate, c2: Candidate) {\n // For objects with same scores, we make the object with the larger index go\n // first. In an array that pops from the end, this means that the object with\n // the smaller index will be popped first. This ensures the same output as\n // the TensorFlow python version.\n return (c1.score - c2.score) ||\n ((c1.score === c2.score) && (c2.boxIndex - c1.boxIndex));\n}\n"]} \ No newline at end of file +{"version":3,"file":"non_max_suppression_impl.js","sourceRoot":"","sources":["../../src/backends/non_max_suppression_impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AAiBxD,MAAM,UAAU,uBAAuB,CACnC,KAAiB,EAAE,MAAkB,EAAE,aAAqB,EAC5D,YAAoB,EAAE,cAAsB;IAC9C,OAAO,sBAAsB,CACzB,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAC1D,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,uBAAuB,CACnC,KAAiB,EAAE,MAAkB,EAAE,aAAqB,EAC5D,YAAoB,EAAE,cAAsB,EAC5C,kBAA2B;IAC7B,OAAO,sBAAsB,CACzB,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAC1D,CAAC,CAAC,kBAAkB,EAAE,KAAK,CAAC,wBAAwB,EACpD,kBAAkB,CAAC,wBAAwB,EAAE,IAAI;IACjD,wBAAwB,EAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,uBAAuB,CACnC,KAAiB,EAAE,MAAkB,EAAE,aAAqB,EAC5D,YAAoB,EAAE,cAAsB,EAC5C,YAAoB;IACtB,OAAO,sBAAsB,CACzB,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EACxE,IAAI,CAAC,wBAAwB,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,sBAAsB,CAC3B,KAAiB,EAAE,MAAkB,EAAE,aAAqB,EAC5D,YAAoB,EAAE,cAAsB,EAAE,YAAoB,EAClE,kBAAkB,GAAG,KAAK,EAAE,kBAAkB,GAAG,KAAK,EACtD,kBAAkB,GAAG,KAAK;IAC5B,uEAAuE;IACvE,iDAAiD;IACjD,MAAM,UAAU,GAAG,EAAE,CAAC;IAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,cAAc,EAAE;YAC9B,UAAU,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAC,CAAC,CAAC;SACzE;KACF;IAED,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAErC,yEAAyE;IACzE,UAAU;IACV,MAAM,KAAK,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAE7D,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,OAAO,eAAe,CAAC,MAAM,GAAG,aAAa,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QACtE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;QACnC,MAAM,EAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAC,GAAG,SAAS,CAAC;QAEvE,IAAI,aAAa,GAAG,cAAc,EAAE;YAClC,MAAM;SACP;QAED,oEAAoE;QACpE,sEAAsE;QACtE,wDAAwD;QACxD,uEAAuE;QACvE,oEAAoE;QACpE,gDAAgD;QAChD,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,kBAAkB,EAAE,EAAE,CAAC,EAAE;YACrE,MAAM,GAAG,GAAG,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YAEvE,IAAI,GAAG,IAAI,YAAY,EAAE;gBACvB,eAAe,GAAG,IAAI,CAAC;gBACvB,MAAM;aACP;YAED,SAAS,CAAC,KAAK;gBACX,SAAS,CAAC,KAAK,GAAG,cAAc,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YAE/D,IAAI,SAAS,CAAC,KAAK,IAAI,cAAc,EAAE;gBACrC,MAAM;aACP;SACF;QAED,4DAA4D;QAC5D,iEAAiE;QACjE,wEAAwE;QACxE,sEAAsE;QACtE,uEAAuE;QACvE,sEAAsE;QACtE,6DAA6D;QAC7D,SAAS,CAAC,kBAAkB,GAAG,eAAe,CAAC,MAAM,CAAC;QAEtD,IAAI,CAAC,eAAe,EAAE;YACpB,gEAAgE;YAChE,wBAAwB;YACxB,IAAI,SAAS,CAAC,KAAK,KAAK,aAAa,EAAE;gBACrC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/B,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aACtC;iBAAM,IAAI,SAAS,CAAC,KAAK,GAAG,cAAc,EAAE;gBAC3C,iEAAiE;gBACjE,kDAAkD;gBAClD,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;aAC1D;SACF;KACF;IAED,gEAAgE;IAChE,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC;IAC5C,MAAM,UAAU,GAAG,aAAa,GAAG,YAAY,CAAC;IAEhD,IAAI,kBAAkB,IAAI,UAAU,GAAG,CAAC,EAAE;QACxC,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;KACzD;IAED,MAAM,MAAM,GAA4B,EAAC,eAAe,EAAC,CAAC;IAE1D,IAAI,kBAAkB,EAAE;QACtB,MAAM,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC;KAC3C;IAED,IAAI,kBAAkB,EAAE;QACtB,MAAM,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC;KACvC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAiB,EAAE,CAAS,EAAE,CAAS;IACpE,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IAChD,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;QAC5B,OAAO,GAAG,CAAC;KACZ;IACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,CAAC;QACvE,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,CAAC,CAAC;IACvD,OAAO,gBAAgB,GAAG,CAAC,KAAK,GAAG,KAAK,GAAG,gBAAgB,CAAC,CAAC;AAC/D,CAAC;AAED,4EAA4E;AAC5E,8EAA8E;AAC9E,+EAA+E;AAC/E,6EAA6E;AAC7E,SAAS,cAAc,CAAC,YAAoB,EAAE,KAAa,EAAE,GAAW;IACtE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;IAC3C,OAAO,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5C,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAa,EAAE,EAAa;IACvD,4EAA4E;IAC5E,6EAA6E;IAC7E,0EAA0E;IAC1E,iCAAiC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;QACxB,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/D,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_util.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_util.js.map index 7a9930661..bb79117e6 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_util.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_util.js.map @@ -1 +1 @@ -{"version":3,"file":"non_max_suppression_util.js","sourceRoot":"","sources":["../../src/backends/non_max_suppression_util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CACxB,GAAQ,EAAE,OAAU,EAAE,UAAmC;IAC3D,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,YAAY,CACxB,GAAQ,EAAE,MAAS,EAAE,UAAmC;IAC1D,OAAO,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,IAAI,iBAAiB,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAI,CAAI,EAAE,CAAI;IACtC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,aAAa,CAClB,GAAQ,EAAE,MAAS,EAAE,UAAkC;IACzD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;IACvB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,OAAO,IAAI,GAAG,KAAK,EAAE;QACnB,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,IAAI,aAAa,GAAG,CAAC,EAAE;YACrB,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC;SACnB;aAAM;YACL,KAAK,GAAG,MAAM,CAAC;YACf,oEAAoE;YACpE,wDAAwD;YACxD,KAAK,GAAG,CAAC,aAAa,CAAC;SACxB;KACF;IAED,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;AAClC,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/**\n * Inserts a value into a sorted array. This method allows duplicate, meaning it\n * allows inserting duplicate value, in which case, the element will be inserted\n * at the lowest index of the value.\n * @param arr The array to modify.\n * @param element The element to insert.\n * @param comparator Optional. If no comparator is specified, elements are\n * compared using array_util.defaultComparator, which is suitable for Strings\n * and Numbers in ascending arrays. If the array contains multiple instances of\n * the target value, the left-most instance will be returned. To provide a\n * comparator, it should take 2 arguments to compare and return a negative,\n * zero, or a positive number.\n */\nexport function binaryInsert(\n arr: T[], element: T, comparator?: (a: T, b: T) => number) {\n const index = binarySearch(arr, element, comparator);\n const insertionPoint = index < 0 ? -(index + 1) : index;\n arr.splice(insertionPoint, 0, element);\n}\n\n/**\n * Searches the array for the target using binary search, returns the index\n * of the found element, or position to insert if element not found. If no\n * comparator is specified, elements are compared using array_\n * util.defaultComparator, which is suitable for Strings and Numbers in\n * ascending arrays. If the array contains multiple instances of the target\n * value, the left-most instance will be returned.\n * @param arr The array to be searched in.\n * @param target The target to be searched for.\n * @param comparator Should take 2 arguments to compare and return a negative,\n * zero, or a positive number.\n * @return Lowest index of the target value if found, otherwise the insertion\n * point where the target should be inserted, in the form of\n * (-insertionPoint - 1).\n */\nexport function binarySearch(\n arr: T[], target: T, comparator?: (a: T, b: T) => number) {\n return binarySearch_(arr, target, comparator || defaultComparator);\n}\n\n/**\n * Compares its two arguments for order.\n * @param a The first element to be compared.\n * @param b The second element to be compared.\n * @return A negative number, zero, or a positive number as the first\n * argument is less than, equal to, or greater than the second.\n */\nfunction defaultComparator(a: T, b: T): number {\n return a > b ? 1 : a < b ? -1 : 0;\n}\n\nfunction binarySearch_(\n arr: T[], target: T, comparator: (a: T, b: T) => number) {\n let left = 0;\n let right = arr.length;\n let middle = 0;\n let found = false;\n while (left < right) {\n middle = left + ((right - left) >>> 1);\n const compareResult = comparator(target, arr[middle]);\n if (compareResult > 0) {\n left = middle + 1;\n } else {\n right = middle;\n // If compareResult is 0, the value is found. We record it is found,\n // and then keep looking because there may be duplicate.\n found = !compareResult;\n }\n }\n\n return found ? left : -left - 1;\n}\n"]} \ No newline at end of file +{"version":3,"file":"non_max_suppression_util.js","sourceRoot":"","sources":["../../src/backends/non_max_suppression_util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CACxB,GAAQ,EAAE,OAAU,EAAE,UAAmC;IAC3D,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,YAAY,CACxB,GAAQ,EAAE,MAAS,EAAE,UAAmC;IAC1D,OAAO,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,IAAI,iBAAiB,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAI,CAAI,EAAE,CAAI;IACtC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,aAAa,CAClB,GAAQ,EAAE,MAAS,EAAE,UAAkC;IACzD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;IACvB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,OAAO,IAAI,GAAG,KAAK,EAAE;QACnB,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,IAAI,aAAa,GAAG,CAAC,EAAE;YACrB,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC;SACnB;aAAM;YACL,KAAK,GAAG,MAAM,CAAC;YACf,oEAAoE;YACpE,wDAAwD;YACxD,KAAK,GAAG,CAAC,aAAa,CAAC;SACxB;KACF;IAED,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;AAClC,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_util_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_util_test.js.map index 0e7aa421c..f8eab8fcd 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_util_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_util_test.js.map @@ -1 +1 @@ -{"version":3,"file":"non_max_suppression_util_test.js","sourceRoot":"","sources":["../../src/backends/non_max_suppression_util_test.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 * as non_max_suppression_util from './non_max_suppression_util';\n\ndescribe('non_max_suppression_util', () => {\n const insertionPoint = (i: number) => -(i + 1);\n\n describe('binarySearch', () => {\n const d = [\n -897123.9, -321434.58758, -1321.3124, -324, -9, -3, 0, 0, 0, 0.31255, 5,\n 142.88888708, 334, 342, 453, 54254\n ];\n\n it('-897123.9 should be found at index 0', () => {\n const result = non_max_suppression_util.binarySearch(d, -897123.9);\n expect(result).toBe(0);\n });\n\n it(`54254 should be found at index ${d.length - 1}`, () => {\n const result = non_max_suppression_util.binarySearch(d, 54254);\n expect(result).toBe(d.length - 1);\n });\n\n it('-3 should be found at index 5', () => {\n const result = non_max_suppression_util.binarySearch(d, -3);\n expect(result).toBe(5);\n });\n\n it('0 should be found at index 6', () => {\n const result = non_max_suppression_util.binarySearch(d, 0);\n expect(result).toBe(6);\n });\n\n it('-900000 should have an insertion point of 0', () => {\n const result = non_max_suppression_util.binarySearch(d, -900000);\n expect(result).toBeLessThan(0);\n expect(insertionPoint(result)).toBe(0);\n });\n\n it(`54255 should have an insertion point of ${d.length}`, () => {\n const result = non_max_suppression_util.binarySearch(d, 54255);\n expect(result).toBeLessThan(0);\n expect(insertionPoint(result)).toEqual(d.length);\n });\n\n it('1.1 should have an insertion point of 10', () => {\n const result = non_max_suppression_util.binarySearch(d, 1.1);\n expect(result).toBeLessThan(0);\n expect(insertionPoint(result)).toEqual(10);\n });\n });\n\n describe('binarySearch with custom comparator', () => {\n const e = [\n 54254,\n 453,\n 342,\n 334,\n 142.88888708,\n 5,\n 0.31255,\n 0,\n 0,\n 0,\n -3,\n -9,\n -324,\n -1321.3124,\n -321434.58758,\n -897123.9,\n ];\n\n const revComparator = (a: number, b: number) => (b - a);\n\n it('54254 should be found at index 0', () => {\n const result =\n non_max_suppression_util.binarySearch(e, 54254, revComparator);\n expect(result).toBe(0);\n });\n\n it(`-897123.9 should be found at index ${e.length - 1}`, () => {\n const result =\n non_max_suppression_util.binarySearch(e, -897123.9, revComparator);\n expect(result).toBe(e.length - 1);\n });\n\n it('-3 should be found at index 10', () => {\n const result =\n non_max_suppression_util.binarySearch(e, -3, revComparator);\n expect(result).toBe(10);\n });\n\n it('0 should be found at index 7', () => {\n const result = non_max_suppression_util.binarySearch(e, 0, revComparator);\n expect(result).toBe(7);\n });\n\n it('54254.1 should have an insertion point of 0', () => {\n const result =\n non_max_suppression_util.binarySearch(e, 54254.1, revComparator);\n expect(result).toBeLessThan(0);\n expect(insertionPoint(result)).toBe(0);\n });\n\n it(`-897124 should have an insertion point of ${e.length}`, () => {\n const result =\n non_max_suppression_util.binarySearch(e, -897124, revComparator);\n expect(result).toBeLessThan(0);\n expect(insertionPoint(result)).toBe(e.length);\n });\n });\n\n describe(\n 'binarySearch with custom comparator with single element array', () => {\n const g = [1];\n\n const revComparator = (a: number, b: number) => (b - a);\n\n it('1 should be found at index 0', () => {\n const result =\n non_max_suppression_util.binarySearch(g, 1, revComparator);\n expect(result).toBe(0);\n });\n\n it('2 should have an insertion point of 0', () => {\n const result =\n non_max_suppression_util.binarySearch(g, 2, revComparator);\n expect(result).toBeLessThan(0);\n expect(insertionPoint(result)).toBe(0);\n });\n\n it('0 should have an insertion point of 1', () => {\n const result =\n non_max_suppression_util.binarySearch(g, 0, revComparator);\n expect(result).toBeLessThan(0);\n expect(insertionPoint(result)).toBe(1);\n });\n });\n\n describe('binarySearch test left-most duplicated element', () => {\n it('should find the index of the first 0', () => {\n const result = non_max_suppression_util.binarySearch([0, 0, 1], 0);\n expect(result).toBe(0);\n });\n\n it('should find the index of the first 1', () => {\n const result = non_max_suppression_util.binarySearch([0, 1, 1], 1);\n expect(result).toBe(1);\n });\n });\n\n describe('binaryInsert', () => {\n it('inserts correctly', () => {\n const a: number[] = [];\n\n non_max_suppression_util.binaryInsert(a, 3);\n expect(a).toEqual([3]);\n\n non_max_suppression_util.binaryInsert(a, 3);\n expect(a).toEqual([3, 3]);\n\n non_max_suppression_util.binaryInsert(a, 1);\n expect(a).toEqual([1, 3, 3]);\n\n non_max_suppression_util.binaryInsert(a, 5);\n expect(a).toEqual([1, 3, 3, 5]);\n });\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"non_max_suppression_util_test.js","sourceRoot":"","sources":["../../src/backends/non_max_suppression_util_test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/where_impl.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/where_impl.js.map index 4b949dc36..79f30ae6d 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/where_impl.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/backends/where_impl.js.map @@ -1 +1 @@ -{"version":3,"file":"where_impl.js","sourceRoot":"","sources":["../../src/backends/where_impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,yEAAyE;AAEzE,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAIrC,MAAM,UAAU,SAAS,CAAC,SAAmB,EAAE,QAAoB;IACjE,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;YACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;KACF;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAE5C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;QACpC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;KAC7B;IACD,OAAO,GAAG,CAAC,QAAQ,EAAc,CAAC;AACpC,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 */\n\n/** An implementation of the Where kernel shared between cpu and webgl */\n\nimport {buffer} from '../ops/buffer';\nimport {Tensor2D} from '../tensor';\nimport {TypedArray} from '../types';\n\nexport function whereImpl(condShape: number[], condVals: TypedArray): Tensor2D {\n const indices = [];\n for (let i = 0; i < condVals.length; i++) {\n if (condVals[i]) {\n indices.push(i);\n }\n }\n\n const inBuffer = buffer(condShape, 'int32');\n\n const out = buffer([indices.length, condShape.length], 'int32');\n for (let i = 0; i < indices.length; i++) {\n const loc = inBuffer.indexToLoc(indices[i]);\n const offset = i * condShape.length;\n out.values.set(loc, offset);\n }\n return out.toTensor() as Tensor2D;\n}\n"]} \ No newline at end of file +{"version":3,"file":"where_impl.js","sourceRoot":"","sources":["../../src/backends/where_impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,yEAAyE;AAEzE,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAIrC,MAAM,UAAU,SAAS,CAAC,SAAmB,EAAE,QAAoB;IACjE,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;YACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;KACF;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAE5C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;QACpC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;KAC7B;IACD,OAAO,GAAG,CAAC,QAAQ,EAAc,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/base.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/base.js.map index 7fe9c60e1..a494517cb 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/base.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/base.js.map @@ -1 +1 @@ -{"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,uEAAuE;AACvE,8EAA8E;AAC9E,4CAA4C;AAE5C;;;;;;;GAOG;AAEH,iBAAiB;AACjB,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAGlC,cAAc;AACd,OAAO,EAAC,iBAAiB,EAAC,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAC,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAS,MAAM,EAAoD,YAAY,EAAE,QAAQ,EAAC,MAAM,UAAU,CAAC;AAElH,OAAO,EAA+E,IAAI,EAAwC,UAAU,EAA0B,UAAU,EAAC,MAAM,SAAS,CAAC;AAEjM,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAE/C,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAC,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AAGhG,OAAO,EAAC,WAAW,EAAE,GAAG,EAAE,GAAG,EAAC,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,CAAC;AAEjC,4BAA4B;AAC5B,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEzC,wBAAwB;AACxB,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,OAAO,EACP,EAAE,EACF,IAAI,EACJ,aAAa,EACb,SAAS,EACT,IAAI,EACJ,YAAY,EACZ,WAAW,EACX,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACZ,CAAC;AAEF,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAC,YAAY,EAAC,CAAC;AACtB,oBAAoB;AACpB,OAAO,EAAC,aAAa,EAAgC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAE5F,kCAAkC;AAClC,cAAc,gBAAgB,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 tfjs-core without auto registration of things like flags,\n// gradients, chained ops or the opHandler. See base_side_effects.ts for parts\n// tfjs core that are required side effects.\n\n/**\n * @fileoverview\n * @suppress {partialAlias} Optimization disabled due to passing the module\n * object into a function below:\n *\n * import * as ops from './ops/ops';\n * setOpHandler(ops);\n */\n\n// Serialization.\nimport * as io from './io/io';\nimport * as math from './math';\nimport * as browser from './ops/browser';\nimport * as gather_util from './ops/gather_nd_util';\nimport * as scatter_util from './ops/scatter_nd_util';\nimport * as slice_util from './ops/slice_util';\nimport * as serialization from './serialization';\nimport * as tensor_util from './tensor_util';\nimport * as test_util from './test_util';\nimport * as util from './util';\nimport {version} from './version';\n\nexport {InferenceModel, MetaGraph, MetaGraphInfo, ModelPredictConfig, ModelTensorInfo, SavedModelTensorInfo, SignatureDef, SignatureDefEntry, SignatureDefInfo} from './model_types';\n// Optimizers.\nexport {AdadeltaOptimizer} from './optimizers/adadelta_optimizer';\nexport {AdagradOptimizer} from './optimizers/adagrad_optimizer';\nexport {AdamOptimizer} from './optimizers/adam_optimizer';\nexport {AdamaxOptimizer} from './optimizers/adamax_optimizer';\nexport {MomentumOptimizer} from './optimizers/momentum_optimizer';\nexport {Optimizer} from './optimizers/optimizer';\nexport {RMSPropOptimizer} from './optimizers/rmsprop_optimizer';\nexport {SGDOptimizer} from './optimizers/sgd_optimizer';\nexport {Scalar, Tensor, Tensor1D, Tensor2D, Tensor3D, Tensor4D, Tensor5D, TensorBuffer, Variable} from './tensor';\nexport {GradSaveFunc, NamedTensorMap, TensorContainer, TensorContainerArray, TensorContainerObject} from './tensor_types';\nexport {BackendValues, DataType, DataTypeMap, DataValues, NumericDataType, PixelData, Rank, RecursiveArray, ScalarLike, ShapeMap, sumOutType, TensorLike, TypedArray, upcastType} from './types';\n\nexport * from './ops/ops';\nexport {Reduction} from './ops/loss_ops_utils';\n\nexport * from './train';\nexport * from './globals';\nexport * from './kernel_registry';\nexport {customGrad, grad, grads, valueAndGrad, valueAndGrads, variableGrads} from './gradients';\n\nexport {TimingInfo, MemoryInfo, ForwardFunc} from './engine';\nexport {Environment, env, ENV} from './environment';\nexport {Platform} from './platforms/platform';\n\nexport {version as version_core};\n\n// Top-level method exports.\nexport {nextFrame} from './browser_util';\n\n// Second level exports.\nimport * as backend_util from './backends/backend_util';\nimport * as device_util from './device_util';\nexport {\n browser,\n io,\n math,\n serialization,\n test_util,\n util,\n backend_util,\n tensor_util,\n slice_util,\n gather_util,\n scatter_util,\n device_util\n};\n\nimport * as kernel_impls from './backends/kernel_impls';\nexport {kernel_impls};\n// Backend specific.\nexport {KernelBackend, BackendTimingInfo, DataMover, DataStorage} from './backends/backend';\n\n// Export all kernel names / info.\nexport * from './kernel_names';\n"]} \ No newline at end of file +{"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,uEAAuE;AACvE,8EAA8E;AAC9E,4CAA4C;AAE5C;;;;;;;GAOG;AAEH,iBAAiB;AACjB,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAGlC,cAAc;AACd,OAAO,EAAC,iBAAiB,EAAC,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAC,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAS,MAAM,EAAoD,YAAY,EAAE,QAAQ,EAAC,MAAM,UAAU,CAAC;AAElH,OAAO,EAA+E,IAAI,EAAwC,UAAU,EAA0B,UAAU,EAAC,MAAM,SAAS,CAAC;AAEjM,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAE/C,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAC,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AAGhG,OAAO,EAAC,WAAW,EAAE,GAAG,EAAE,GAAG,EAAC,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,CAAC;AAEjC,4BAA4B;AAC5B,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEzC,wBAAwB;AACxB,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,OAAO,EACP,EAAE,EACF,IAAI,EACJ,aAAa,EACb,SAAS,EACT,IAAI,EACJ,YAAY,EACZ,WAAW,EACX,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACZ,CAAC;AAEF,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAC,YAAY,EAAC,CAAC;AACtB,oBAAoB;AACpB,OAAO,EAAC,aAAa,EAAgC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAE5F,kCAAkC;AAClC,cAAc,gBAAgB,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/base_side_effects.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/base_side_effects.js.map index fc022ad01..b2b7a0307 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/base_side_effects.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/base_side_effects.js.map @@ -1 +1 @@ -{"version":3,"file":"base_side_effects.js","sourceRoot":"","sources":["../src/base_side_effects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,6CAA6C;AAE7C,wBAAwB;AACxB,OAAO,EAAC,eAAe,EAAC,MAAM,UAAU,CAAC;AACzC,eAAe,EAAE,CAAC;AAElB,mCAAmC;AACnC,OAAO,SAAS,CAAC;AACjB,qBAAqB;AACrB,OAAO,8BAA8B,CAAC;AACtC,OAAO,2BAA2B,CAAC;AAEnC,mBAAmB;AACnB,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACpC,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAChC,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAClC,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAClC,OAAO,EAAY,YAAY,EAAC,MAAM,UAAU,CAAC;AACjD,MAAM,SAAS,GAAc;IAC3B,MAAM;IACN,IAAI;IACJ,KAAK;IACL,KAAK;CACN,CAAC;AACF,YAAY,CAAC,SAAS,CAAC,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// Required side effectful code for tfjs-core\n\n// Set up Engine and ENV\nimport {getOrMakeEngine} from './engine';\ngetOrMakeEngine();\n\n// Register backend-agnostic flags.\nimport './flags';\n// Register platforms\nimport './platforms/platform_browser';\nimport './platforms/platform_node';\n\n// Set up OpHandler\nimport {buffer} from './ops/buffer';\nimport {cast} from './ops/cast';\nimport {clone} from './ops/clone';\nimport {print} from './ops/print';\nimport {OpHandler, setOpHandler} from './tensor';\nconst opHandler: OpHandler = {\n buffer,\n cast,\n clone,\n print\n};\nsetOpHandler(opHandler);\n"]} \ No newline at end of file +{"version":3,"file":"base_side_effects.js","sourceRoot":"","sources":["../src/base_side_effects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,6CAA6C;AAE7C,wBAAwB;AACxB,OAAO,EAAC,eAAe,EAAC,MAAM,UAAU,CAAC;AACzC,eAAe,EAAE,CAAC;AAElB,mCAAmC;AACnC,OAAO,SAAS,CAAC;AACjB,qBAAqB;AACrB,OAAO,8BAA8B,CAAC;AACtC,OAAO,2BAA2B,CAAC;AAEnC,mBAAmB;AACnB,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACpC,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAChC,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAClC,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAClC,OAAO,EAAY,YAAY,EAAC,MAAM,UAAU,CAAC;AACjD,MAAM,SAAS,GAAc;IAC3B,MAAM;IACN,IAAI;IACJ,KAAK;IACL,KAAK;CACN,CAAC;AACF,YAAY,CAAC,SAAS,CAAC,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/browser_util.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/browser_util.js.map index b5eefc7d3..88c912f12 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/browser_util.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/browser_util.js.map @@ -1 +1 @@ -{"version":3,"file":"browser_util.js","sourceRoot":"","sources":["../src/browser_util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,aAAa,GAAa,CAAC,GAAG,EAAE;IACpC,IAAI,OAAO,qBAAqB,KAAK,WAAW,EAAE;QAChD,OAAO,qBAAqB,CAAC;KAC9B;SAAM,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;QAC9C,OAAO,YAAY,CAAC;KACrB;IACD,OAAO,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAE,YAAY;AAC5C,CAAC,CAAC,EAAE,CAAC;AAEL;;;;;;;;;GASG;AACH,SAAS,SAAS;IAChB,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,OAAO,EAAC,SAAS,EAAC,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\nconst delayCallback: Function = (() => {\n if (typeof requestAnimationFrame !== 'undefined') {\n return requestAnimationFrame;\n } else if (typeof setImmediate !== 'undefined') {\n return setImmediate;\n }\n return (f: Function) => f(); // no delays\n})();\n\n/**\n * Returns a promise that resolve when a requestAnimationFrame has completed.\n *\n * On Node.js this uses setImmediate instead of requestAnimationFrame.\n *\n * This is simply a sugar method so that users can do the following:\n * `await tf.nextFrame();`\n *\n * @doc {heading: 'Performance', subheading: 'Timing'}\n */\nfunction nextFrame(): Promise {\n return new Promise(resolve => delayCallback(() => resolve()));\n}\n\nexport {nextFrame};\n"]} \ No newline at end of file +{"version":3,"file":"browser_util.js","sourceRoot":"","sources":["../src/browser_util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,aAAa,GAAa,CAAC,GAAG,EAAE;IACpC,IAAI,OAAO,qBAAqB,KAAK,WAAW,EAAE;QAChD,OAAO,qBAAqB,CAAC;KAC9B;SAAM,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;QAC9C,OAAO,YAAY,CAAC;KACrB;IACD,OAAO,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAE,YAAY;AAC5C,CAAC,CAAC,EAAE,CAAC;AAEL;;;;;;;;;GASG;AACH,SAAS,SAAS;IAChB,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,OAAO,EAAC,SAAS,EAAC,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/browser_util_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/browser_util_test.js.map index 0933b317d..fd5f50cfb 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/browser_util_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/browser_util_test.js.map @@ -1 +1 @@ -{"version":3,"file":"browser_util_test.js","sourceRoot":"","sources":["../src/browser_util_test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAC,QAAQ,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAE3D,iBAAiB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,qEAAqE;QACrE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,GAAG,IAAI,CAAC;QACd,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;YACzC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;SACtB;QACD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,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 */\n\nimport * as tf from './index';\nimport {ALL_ENVS, describeWithFlags} from './jasmine_util';\n\ndescribeWithFlags('nextFrame', ALL_ENVS, () => {\n it('basic usage', async () => {\n const t0 = tf.util.now();\n await tf.nextFrame();\n const t1 = tf.util.now();\n // tf.util.now should give sufficient accuracy on all supported envs.\n expect(t1 > t0);\n });\n\n it('does not block timers', async () => {\n let flag = false;\n setTimeout(() => {\n flag = true;\n }, 50);\n const t0 = tf.util.now();\n expect(flag).toBe(false);\n while (tf.util.now() - t0 < 1000 && !flag) {\n await tf.nextFrame();\n }\n expect(flag).toBe(true);\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"browser_util_test.js","sourceRoot":"","sources":["../src/browser_util_test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAC,QAAQ,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAE3D,iBAAiB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,qEAAqE;QACrE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,GAAG,IAAI,CAAC;QACd,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;YACzC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;SACtB;QACD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/buffer_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/buffer_test.js.map index ed595902b..c9e944887 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/buffer_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/buffer_test.js.map @@ -1 +1 @@ -{"version":3,"file":"buffer_test.js","sourceRoot":"","sources":["../src/buffer_test.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\nimport * as tf from './index';\nimport {ALL_ENVS, describeWithFlags} from './jasmine_util';\nimport {expectArraysClose, expectArraysEqual} from './test_util';\n\ndescribeWithFlags('tf.buffer', ALL_ENVS, () => {\n it('float32', async () => {\n const buff = tf.buffer([1, 2, 3], 'float32');\n buff.set(1.3, 0, 0, 0);\n buff.set(2.9, 0, 1, 0);\n expect(buff.get(0, 0, 0)).toBeCloseTo(1.3);\n expect(buff.get(0, 0, 1)).toBeCloseTo(0);\n expect(buff.get(0, 0, 2)).toBeCloseTo(0);\n expect(buff.get(0, 1, 0)).toBeCloseTo(2.9);\n expect(buff.get(0, 1, 1)).toBeCloseTo(0);\n expect(buff.get(0, 1, 2)).toBeCloseTo(0);\n expectArraysClose(await buff.toTensor().data(), [1.3, 0, 0, 2.9, 0, 0]);\n expectArraysClose(buff.values, new Float32Array([1.3, 0, 0, 2.9, 0, 0]));\n });\n\n it('get() out of range throws', async () => {\n const t = tf.tensor([1, 2, 3, 4, 5, 6, 7, 8], [2, 2, 2]);\n\n const buff = await t.buffer();\n expect(buff.get(0, 0, 0)).toBeCloseTo(1);\n expect(buff.get(0, 0, 1)).toBeCloseTo(2);\n expect(() => buff.get(0, 0, 2))\n .toThrowError(/Requested out of range element/);\n });\n\n it('int32', async () => {\n const buff = tf.buffer([2, 3], 'int32');\n buff.set(1.3, 0, 0);\n buff.set(2.1, 1, 1);\n expect(buff.get(0, 0)).toEqual(1);\n expect(buff.get(0, 1)).toEqual(0);\n expect(buff.get(0, 2)).toEqual(0);\n expect(buff.get(1, 0)).toEqual(0);\n expect(buff.get(1, 1)).toEqual(2);\n expect(buff.get(1, 2)).toEqual(0);\n expectArraysClose(await buff.toTensor().data(), [1, 0, 0, 0, 2, 0]);\n expectArraysClose(buff.values, new Int32Array([1, 0, 0, 0, 2, 0]));\n });\n\n it('bool', async () => {\n const buff = tf.buffer([4], 'bool');\n buff.set(true, 1);\n buff.set(true, 2);\n expect(buff.get(0)).toBeFalsy();\n expect(buff.get(1)).toBeTruthy();\n expect(buff.get(2)).toBeTruthy();\n expect(buff.get(3)).toBeFalsy();\n expectArraysClose(await buff.toTensor().data(), [0, 1, 1, 0]);\n expectArraysClose(buff.values, new Uint8Array([0, 1, 1, 0]));\n });\n\n it('string', async () => {\n const buff = tf.buffer([2, 2], 'string');\n buff.set('first', 0, 0);\n buff.set('third', 1, 0);\n expect(buff.get(0, 0)).toEqual('first');\n expect(buff.get(0, 1)).toBeFalsy();\n expect(buff.get(1, 0)).toEqual('third');\n expect(buff.get(1, 1)).toBeFalsy();\n expectArraysEqual(\n await buff.toTensor().data(), ['first', null, 'third', null]);\n });\n\n it('throws when passed non-integer shape', () => {\n const msg = 'Tensor must have a shape comprised of positive ' +\n 'integers but got shape [2,2.2].';\n expect(() => tf.buffer([2, 2.2])).toThrowError(msg);\n });\n\n it('throws when passed negative shape', () => {\n const msg = 'Tensor must have a shape comprised of positive ' +\n 'integers but got shape [2,-2].';\n expect(() => tf.buffer([2, -2])).toThrowError(msg);\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"buffer_test.js","sourceRoot":"","sources":["../src/buffer_test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/debug_mode_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/debug_mode_test.js.map index 0dd6eba41..c454e3eb4 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/debug_mode_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/debug_mode_test.js.map @@ -1 +1 @@ -{"version":3,"file":"debug_mode_test.js","sourceRoot":"","sources":["../src/debug_mode_test.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 * as tf from './index';\nimport {ALL_ENVS, describeWithFlags, SYNC_BACKEND_ENVS} from './jasmine_util';\nimport {convertToTensor} from './tensor_util_env';\nimport {expectArraysClose} from './test_util';\n\ndescribeWithFlags('debug on', SYNC_BACKEND_ENVS, () => {\n beforeAll(() => {\n // Silence debug warnings.\n spyOn(console, 'warn');\n tf.enableDebugMode();\n });\n\n it('debug mode does not error when no nans', async () => {\n const a = tf.tensor1d([2, -1, 0, 3]);\n const res = tf.relu(a);\n expectArraysClose(await res.data(), [2, 0, 0, 3]);\n });\n\n it('debug mode errors when nans in tensor construction, float32', () => {\n const a = () => tf.tensor1d([2, NaN], 'float32');\n expect(a).toThrowError();\n });\n\n it('debug mode errors when nans in tensor construction, int32', () => {\n const a = () => tf.tensor1d([2, NaN], 'int32');\n expect(a).toThrowError();\n });\n\n it('debug mode errors when Infinity in tensor construction', () => {\n const a = () => tf.tensor1d([2, Infinity], 'float32');\n expect(a).toThrowError();\n });\n\n it('debug mode errors when nans in tensor created from TypedArray', () => {\n const a = () => tf.tensor1d(new Float32Array([1, 2, NaN]), 'float32');\n expect(a).toThrowError();\n });\n\n it('debug mode errors when infinities in op output', async () => {\n const a = tf.tensor1d([1, 2, 3, 4]);\n const b = tf.tensor1d([2, -1, 0, 3]);\n\n const c = async () => {\n const result = a.div(b);\n // Must await result so we know exception would have happened by the\n // time we call `expect`.\n await result.data();\n };\n\n await c();\n\n expect(console.warn).toHaveBeenCalled();\n });\n\n it('debug mode errors when nans in op output', async () => {\n const a = tf.tensor1d([-1, 2]);\n const b = tf.tensor1d([0.5, 1]);\n\n const c = async () => {\n const result = a.pow(b);\n await result.data();\n };\n\n await c();\n\n expect(console.warn).toHaveBeenCalled();\n });\n\n it('debug mode errors when nans in oneHot op (tensorlike), int32', () => {\n const f = () => tf.oneHot([2, NaN], 3);\n expect(f).toThrowError();\n });\n\n it('debug mode errors when nan in convertToTensor, int32', () => {\n const a = () => convertToTensor(NaN, 'a', 'test', 'int32');\n expect(a).toThrowError();\n });\n\n it('debug mode errors when nan in convertToTensor array input, int32', () => {\n const a = () => convertToTensor([NaN], 'a', 'test', 'int32');\n expect(a).toThrowError();\n });\n\n // tslint:disable-next-line: ban\n xit('A x B', async () => {\n const a = tf.tensor2d([1, 2, 3, 4, 5, 6], [2, 3]);\n const b = tf.tensor2d([0, 1, -3, 2, 2, 1], [3, 2]);\n\n const c = tf.matMul(a, b);\n\n expect(c.shape).toEqual([2, 2]);\n expectArraysClose(await c.data(), [0, 8, -3, 20]);\n });\n});\n\ndescribeWithFlags('debug off', ALL_ENVS, () => {\n beforeAll(() => {\n tf.env().set('DEBUG', false);\n });\n\n it('no errors where there are nans, and debug mode is disabled', async () => {\n const a = tf.tensor1d([2, NaN]);\n const res = tf.relu(a);\n expectArraysClose(await res.data(), [2, NaN]);\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"debug_mode_test.js","sourceRoot":"","sources":["../src/debug_mode_test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util.d.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util.d.ts index df933a390..f88b4867d 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util.d.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util.d.ts @@ -14,5 +14,5 @@ * limitations under the License. * ============================================================================= */ -export declare function isMobile(nav?: Navigator): boolean; +export declare function isMobile(): boolean; export declare function isBrowser(): boolean; diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util.js b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util.js index c4ab67ad8..6365df8cb 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util.js +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util.js @@ -18,16 +18,10 @@ function _isNavigatorDefined() { return typeof navigator !== 'undefined' && navigator != null; } -export function isMobile(nav) { - if (nav || _isNavigatorDefined()) { - if (!nav) { - nav = navigator; - } - if (nav.product === 'ReactNative') { - return true; - } +export function isMobile() { + if (_isNavigatorDefined()) { // tslint:disable-next-line:no-any - const a = nav.userAgent || nav.vendor || window.opera; + const a = navigator.userAgent || navigator.vendor || window.opera; // tslint:disable-next-line:max-line-length return /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i .test(a) || diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util.js.map index 72d1a26e5..6e4148ff2 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util.js.map @@ -1 +1 @@ -{"version":3,"file":"device_util.js","sourceRoot":"","sources":["../src/device_util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,kCAAkC;AAClC,SAAS,mBAAmB;IAC1B,OAAO,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,IAAI,IAAI,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAe;IACtC,IAAI,GAAG,IAAI,mBAAmB,EAAE,EAAE;QAChC,IAAI,CAAC,GAAG,EAAE;YACR,GAAG,GAAG,SAAS,CAAC;SACjB;QACD,IAAI,GAAG,CAAC,OAAO,KAAK,aAAa,EAAE;YACjC,OAAO,IAAI,CAAC;SACb;QAED,kCAAkC;QAClC,MAAM,CAAC,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,IAAK,MAAc,CAAC,KAAK,CAAC;QAC/D,2CAA2C;QAC3C,OAAO,0TAA0T;aACrT,IAAI,CAAC,CAAC,CAAC;YACf,2CAA2C;YAC3C,ykDAAykD;iBACpkD,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC/B;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;QAC7D,YAAY;QACZ,CAAC,OAAO,iBAAiB,KAAK,WAAW,CAAC,CAAC;AACjD,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\n// tslint:disable-next-line:no-any\nfunction _isNavigatorDefined(): boolean {\n return typeof navigator !== 'undefined' && navigator != null;\n}\n\nexport function isMobile(nav?: Navigator): boolean {\n if (nav || _isNavigatorDefined()) {\n if (!nav) {\n nav = navigator;\n }\n if (nav.product === 'ReactNative') {\n return true;\n }\n\n // tslint:disable-next-line:no-any\n const a = nav.userAgent || nav.vendor || (window as any).opera;\n // tslint:disable-next-line:max-line-length\n return /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i\n .test(a) ||\n // tslint:disable-next-line:max-line-length\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i\n .test(a.substr(0, 4));\n }\n return false;\n}\n\nexport function isBrowser(): boolean {\n return (typeof window !== 'undefined' && window.document != null) ||\n //@ts-ignore\n (typeof WorkerGlobalScope !== 'undefined');\n}\n"]} \ No newline at end of file +{"version":3,"file":"device_util.js","sourceRoot":"","sources":["../src/device_util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,kCAAkC;AAClC,SAAS,mBAAmB;IAC1B,OAAO,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,IAAI,IAAI,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,IAAI,mBAAmB,EAAE,EAAE;QACzB,kCAAkC;QAClC,MAAM,CAAC,GAAG,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,IAAK,MAAc,CAAC,KAAK,CAAC;QAC3E,2CAA2C;QAC3C,OAAO,0TAA0T;aACrT,IAAI,CAAC,CAAC,CAAC;YACf,2CAA2C;YAC3C,ykDAAykD;iBACpkD,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC/B;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;QAC7D,YAAY;QACZ,CAAC,OAAO,iBAAiB,KAAK,WAAW,CAAC,CAAC;AACjD,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util_test.js b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util_test.js index 0e26db200..34a53f944 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util_test.js +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util_test.js @@ -20,8 +20,5 @@ describeWithFlags('isMobile', ALL_ENVS, () => { it('should not fail when navigator is set', () => { expect(() => device_util.isMobile()).not.toThrow(); }); - it('identifies react native as a mobile device', () => { - expect(device_util.isMobile({ product: 'ReactNative' })).toEqual(true); - }); }); //# sourceMappingURL=device_util_test.js.map \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util_test.js.map index fa5165726..0773b23f9 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/device_util_test.js.map @@ -1 +1 @@ -{"version":3,"file":"device_util_test.js","sourceRoot":"","sources":["../src/device_util_test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAC,QAAQ,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAE3D,iBAAiB,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,WAAW,CAAC,QAAQ,CACzB,EAAC,OAAO,EAAE,aAAa,EAAc,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,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 * as device_util from './device_util';\nimport {ALL_ENVS, describeWithFlags} from './jasmine_util';\n\ndescribeWithFlags('isMobile', ALL_ENVS, () => {\n it('should not fail when navigator is set', () => {\n expect(() => device_util.isMobile()).not.toThrow();\n });\n it('identifies react native as a mobile device', () => {\n expect(device_util.isMobile(\n {product: 'ReactNative'} as Navigator)).toEqual(true);\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"device_util_test.js","sourceRoot":"","sources":["../src/device_util_test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAC,QAAQ,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAE3D,iBAAiB,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine.d.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine.d.ts index 78642c8d7..dac0deab9 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine.d.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine.d.ts @@ -99,6 +99,7 @@ declare class EngineState { bytes: number; dtype: "string" | "float32" | "int32" | "bool" | "complex64"; shape: number[]; + refCount: number; }>; profiling: boolean; activeProfile: ProfileInfo; @@ -204,9 +205,7 @@ export declare class Engine implements TensorTracker, DataMover { */ makeTensorFromDataId(dataId: DataId, shape: number[], dtype: DataType, backend?: KernelBackend): Tensor; makeVariable(initialValue: Tensor, trainable?: boolean, name?: string, dtype?: DataType): Variable; - trackTensor(a: Tensor, backend: KernelBackend): void; incRef(a: Tensor, backend: KernelBackend): void; - removeDataId(dataId: DataId, backend: KernelBackend): void; disposeTensor(a: Tensor): void; disposeVariables(): void; disposeVariable(v: Variable): void; diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine.js b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine.js index 5405eadf2..265af2f95 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine.js +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine.js @@ -17,7 +17,7 @@ import { KernelBackend } from './backends/backend'; import { Environment, setEnvironmentGlobal } from './environment'; import { getGlobalNamespace } from './global_util'; -import { Add, Cast, Identity } from './kernel_names'; +import { Add, Cast } from './kernel_names'; import { getGradient, getKernel, getKernelsForBackend } from './kernel_registry'; import { Profiler } from './profiler'; import { backpropagateGradients, getFilteredNodesXToY } from './tape'; @@ -287,12 +287,11 @@ export class Engine { const info = this.state.tensorInfo.get(dataId); const srcBackend = info.backend; const values = this.readSync(dataId); - const refCount = srcBackend.refCount(dataId); // Delete the tensor from the old backend and move it to the new // backend. - srcBackend.disposeData(dataId, true); + srcBackend.disposeData(dataId); info.backend = backend; - backend.move(dataId, values, info.shape, info.dtype, refCount); + backend.move(dataId, values, info.shape, info.dtype); if (this.shouldCheckForMemLeaks()) { // Track the number of moves during a kernel execution to correctly // detect memory leaks. @@ -356,7 +355,7 @@ export class Engine { * execution. */ clone(x) { - const y = ENGINE.runKernel(Identity, { x }); + const y = this.makeTensorFromDataId(x.dataId, x.shape, x.dtype); const inputs = { x }; const grad = (dy) => ({ x: () => { @@ -608,7 +607,7 @@ export class Engine { } const dataId = backend.write(backendVals, shape, dtype); const t = new Tensor(shape, dtype, dataId, this.nextTensorId()); - this.trackTensor(t, backend); + this.incRef(t, backend); // Count bytes for string tensors. if (dtype === 'string') { const info = this.state.tensorInfo.get(dataId); @@ -626,7 +625,7 @@ export class Engine { makeTensorFromDataId(dataId, shape, dtype, backend) { dtype = dtype || 'float32'; const t = new Tensor(shape, dtype, dataId, this.nextTensorId()); - this.trackTensor(t, backend); + this.incRef(t, backend); return t; } makeVariable(initialValue, trainable = true, name, dtype) { @@ -642,66 +641,63 @@ export class Engine { this.incRef(v, this.backend); return v; } - trackTensor(a, backend) { + incRef(a, backend) { + const refCount = this.state.tensorInfo.has(a.dataId) ? + this.state.tensorInfo.get(a.dataId).refCount : + 0; this.state.numTensors++; if (a.dtype === 'string') { this.state.numStringTensors++; } - // Bytes for complex numbers are counted by their components. Bytes for - // string tensors are counted when writing values. - let bytes = 0; - if (a.dtype !== 'complex64' && a.dtype !== 'string') { - bytes = a.size * util.bytesPerElement(a.dtype); - } - this.state.numBytes += bytes; - if (!this.state.tensorInfo.has(a.dataId)) { + if (refCount === 0) { this.state.numDataBuffers++; + // Bytes for complex numbers are counted by their components. Bytes for + // string tensors are counted when writing values. + let bytes = 0; + if (a.dtype !== 'complex64' && a.dtype !== 'string') { + bytes = a.size * util.bytesPerElement(a.dtype); + } this.state.tensorInfo.set(a.dataId, { backend: backend || this.backend, dtype: a.dtype, shape: a.shape, - bytes + bytes, + refCount: 0 }); + this.state.numBytes += bytes; } + this.state.tensorInfo.get(a.dataId).refCount++; if (!(a instanceof Variable)) { this.track(a); } } - // Track the tensor by dataId and increase the refCount for the dataId in the - // backend. - // TODO(pyu10055): This is currently used by makeVariable method, to increase - // refCount on the backend for the dataId. It can potentially be replaced with - // Identity op indead of calling backend directly. - incRef(a, backend) { - this.trackTensor(a, backend); - this.backend.incRef(a.dataId); - } - removeDataId(dataId, backend) { - if (this.state.tensorInfo.has(dataId) && - this.state.tensorInfo.get(dataId).backend === backend) { - this.state.tensorInfo.delete(dataId); - this.state.numDataBuffers--; - } - } disposeTensor(a) { if (!this.state.tensorInfo.has(a.dataId)) { return; } - const info = this.state.tensorInfo.get(a.dataId); this.state.numTensors--; if (a.dtype === 'string') { this.state.numStringTensors--; - this.state.numBytes -= info.bytes; } - // Don't count bytes for complex numbers as they are counted by their - // components. - if (a.dtype !== 'complex64' && a.dtype !== 'string') { - const bytes = a.size * util.bytesPerElement(a.dtype); - this.state.numBytes -= bytes; + const info = this.state.tensorInfo.get(a.dataId); + const refCount = info.refCount; + if (refCount <= 1) { + // Don't count bytes for complex numbers as they are counted by their + // components. + if (a.dtype !== 'complex64') { + this.state.numBytes -= info.bytes; + } + this.state.numDataBuffers--; + info.backend.disposeData(a.dataId); + this.state.tensorInfo.delete(a.dataId); } - // Remove the reference to dataId if backend dispose the data successfully - if (info.backend.disposeData(a.dataId)) { - this.removeDataId(a.dataId, info.backend); + else { + // Notify the backend to descrease the ref count for complex tensor + // components. This method is only implemented in WebGL right now. When + // there are multiple references, complex tensor cannot dispose the + // components if ref count is not in sync with engine. + info.backend.decComplexRef(a.dataId); + this.state.tensorInfo.get(a.dataId).refCount--; } // TODO(nsthorat): Construct an error and save the stack trace for // debugging when in debug mode. Creating a stack trace is too expensive diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine.js.map index d3a4ffef7..fb8c74ed5 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine.js.map @@ -1 +1 @@ -{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAA+B,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAChE,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACjD,OAAO,EAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,oBAAoB,EAAqC,MAAM,mBAAmB,CAAC;AACnH,OAAO,EAAgB,QAAQ,EAAC,MAAM,YAAY,CAAC;AACnD,OAAO,EAAC,sBAAsB,EAAE,oBAAoB,EAAW,MAAM,QAAQ,CAAC;AAC9E,OAAO,EAAS,gBAAgB,EAAE,MAAM,EAAiB,QAAQ,EAAC,MAAM,UAAU,CAAC;AAEnF,OAAO,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAC;AAEpD,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAC,oBAAoB,EAAE,kBAAkB,EAAE,GAAG,EAAE,aAAa,EAAC,MAAM,QAAQ,CAAC;AAuEpF,SAAS,4BAA4B,CAEjC,gBACgC;IAElC,OAAQ,gBAAkD,CAAC,UAAU,IAAI,IAAI,CAAC;AAChF,CAAC;AAED,MAAM,WAAW;IAAjB;QACE,uCAAuC;QACvC,wBAAmB,GAAqB,EAAE,CAAC;QAE3C,mBAAc,GAAG,CAAC,CAAC;QACnB,aAAQ,GAAG,CAAC,CAAC;QACb,eAAU,GAAG,CAAC,CAAC;QACf,qBAAgB,GAAG,CAAC,CAAC;QACrB,mBAAc,GAAG,CAAC,CAAC;QAGnB,oEAAoE;QACpE,yEAAyE;QACzE,2EAA2E;QAC3E,kBAAa,GAAG,CAAC,CAAC;QAClB,8EAA8E;QAC9E,gBAAgB;QAChB,gBAAW,GAAG,CAAC,CAAC;QAIhB,eAAU,GAAiB,EAAE,CAAC;QAC9B;;;WAGG;QACH,sBAAiB,GAAa,EAAE,CAAC;QACjC,gBAAW,GAAG,CAAC,CAAC;QAEhB,eAAU,GAAG,IAAI,OAAO,EAKpB,CAAC;QAEL,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAgB;YAC3B,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,IAAI;YACZ,IAAI,WAAW;gBAET,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;SACN,CAAC;IAOJ,CAAC;IALC,OAAO;QACL,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,mBAAmB,EAAE;YACnD,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;SAClD;IACH,CAAC;CACF;AAED,MAAM,OAAO,MAAM;IAgBjB,YAAmB,GAAgB;QAAhB,QAAG,GAAH,GAAG,CAAa;QAbnC,aAAQ,GAAkC,EAAE,CAAC;QAC7C,oBAAe,GAKX,EAAE,CAAC;QAKC,yBAAoB,GAAG,CAAC,CAAC;QAG/B,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE;YACnC,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;SAC/C;QACD,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;YAChC,OAAO;SACR;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;YAClE,IAAI,OAAO,EAAE;gBACX,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBACnC,OAAO;aACR;SACF;QAED,MAAM,IAAI,KAAK,CACX,iEAAiE;YACjE,SAAS,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,OAAO;QACT,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE;YACnC,MAAM,IAAI,KAAK,CACX,YAAY,IAAI,CAAC,WAAW,uCAAuC;gBACnE,mEAAmE;gBACnE,eAAe,CAAC,CAAC;SACtB;QACD,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;YAChC,MAAM,EAAC,IAAI,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;YACjE,IAAI,SAAS,EAAE;gBACb,MAAM,IAAI,KAAK,CACX,iCAAiC,IAAI,qBAAqB;oBAC1D,gDAAgD;oBAChD,oDAAoD,CAAC,CAAC;aAC3D;YACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACvB;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,YAAY;QACV,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW,CAAC,WAAmB;QAC7B,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE;YACnC,0EAA0E;YAC1E,mCAAmC;YACnC,IAAI,WAAW,IAAI,IAAI,CAAC,eAAe,EAAE;gBACvC,MAAM,EAAC,SAAS,EAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBACxD,IAAI,SAAS,EAAE;oBACb,4BAA4B;oBAC5B,OAAO,IAAI,CAAC;iBACb;aACF;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,kBAAkB,CAAC,WAAmB;QAEpC,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE;YAC1C,OAAO,IAAI,CAAC;SACb;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;IACnD,CAAC;IAED,eAAe,CACX,WAAmB,EACnB,OAAqD,EACrD,QAAQ,GAAG,CAAC;QACd,IAAI,WAAW,IAAI,IAAI,CAAC,eAAe,EAAE;YACvC,OAAO,CAAC,IAAI,CACR,GAAG,WAAW,mCAAmC;gBACjD,mCAAmC,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,EAAC,OAAO,EAAE,QAAQ,EAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,WAAmB;QAClC,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE;YAC7C,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,yBAAyB,CAAC,CAAC;SACxE;QACD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE;YACtC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,MAAM,EAAC,OAAO,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACjE,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YACnD,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,KAAK,CAAC;aACd;SACF;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,sBAAsB;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEnD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,sBAAsB;QAC5B,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE;gBAC5B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACxC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,wBAAwB,CAAC,WAAmB;QAClD,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAClD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI,EAAE;gBAC9B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;aAChD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,iBAAiB,CAAC,WAAmB;QAE3C,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,oBAAoB,IAAI,IAAI,EAAE;YAChC,MAAM,IAAI,KAAK,CACX,6BAA6B,WAAW,0BAA0B,CAAC,CAAC;SACzE;QAED,IAAI;YACF,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,EAAE,CAAC;YAC/C;;;;6CAIiC;YACjC,IAAI,OAAO,IAAI,CAAC,CAAC,OAAO,YAAY,aAAa,CAAC;gBAC9C,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE;gBACtC,MAAM,SAAS,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC;gBAC9C,MAAM,OAAO,GACT,OAAO;qBACF,IAAI,CAAC,eAAe,CAAC,EAAE;oBACtB,6DAA6D;oBAC7D,IAAI,SAAS,GAAG,IAAI,CAAC,oBAAoB,EAAE;wBACzC,OAAO,KAAK,CAAC;qBACd;oBACD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC;oBAC7C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAC/B,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC;qBACD,KAAK,CAAC,GAAG,CAAC,EAAE;oBACX,6DAA6D;oBAC7D,IAAI,SAAS,GAAG,IAAI,CAAC,oBAAoB,EAAE;wBACzC,OAAO,KAAK,CAAC;qBACd;oBACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAC/B,OAAO,CAAC,IAAI,CACR,6BAA6B,WAAW,SAAS,CAAC,CAAC;oBACvD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;oBACvC,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC,CAAC;gBACX,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;gBAClC,OAAO,EAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC;aACnC;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,OAAwB,CAAC;gBACtD,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC;aAC1C;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,IAAI,CAAC,6BAA6B,WAAW,SAAS,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YACvC,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC;SAC3C;IACH,CAAC;IAED,aAAa,CAAC,WAAmB;QAC/B,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,gCAAgC,CAAC,CAAC;SACjE;QACD,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE;YACvE,uEAAuE;YACvE,YAAY;YACZ,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;QAED,IAAI,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE;YAChC,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;SACnC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAEzC,qCAAqC;QACrC,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;YACpC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAClD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAClD;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;YACrE,gCAAgC;YAChC,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ;gBACnC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,+BAA+B;QAErC,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,EAAC,OAAO,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACjE,IAAI,SAAS,IAAI,OAAO,EAAE;gBACxB,OAAO,EAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAC,CAAC;aACvC;SACF;QACD,MAAM,IAAI,KAAK,CACX,iEAAiE;YACjE,SAAS,CAAC,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,OAAsB,EAAE,MAAc;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7C,gEAAgE;QAChE,WAAW;QACX,UAAU,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,sBAAsB,EAAE,EAAE;YACjC,mEAAmE;YACnE,uBAAuB;YACvB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;SACzE;IACH,CAAC;IAED,IAAI,CAA4B,QAA2B,EAAE,EAAe;QAE1E,IAAI,IAAI,GAAW,IAAI,CAAC;QACxB,IAAI,EAAE,IAAI,IAAI,EAAE;YACd,+BAA+B;YAC/B,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;gBAClC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aACxD;YACD,EAAE,GAAG,QAAQ,CAAC;SACf;aAAM;YACL,2BAA2B;YAC3B,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,YAAY,MAAM,CAAC,EAAE;gBACjE,MAAM,IAAI,KAAK,CACX,sDAAsD;oBACtD,4BAA4B,CAAC,CAAC;aACnC;YACD,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;gBAC5B,MAAM,IAAI,KAAK,CACX,oDAAoD;oBACpD,8BAA8B,CAAC,CAAC;aACrC;YACD,IAAI,GAAG,QAAkB,CAAC;YAC1B,+DAA+D;YAC/D,aAAa;SACd;QACD,IAAI,MAAS,CAAC;QACd,OAAO,IAAI,CAAC,SAAS,CACjB,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE;YAC7D,MAAM,GAAG,EAAE,EAAE,CAAC;YACd,IAAI,MAAM,YAAY,OAAO,EAAE;gBAC7B,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC1D;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACT,CAAC;IAEO,SAAS,CAAI,KAAiB,EAAE,GAAe,EAAE,CAAU;QACjE,KAAK,EAAE,CAAC;QACR,IAAI;YACF,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;YAChB,GAAG,EAAE,CAAC;YACN,OAAO,GAAG,CAAC;SACZ;QAAC,OAAO,EAAE,EAAE;YACX,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,CAAC;SACV;IACH,CAAC;IAGO,YAAY;QAClB,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC;IAC/B,CAAC;IAGO,cAAc;QACpB,OAAO,MAAM,CAAC,cAAc,EAAE,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,CAAS;QACrB,MAAM,CAAC,GAAW,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,CAAC,EAAyB,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,EAAC,CAAC,EAAC,CAAC;QACnB,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC,EAAE,GAAG,EAAE;gBACN,MAAM,KAAK,GAAG,SAAS,CAAC;gBACxB,MAAM,UAAU,GAAG,EAAC,CAAC,EAAE,EAAE,EAAC,CAAC;gBAC3B,MAAM,KAAK,GAAG,EAAC,KAAK,EAAC,CAAC;gBAEtB,OAAO,MAAM,CAAC,SAAS,CACZ,IAAI,EAAE,UAAkC;gBACxC,0DAA0D;gBAC1D,KAA2B,CAAW,CAAC;YACpD,CAAC;SACF,CAAC,CAAC;QACH,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5E,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,SAAS,CACL,UAAkB,EAAE,MAAsB,EAAE,KAAoB;QAClE,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;QAClE,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,iCACjC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;SAC1B;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,EAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC;IACzD,CAAC;IAEO,sBAAsB;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAEO,qBAAqB,CACzB,UAAkB,EAAE,gBAAwB,EAC5C,QAAsB;QACxB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAElD,yEAAyE;QACzE,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACtB,+DAA+D;YAC/D,oEAAoE;YACpE,gBAAgB,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,yEAAyE;QACzE,4EAA4E;QAC5E,sEAAsE;QACtE,2EAA2E;QAC3E,+BAA+B;QAC/B,MAAM,QAAQ,GACV,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1E,MAAM,aAAa,GACf,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,QAAQ,CAAC;QACrE,IAAI,aAAa,GAAG,CAAC,EAAE;YACrB,MAAM,IAAI,KAAK,CACX,YAAY,IAAI,CAAC,WAAW,gCAAgC;gBAC5D,IAAI,aAAa,6BAA6B,UAAU,GAAG,CAAC,CAAC;SAClE;IACH,CAAC;IAED;;;;OAIG;IACK,aAAa,CACjB,YACgC;QAClC,IAAI,OAAiB,CAAC;QACtB,IAAI,KAAK,GAAa,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAEjD,IAAI,IAAI,CAAC,sBAAsB,EAAE,EAAE;YACjC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACtC;QAED,IAAI,UAA0B,CAAC;QAC/B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,uEAAuE;YACvE,+CAA+C;YAC/C,oEAAoE;YACpE,mDAAmD;YACnD,iDAAiD;YACjD,IAAI,CAAC,OAAO,CAAC;SACd;QAED,IAAI,GAA4B,CAAC;QAEjC,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,YAAY,CAAC,CAAC,CAAC;YAClE,YAAY,CAAC,UAAU,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAEtE,qEAAqE;QACrE,sEAAsE;QACtE,kEAAkE;QAElE,IAAI,4BAA4B,CAAC,YAAY,CAAC,EAAE;YAC9C,MAAM,EAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAC,GAAG,YAAY,CAAC;YACjD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;gBAC5B,uEAAuE;gBACvE,+CAA+C;gBAC/C,oEAAoE;gBACpE,mDAAmD;gBACnD,iDAAiD;gBACjD,IAAI,CAAC,OAAO,CAAC;aACd;YACD,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,CACP,MAAM,IAAI,IAAI,EACd,GAAG,EAAE,CAAC,kCAAkC,UAAU,kBAC9C,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YAE7B,UAAU,GAAG,GAAG,EAAE;gBAChB,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBACnD,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,CAAC,CAAC;gBAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAClD,IAAI,IAAI,CAAC,sBAAsB,EAAE,EAAE;oBACjC,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;iBACpE;gBAED,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAA0B,EAAE,EAAE;oBAC7D,gEAAgE;oBAChE,gEAAgE;oBAChE,4CAA4C;oBAC5C,IAAK,OAAkB,CAAC,IAAI,IAAI,IAAI,EAAE;wBACpC,OAAO,OAAiB,CAAC;qBAC1B;oBACD,MAAM,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAC,GAAG,OAAqB,CAAC;oBACrD,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBACzD,CAAC,CAAC,CAAC;gBAEH,wCAAwC;gBAExC,sEAAsE;gBACtE,sEAAsE;gBACtE,wCAAwC;gBACxC,IAAI,QAAQ,EAAE;oBACZ,MAAM,aAAa,GACf,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;oBAC/D,KAAK,GAAG,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC;iBACxD;gBACD,OAAO,UAAU,CAAC;YACpB,CAAC,CAAC;SACH;aAAM;YACL,MAAM,EAAC,WAAW,EAAC,GAAG,YAAY,CAAC;YACnC,2BAA2B;YAC3B,MAAM,QAAQ,GAAiB,CAAC,OAAO,EAAE,EAAE;gBACzC,sEAAsE;gBACtE,qEAAqE;gBACrE,oBAAoB;gBACpB,IAAI,CAAC,QAAQ,EAAE;oBACb,OAAO;iBACR;gBACD,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC;YAEF,UAAU,GAAG,GAAG,EAAE;gBAChB,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBACnD,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC3D,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAa,CAAC;gBAC5D,IAAI,IAAI,CAAC,sBAAsB,EAAE,EAAE;oBACjC,sEAAsE;oBACtE,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;iBACvE;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;SACH;QAED,EAAE;QACF,+CAA+C;QAC/C,EAAE;QACF,MAAM,EAAC,MAAM,EAAE,KAAK,EAAC,GAAG,YAAY,CAAC;QACrC,MAAM,aAAa,GAAG,4BAA4B,CAAC,YAAY,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,CAAC;YACN,YAAY,CAAC,aAAa,CAAC;QAE/B,IAAI,aAA4B,CAAC;QACjC,IAAI,CAAC,SAAS;QACV,kDAAkD;QAClD,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE;YACnE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;gBACvD,OAAO,GAAG,UAAU,EAAE,CAAC;aACxB;iBAAM;gBACL,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CACvC,iBAAiB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;gBACnD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC7B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;iBAC/C;gBACD,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;QAEP,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,WAAW,CACZ,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;SACtE;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YACxB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;gBACpC,IAAI,EAAE,iBAAiB;gBACvB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,iBAAiB;gBACnD,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBACvC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,kBAAkB;gBACxD,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;gBAC3C,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAChC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1D,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC7C,YAAY,EAAE,aAAa,CAAC,MAAM;gBAClC,SAAS,EAAE,aAAa,CAAC,SAAS;aACnC,CAAC,CAAC;SACJ;QACD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAM,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACK,0BAA0B,CAAC,OAAiB;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACK,qBAAqB,CACzB,UAAkB,EAAE,MAAsB,EAC1C,OAAiB;QACnB,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,MAAM,YAAY,GAAa,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC;YAC7D,MAAM,aAAa,GAAc,UAAU,CAAC,aAAa,IAAI,EAAE,CAAC;YAEhE,wEAAwE;YACxE,2CAA2C;YAC3C,IAAI,kBAA4B,CAAC;YACjC,IAAI,UAAU,CAAC,aAAa,EAAE;gBAC5B,IAAI,CAAC,MAAM,CACP,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EACrB,GAAG,EAAE,CAAC,wDAAwD,CAAC,CAAC;gBAEpE,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;aACpE;iBAAM;gBACL,kBAAkB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;aACzE;YAED,MAAM,mBAAmB,GACrB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAE/C,OAAO,kBAAkB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;SACvD;QACD,2EAA2E;QAC3E,yEAAyE;QACzE,mBAAmB;QACnB,EAAE;QACF,yEAAyE;QACzE,uCAAuC;QACvC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,UAAU,CACN,MAAkB,EAAE,KAAe,EAAE,KAAe,EACpD,OAAuB;QACzB,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SAClE;QACD,KAAK,GAAG,KAAK,IAAI,SAAS,CAAC;QAC3B,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;QAClC,IAAI,WAAW,GAAG,MAAuB,CAAC;QAC1C,IAAI,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;YAClD,WAAW,GAAI,MAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;SACnE;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAE7B,kCAAkC;QAClC,IAAI,KAAK,KAAK,QAAQ,EAAE;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,WAA2B,CAAC,CAAC;YACnE,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;YAC7C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;SACvB;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAChB,MAAc,EAAE,KAAe,EAAE,KAAe,EAChD,OAAuB;QACzB,KAAK,GAAG,KAAK,IAAI,SAAS,CAAC;QAC3B,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,YAAY,CACR,YAAoB,EAAE,SAAS,GAAG,IAAI,EAAE,IAAa,EACrD,KAAgB;QAClB,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,CAAC;QAChD,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,YAAY,CAAC,KAAK,EAAE;YACjD,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACzC;QACD,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC3E,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;YAClD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,IAAI,yBAAyB,CAAC,CAAC;SACxE;QACD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,WAAW,CAAC,CAAS,EAAE,OAAsB;QAC3C,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE;YACxB,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;SAC/B;QACD,uEAAuE;QACvE,kDAAkD;QAClD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE;YACnD,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAChD;QACD,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;YACxC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;gBAClC,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO;gBAChC,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,KAAK;aACN,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,CAAC,CAAC,YAAY,QAAQ,CAAC,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACf;IACH,CAAC;IAED,6EAA6E;IAC7E,WAAW;IACX,6EAA6E;IAC7E,8EAA8E;IAC9E,kDAAkD;IAClD,MAAM,CAAC,CAAS,EAAE,OAAsB;QACtC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,YAAY,CAAC,MAAc,EAAE,OAAsB;QACjD,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,OAAO,EAAE;YACzD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;SAC7B;IACH,CAAC;IACD,aAAa,CAAC,CAAS;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;YACxC,OAAO;SACR;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAEjD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE;YACxB,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC;SACnC;QACD,qEAAqE;QACrE,cAAc;QACd,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE;YACnD,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACrD,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC;SAC9B;QAED,0EAA0E;QAC1E,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;YACtC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SAC3C;QAED,kEAAkE;QAClE,wEAAwE;QACxE,yBAAyB;IAC3B,CAAC;IAED,gBAAgB;QACd,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE;YACpD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;SACzB;IACH,CAAC;IAED,eAAe,CAAC,CAAW;QACzB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;YAClD,OAAO,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAgB,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QACpC,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,EAAE;YACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;gBACxB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;aACnB;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,CACb,gDAAgD;gBAChD,yBAAyB,CAAC,CAAC;SAChC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAyD;QAErE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QACvC,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAE9C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,MAAM,KAAK,EAAE,CAAC;QAEhD,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;QAE7B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CACzC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACrE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU;YAC/B,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,eAAe,CAAC;QAC5C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;YACrD,MAAM,CAAC,YAAY,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;YAChD,MAAM,CAAC,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC;SAC3C;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;IAClC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,CAAC;IACtE,CAAC;IAEO,WAAW,CACf,UAAkB,EAAE,MAAsB,EAAE,OAAiB,EAC7D,aAAuB,EAAE,KAAe,EAAE,KAAmB;QAC/D,MAAM,QAAQ,GACV,EAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC;QAE1E,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC;SACrC;QACD,IAAI,aAAa,IAAI,IAAI,EAAE;YACzB,QAAQ,CAAC,QAAQ,GAAG,CAAC,GAAa,EAAE,EAAE;gBACpC,sEAAsE;gBACtE,0DAA0D;gBAC1D,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;oBACtB,IAAI,EAAE,IAAI,IAAI,EAAE;wBACd,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;wBACjE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;qBAC1D;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBACH,mEAAmE;gBACnE,kDAAkD;gBAClD,OAAO,aAAa,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACpE,CAAC,CAAC;SACH;QACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAmB,MAAS;QAC9B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;SAC5B;QACD,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,IAAa;QACtB,MAAM,SAAS,GAAe;YAC5B,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,eAAe;YACrB,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;SAC7B,CAAC;QACF,IAAI,IAAI,EAAE;YACR,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;SACvB;QACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,MAAwB;QAC/B,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,yBAAyB,GAC3B,IAAI,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEnD,4CAA4C;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;gBAC7D,MAAM,CAAC,OAAO,EAAE,CAAC;aAClB;SACF;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE5D,gDAAgD;QAChD,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACtC,uEAAuE;YACvE,iBAAiB;YACjB,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,EAAE,EAAE;gBAClD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aACpB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,SAAS,CACL,CAAU,EAAE,EAAY,EAAE,EAAM,EAChC,gBAAgB,GAAG,KAAK;QAC1B,IAAI,CAAC,MAAM,CACP,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,2CAA2C,CAAC,CAAC;QACtE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,0CAA0C,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;SACxE;QAED,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CACpB,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAC5C,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;QAEnC,IAAI,CAAC,MAAM,CACP,CAAC,YAAY,MAAM,EACnB,GAAG,EAAE,CAAC,gDAAgD,CAAC,CAAC;QAC5D,kDAAkD;QAClD,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,gBAAgB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;YACnE,MAAM,IAAI,KAAK,CACX,iEAAiE;gBACjE,iEAAiE;gBACjE,OAAO,CAAC,CAAC;SACd;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;YAChC,MAAM,sBAAsB,GAAiC,EAAE,CAAC;YAChE,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEjE,iDAAiD;YACjD,sBAAsB,CAClB,sBAAsB,EAAE,YAAY;YACpC,+DAA+D;YAC/D,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAoB,CAAC;YACpC,gEAAgE;YAChE,GAAG,CAAC,CAAC;YACT,MAAM,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAExD,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,EAAE;gBAClC,8DAA8D;gBAC9D,6BAA6B;gBAC7B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACnC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE;wBAC/B,MAAM,CAAC,OAAO,EAAE,CAAC;qBAClB;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;aAC9B;YACD,OAAO,EAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAmB,CAAwB;QAEnD,IAAI,CAAC,MAAM,CACP,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAClB,GAAG,EAAE,CAAC,mDAAmD,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,MAAgB,EAAK,EAAE;YAChC,IAAI,CAAC,MAAM,CACP,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,MAAM,CAAC,EACtC,GAAG,EAAE,CAAC,2DAA2D;gBAC7D,SAAS,CAAC,CAAC;YAEnB,IAAI,GAGH,CAAC;YACF,MAAM,QAAQ,GAAmB,EAAE,CAAC;YACpC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC1B,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;gBAC9C,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,MAAM,CACP,GAAG,CAAC,KAAK,YAAY,MAAM,EAC3B,GAAG,EAAE,CAAC,wDAAwD;oBAC1D,sCAAsC,CAAC,CAAC;gBAChD,IAAI,CAAC,MAAM,CACP,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAC7B,GAAG,EAAE,CAAC,wDAAwD;oBAC1D,4CAA4C,CAAC,CAAC;gBACtD,OAAO,GAAG,CAAC,KAAK,CAAC;YACnB,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAK,EAAE,KAAe,EAAE,EAAE;gBAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACxC,MAAM,KAAK,GAAa,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACrE,IAAI,CAAC,MAAM,CACP,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAC9B,GAAG,EAAE,CAAC,wDAAwD;oBAC1D,yDAAyD;oBACzD,wDAAwD,CAAC,CAAC;gBAClE,IAAI,CAAC,MAAM,CACP,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,MAAM,CAAC,EACrC,GAAG,EAAE,CAAC,wDAAwD;oBAC1D,yDAAyD;oBACzD,yBAAyB,CAAC,CAAC;gBACnC,MAAM,OAAO,GAAkC,EAAE,CAAC;gBAClD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;oBACxB,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBACH,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC;YAEF,OAAO,IAAI,CAAC,aAAa,CAAC;gBACxB,WAAW;gBACX,aAAa;gBACb,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,MAAc;QACrB,yCAAyC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAc;QACjB,yCAAyC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAiB;QAC1B,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAe,CAAC;QAChE,UAAU,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC;QAClC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAmB,MAAS;QACvC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,EAAE;YAClC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC3C;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,qCAAqC;QACrC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;QAE/B,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE;YACvC,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;SACnC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,CAAC;;AA7vBc,mBAAY,GAAG,CAAC,CAAC;AAKjB,qBAAc,GAAG,CAAC,CAAC;AA2vBpC,SAAS,IAAI,CAAC,KAAe;IAC3B,MAAM,MAAM,GAAG,kBAAkB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,EAAE,GAAG,kBAAkB,EAA+B,CAAC;IAC7D,IAAI,EAAE,CAAC,SAAS,IAAI,IAAI,EAAE;QACxB,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;QACxC,EAAE,CAAC,SAAS,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;KACxC;IACD,oBAAoB,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAEvC,0EAA0E;IAC1E,gBAAgB;IAChB,gBAAgB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IACrC,OAAO,EAAE,CAAC,SAAS,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;AAExC;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,CAAS;IACtC,oEAAoE;IACpE,MAAM,MAAM,GAAG,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC;IACtB,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAA8B,CAAC,CAAC;AAC/D,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 */\n\nimport {BackendTimingInfo, DataMover, KernelBackend} from './backends/backend';\nimport {Environment, setEnvironmentGlobal} from './environment';\nimport {getGlobalNamespace} from './global_util';\nimport {Add, Cast, Identity} from './kernel_names';\nimport {getGradient, getKernel, getKernelsForBackend, GradFunc, NamedAttrMap, TensorInfo} from './kernel_registry';\nimport {KernelProfile, Profiler} from './profiler';\nimport {backpropagateGradients, getFilteredNodesXToY, TapeNode} from './tape';\nimport {DataId, setTensorTracker, Tensor, TensorTracker, Variable} from './tensor';\nimport {GradSaveFunc, NamedTensorMap, NamedVariableMap, TensorContainer} from './tensor_types';\nimport {getTensorsInContainer} from './tensor_util';\nimport {BackendValues, DataType, DataValues} from './types';\nimport * as util from './util';\nimport {bytesFromStringArray, makeOnesTypedArray, now, sizeFromShape} from './util';\n\n/**\n * A function that computes an output. The save function is for saving tensors\n * computed in the forward pass, that we need in the backward pass.\n */\nexport type ForwardFunc = (backend: KernelBackend, save?: GradSaveFunc) => T;\n\n/**\n * @docalias (a: Tensor, b: Tensor,..., save?: Function) => {\n * value: Tensor,\n * gradFunc: (dy: Tensor, saved?: NamedTensorMap) => Tensor | Tensor[]\n * }\n */\nexport type CustomGradientFunc =\n (...inputs: Array) => {\n value: T;\n gradFunc: (dy: T, saved: Tensor[]) => Tensor | Tensor[];\n };\n\nexport type MemoryInfo = {\n numTensors: number; numDataBuffers: number; numBytes: number;\n unreliable?: boolean; reasons: string[];\n};\n\ntype KernelInfo = {\n name: string; bytesAdded: number; totalBytesSnapshot: number;\n tensorsAdded: number;\n totalTensorsSnapshot: number;\n inputShapes: number[][];\n outputShapes: number[][];\n kernelTimeMs: number | {error: string} | Promise;\n extraInfo: string | Promise;\n};\n\nexport type ProfileInfo = {\n newBytes: number; newTensors: number; peakBytes: number;\n kernels: KernelInfo[];\n result: TensorContainer;\n kernelNames: string[];\n};\n\nexport interface TimingInfo extends BackendTimingInfo {\n wallMs: number;\n}\n\n/** @docalias Function */\nexport type ScopeFn = () => T;\n\ninterface ScopeState {\n track: Tensor[];\n name: string;\n id: number;\n}\n\ninterface RegisteredKernelInvocation {\n kernelName: string;\n inputs: I;\n attrs?: NamedAttrMap;\n}\n\ninterface CustomGradKernelInvocation {\n forwardFunc: ForwardFunc;\n backwardsFunc: (dy: T, saved: Tensor[]) => {\n [P in keyof I]: () => I[P]\n };\n inputs: I;\n attrs?: NamedAttrMap;\n}\n\nfunction isRegisteredKernelInvocation(\n kernelInvocation: RegisteredKernelInvocation|\n CustomGradKernelInvocation):\n kernelInvocation is RegisteredKernelInvocation {\n return (kernelInvocation as RegisteredKernelInvocation).kernelName != null;\n}\n\nclass EngineState {\n // Public since optimizers will use it.\n registeredVariables: NamedVariableMap = {};\n\n nextTapeNodeId = 0;\n numBytes = 0;\n numTensors = 0;\n numStringTensors = 0;\n numDataBuffers = 0;\n\n activeTape: TapeNode[];\n // Number of nested tf.grad() statements when computing higher-order\n // gradients. E.g. `1` for first-order gradients and `2` for second-order\n // gradients. Used to track if the tape should be removed after a backprop.\n gradientDepth = 0;\n // Number of nested kernel calls. When kernel depth is greater than 1, we turn\n // off the tape.\n kernelDepth = 0;\n\n // Keep Tensors that parallel the tapes.\n activeScope: ScopeState;\n scopeStack: ScopeState[] = [];\n /**\n * Keeps track of the number of data moves during a kernel execution. We\n * maintain a stack since kernels can call other kernels, recursively.\n */\n numDataMovesStack: number[] = [];\n nextScopeId = 0;\n\n tensorInfo = new WeakMap();\n\n profiling = false;\n activeProfile: ProfileInfo = {\n newBytes: 0,\n newTensors: 0,\n peakBytes: 0,\n kernels: [],\n result: null,\n get kernelNames():\n string[] {\n return Array.from(new Set(this.kernels.map(k => k.name)));\n }\n };\n\n dispose() {\n for (const variableName in this.registeredVariables) {\n this.registeredVariables[variableName].dispose();\n }\n }\n}\n\nexport class Engine implements TensorTracker, DataMover {\n state: EngineState;\n backendName: string;\n registry: {[id: string]: KernelBackend} = {};\n registryFactory: {\n [id: string]: {\n factory: () => KernelBackend | Promise,\n priority: number\n }\n } = {};\n\n private profiler: Profiler;\n private backendInstance: KernelBackend;\n private pendingBackendInit: Promise;\n private pendingBackendInitId = 0;\n\n constructor(public ENV: Environment) {\n this.state = new EngineState();\n }\n\n async ready(): Promise {\n if (this.pendingBackendInit != null) {\n return this.pendingBackendInit.then(() => {});\n }\n if (this.backendInstance != null) {\n return;\n }\n const sortedBackends = this.getSortedBackends();\n\n for (let i = 0; i < sortedBackends.length; i++) {\n const backendName = sortedBackends[i];\n const success = await this.initializeBackend(backendName).success;\n if (success) {\n await this.setBackend(backendName);\n return;\n }\n }\n\n throw new Error(\n `Could not initialize any backends, all backend initializations ` +\n `failed.`);\n }\n\n get backend(): KernelBackend {\n if (this.pendingBackendInit != null) {\n throw new Error(\n `Backend '${this.backendName}' has not yet been initialized. Make ` +\n `sure to await tf.ready() or await tf.setBackend() before calling ` +\n `other methods`);\n }\n if (this.backendInstance == null) {\n const {name, asyncInit} = this.initializeBackendsAndReturnBest();\n if (asyncInit) {\n throw new Error(\n `The highest priority backend '${name}' has not yet been ` +\n `initialized. Make sure to await tf.ready() or ` +\n `await tf.setBackend() before calling other methods`);\n }\n this.setBackend(name);\n }\n return this.backendInstance;\n }\n\n backendNames(): string[] {\n return Object.keys(this.registryFactory);\n }\n\n findBackend(backendName: string): KernelBackend {\n if (!(backendName in this.registry)) {\n // If the backend hasn't been initialized but we have a registry entry for\n // it, initialize it and return it.\n if (backendName in this.registryFactory) {\n const {asyncInit} = this.initializeBackend(backendName);\n if (asyncInit) {\n // Backend is not ready yet.\n return null;\n }\n } else {\n return null;\n }\n }\n return this.registry[backendName];\n }\n\n findBackendFactory(backendName: string):\n () => KernelBackend | Promise {\n if (!(backendName in this.registryFactory)) {\n return null;\n }\n return this.registryFactory[backendName].factory;\n }\n\n registerBackend(\n backendName: string,\n factory: () => KernelBackend | Promise,\n priority = 1): boolean {\n if (backendName in this.registryFactory) {\n console.warn(\n `${backendName} backend was already registered. ` +\n `Reusing existing backend factory.`);\n return false;\n }\n this.registryFactory[backendName] = {factory, priority};\n return true;\n }\n\n async setBackend(backendName: string): Promise {\n if (this.registryFactory[backendName] == null) {\n throw new Error(`Backend name '${backendName}' not found in registry`);\n }\n this.backendName = backendName;\n if (this.registry[backendName] == null) {\n this.backendInstance = null;\n const {success, asyncInit} = this.initializeBackend(backendName);\n const result = asyncInit ? await success : success;\n if (!result) {\n return false;\n }\n }\n this.backendInstance = this.registry[backendName];\n this.setupRegisteredKernels();\n // Reset the profiler.\n this.profiler = new Profiler(this.backendInstance);\n\n return true;\n }\n\n private setupRegisteredKernels(): void {\n const kernels = getKernelsForBackend(this.backendName);\n kernels.forEach(kernel => {\n if (kernel.setupFunc != null) {\n kernel.setupFunc(this.backendInstance);\n }\n });\n }\n\n private disposeRegisteredKernels(backendName: string): void {\n const kernels = getKernelsForBackend(backendName);\n kernels.forEach(kernel => {\n if (kernel.disposeFunc != null) {\n kernel.disposeFunc(this.registry[backendName]);\n }\n });\n }\n\n /**\n * Initializes a backend by looking up the backend name in the factory\n * registry and calling the factory method. Returns a boolean representing\n * whether the initialization of the backend suceeded. Throws an error if\n * there is no backend in the factory registry.\n */\n private initializeBackend(backendName: string):\n {success: boolean|Promise, asyncInit: boolean} {\n const registryFactoryEntry = this.registryFactory[backendName];\n if (registryFactoryEntry == null) {\n throw new Error(\n `Cannot initialize backend ${backendName}, no registration found.`);\n }\n\n try {\n const backend = registryFactoryEntry.factory();\n /* Test if the factory returns a promise.\n Done in a more liberal way than\n previous 'Promise.resolve(backend)===backend'\n as we needed to account for custom Promise\n implementations (e.g. Angular) */\n if (backend && !(backend instanceof KernelBackend) &&\n typeof backend.then === 'function') {\n const promiseId = ++this.pendingBackendInitId;\n const success =\n backend\n .then(backendInstance => {\n // Outdated promise. Another backend was set in the meantime.\n if (promiseId < this.pendingBackendInitId) {\n return false;\n }\n this.registry[backendName] = backendInstance;\n this.pendingBackendInit = null;\n return true;\n })\n .catch(err => {\n // Outdated promise. Another backend was set in the meantime.\n if (promiseId < this.pendingBackendInitId) {\n return false;\n }\n this.pendingBackendInit = null;\n console.warn(\n `Initialization of backend ${backendName} failed`);\n console.warn(err.stack || err.message);\n return false;\n });\n this.pendingBackendInit = success;\n return {success, asyncInit: true};\n } else {\n this.registry[backendName] = backend as KernelBackend;\n return {success: true, asyncInit: false};\n }\n } catch (err) {\n console.warn(`Initialization of backend ${backendName} failed`);\n console.warn(err.stack || err.message);\n return {success: false, asyncInit: false};\n }\n }\n\n removeBackend(backendName: string): void {\n if (!(backendName in this.registryFactory)) {\n throw new Error(`${backendName} backend not found in registry`);\n }\n if (this.backendName === backendName && this.pendingBackendInit != null) {\n // There is a pending promise of the backend we want to remove. Make it\n // obsolete.\n this.pendingBackendInitId++;\n }\n\n if (backendName in this.registry) {\n this.disposeRegisteredKernels(backendName);\n this.registry[backendName].dispose();\n delete this.registry[backendName];\n }\n\n delete this.registryFactory[backendName];\n\n // Unset the backend if it is active.\n if (this.backendName === backendName) {\n this.pendingBackendInit = null;\n this.backendName = null;\n this.backendInstance = null;\n }\n }\n\n private getSortedBackends(): string[] {\n if (Object.keys(this.registryFactory).length === 0) {\n throw new Error('No backend found in registry.');\n }\n return Object.keys(this.registryFactory).sort((a: string, b: string) => {\n // Highest priority comes first.\n return this.registryFactory[b].priority -\n this.registryFactory[a].priority;\n });\n }\n\n private initializeBackendsAndReturnBest():\n {name: string, asyncInit: boolean} {\n const sortedBackends = this.getSortedBackends();\n\n for (let i = 0; i < sortedBackends.length; i++) {\n const backendName = sortedBackends[i];\n const {success, asyncInit} = this.initializeBackend(backendName);\n if (asyncInit || success) {\n return {name: backendName, asyncInit};\n }\n }\n throw new Error(\n `Could not initialize any backends, all backend initializations ` +\n `failed.`);\n }\n\n moveData(backend: KernelBackend, dataId: DataId) {\n const info = this.state.tensorInfo.get(dataId);\n const srcBackend = info.backend;\n const values = this.readSync(dataId);\n const refCount = srcBackend.refCount(dataId);\n // Delete the tensor from the old backend and move it to the new\n // backend.\n srcBackend.disposeData(dataId, true);\n info.backend = backend;\n backend.move(dataId, values, info.shape, info.dtype, refCount);\n if (this.shouldCheckForMemLeaks()) {\n // Track the number of moves during a kernel execution to correctly\n // detect memory leaks.\n this.state.numDataMovesStack[this.state.numDataMovesStack.length - 1]++;\n }\n }\n\n tidy(nameOrFn: string|ScopeFn, fn?: ScopeFn):\n T {\n let name: string = null;\n if (fn == null) {\n // Called with only 1 argument.\n if (typeof nameOrFn !== 'function') {\n throw new Error('Please provide a function to tidy()');\n }\n fn = nameOrFn;\n } else {\n // Called with 2 arguments.\n if (typeof nameOrFn !== 'string' && !(nameOrFn instanceof String)) {\n throw new Error(\n 'When calling with two arguments, the first argument ' +\n 'to tidy() must be a string');\n }\n if (typeof fn !== 'function') {\n throw new Error(\n 'When calling with two arguments, the 2nd argument ' +\n 'to tidy() must be a function');\n }\n name = nameOrFn as string;\n // TODO(nsthorat,smilkov): Do operation logging and performance\n // profiling.\n }\n let result: T;\n return this.scopedRun(\n () => this.startScope(name), () => this.endScope(result), () => {\n result = fn();\n if (result instanceof Promise) {\n console.error('Cannot return a Promise inside of tidy.');\n }\n return result;\n });\n }\n\n private scopedRun(start: () => void, end: () => void, f: () => T): T {\n start();\n try {\n const res = f();\n end();\n return res;\n } catch (ex) {\n end();\n throw ex;\n }\n }\n\n private static nextTensorId = 0;\n private nextTensorId(): number {\n return Engine.nextTensorId++;\n }\n\n private static nextVariableId = 0;\n private nextVariableId(): number {\n return Engine.nextVariableId++;\n }\n\n /**\n * This method is called instead of the public-facing tensor.clone() when\n * saving a tensor for backwards pass. It makes sure to add the clone\n * operation to the tape regardless of being called inside a kernel\n * execution.\n */\n private clone(x: Tensor): Tensor {\n const y: Tensor = ENGINE.runKernel(Identity, {x} as {} as NamedTensorMap);\n const inputs = {x};\n const grad = (dy: Tensor) => ({\n x: () => {\n const dtype = 'float32';\n const gradInputs = {x: dy};\n const attrs = {dtype};\n\n return ENGINE.runKernel(\n Cast, gradInputs as {} as NamedTensorMap,\n // tslint:disable-next-line: no-unnecessary-type-assertion\n attrs as {} as NamedAttrMap) as Tensor;\n }\n });\n const saved: Tensor[] = [];\n this.addTapeNode(this.state.activeScope.name, inputs, [y], grad, saved, {});\n return y;\n }\n\n /**\n * Execute a kernel with the given name and return the output tensor.\n *\n * @param kernelName The name of the kernel to execute.\n * @param inputs A map of input names to tensors.\n * @param attrs A map of attribute names to their values. An attribute is a\n * primitive (non-tensor) input to the kernel.\n * @param inputsToSave A list of tensors, inputs to save for the backprop\n * computation.\n * @param outputsToSave A list of booleans, specifying which output to save\n * for the backprop computation. These are booleans since the output\n * tensors are not visible to the user.\n */\n runKernel(\n kernelName: string, inputs: NamedTensorMap, attrs?: NamedAttrMap): T {\n const hasKernel = getKernel(kernelName, this.backendName) != null;\n if (!hasKernel) {\n throw new Error(`Kernel '${kernelName}' not registered for backend '${\n this.backendName}'`);\n }\n return this.runKernelFunc({kernelName, inputs, attrs});\n }\n\n private shouldCheckForMemLeaks(): boolean {\n return this.ENV.getBool('IS_TEST');\n }\n\n private checkKernelForMemLeak(\n kernelName: string, numDataIdsBefore: number,\n outInfos: TensorInfo[]): void {\n const numDataIdsAfter = this.backend.numDataIds();\n\n // Count the number of data ids associated with the result of the kernel.\n let numOutputDataIds = 0;\n outInfos.forEach(info => {\n // Complex numbers allocate 3 data ids, one for 'real', one for\n // 'imaginary', and one for the container that holds the former two.\n numOutputDataIds += (info.dtype === 'complex64' ? 3 : 1);\n });\n\n // Account for the number of moves during kernel execution. A \"data move\"\n // can happen in the middle of a kernel execution, placing a new (key,value)\n // pair in the data storage. Since data moves have net zero effect (we\n // always remove the data from the old backend), we have to cancel them out\n // when detecting memory leaks.\n const numMoves =\n this.state.numDataMovesStack[this.state.numDataMovesStack.length - 1];\n const dataIdsLeaked =\n numDataIdsAfter - numDataIdsBefore - numOutputDataIds - numMoves;\n if (dataIdsLeaked > 0) {\n throw new Error(\n `Backend '${this.backendName}' has an internal memory leak ` +\n `(${dataIdsLeaked} data ids) after running '${kernelName}'`);\n }\n }\n\n /**\n * Internal helper method to execute a kernel Func\n *\n * Use `runKernel` to execute kernels from outside of engine.\n */\n private runKernelFunc(\n kernelParams: RegisteredKernelInvocation|\n CustomGradKernelInvocation): T {\n let outputs: Tensor[];\n let saved: Tensor[] = [];\n const isTapeOn = this.isTapeOn();\n\n const startingBytecount = this.state.numBytes;\n const startingNumTensors = this.state.numTensors;\n\n if (this.shouldCheckForMemLeaks()) {\n this.state.numDataMovesStack.push(0);\n }\n\n let kernelFunc: () => Tensor[];\n if (this.backendName == null) {\n // backend has not been initialized yet (backend initialization is lazy\n // can be deferred until an op/ kernel is run).\n // The below getter has side effects that will try to initialize the\n // backend and set properties like this.backendName\n // tslint:disable-next-line: no-unused-expression\n this.backend;\n }\n\n let out: TensorInfo|TensorInfo[];\n\n const kernelOrScopeName = isRegisteredKernelInvocation(kernelParams) ?\n kernelParams.kernelName :\n this.state.activeScope != null ? this.state.activeScope.name : '';\n\n // Create the kernelFunc from either a registered kernel OR passed in\n // forward/backward functions (used by custom grad). In this context a\n // kernelFunc wraps a kernel implementation with some bookkeeping.\n\n if (isRegisteredKernelInvocation(kernelParams)) {\n const {kernelName, inputs, attrs} = kernelParams;\n if (this.backendName == null) {\n // backend has not been initialized yet (backend initialization is lazy\n // can be deferred until an op/ kernel is run).\n // The below getter has side effects that will try to initialize the\n // backend and set properties like this.backendName\n // tslint:disable-next-line: no-unused-expression\n this.backend;\n }\n const kernel = getKernel(kernelName, this.backendName);\n util.assert(\n kernel != null,\n () => `Cannot find registered kernel '${kernelName}' for backend '${\n this.backendName}'`);\n\n kernelFunc = () => {\n const numDataIdsBefore = this.backend.numDataIds();\n out = kernel.kernelFunc({inputs, attrs, backend: this.backend});\n const outInfos = Array.isArray(out) ? out : [out];\n if (this.shouldCheckForMemLeaks()) {\n this.checkKernelForMemLeak(kernelName, numDataIdsBefore, outInfos);\n }\n\n const outTensors = outInfos.map((outInfo: TensorInfo|Tensor) => {\n // todo (yassogba) remove this option (Tensor) when node backend\n // methods have been modularized and they all return tensorInfo.\n // TensorInfos do not have a rank attribute.\n if ((outInfo as Tensor).rank != null) {\n return outInfo as Tensor;\n }\n const {dataId, shape, dtype} = outInfo as TensorInfo;\n return this.makeTensorFromDataId(dataId, shape, dtype);\n });\n\n // Save any required inputs and outputs.\n\n // Do not save unless we are recording to the tape. Otherwise it would\n // cause a mem leak since there would be no backprop for these tensors\n // (which would otherwise dispose them).\n if (isTapeOn) {\n const tensorsToSave =\n this.getTensorsForGradient(kernelName, inputs, outTensors);\n saved = this.saveTensorsForBackwardMode(tensorsToSave);\n }\n return outTensors;\n };\n } else {\n const {forwardFunc} = kernelParams;\n // Running a customGrad op.\n const saveFunc: GradSaveFunc = (tensors) => {\n // Do not save unless we are recording to the tape. Otherwise it would\n // cause a mem leak since we would never run backprop, which disposes\n // the kept tensors.\n if (!isTapeOn) {\n return;\n }\n saved = tensors.map(tensor => this.keep(this.clone(tensor)));\n };\n\n kernelFunc = () => {\n const numDataIdsBefore = this.backend.numDataIds();\n out = this.tidy(() => forwardFunc(this.backend, saveFunc));\n const outs = (Array.isArray(out) ? out : [out]) as Tensor[];\n if (this.shouldCheckForMemLeaks()) {\n // Scope name is used to print a more helpful error message if needed.\n this.checkKernelForMemLeak(kernelOrScopeName, numDataIdsBefore, outs);\n }\n return outs;\n };\n }\n\n //\n // Run the kernelFunc. Optionally profiling it.\n //\n const {inputs, attrs} = kernelParams;\n const backwardsFunc = isRegisteredKernelInvocation(kernelParams) ?\n null :\n kernelParams.backwardsFunc;\n\n let kernelProfile: KernelProfile;\n this.scopedRun(\n // Stop recording to a tape when running a kernel.\n () => this.state.kernelDepth++, () => this.state.kernelDepth--, () => {\n if (!this.ENV.getBool('DEBUG') && !this.state.profiling) {\n outputs = kernelFunc();\n } else {\n kernelProfile = this.profiler.profileKernel(\n kernelOrScopeName, inputs, () => kernelFunc());\n if (this.ENV.getBool('DEBUG')) {\n this.profiler.logKernelProfile(kernelProfile);\n }\n outputs = kernelProfile.outputs;\n }\n });\n\n if (isTapeOn) {\n this.addTapeNode(\n kernelOrScopeName, inputs, outputs, backwardsFunc, saved, attrs);\n }\n\n if (this.state.profiling) {\n this.state.activeProfile.kernels.push({\n name: kernelOrScopeName,\n bytesAdded: this.state.numBytes - startingBytecount,\n totalBytesSnapshot: this.state.numBytes,\n tensorsAdded: this.state.numTensors - startingNumTensors,\n totalTensorsSnapshot: this.state.numTensors,\n inputShapes: Object.keys(inputs).map(\n key => inputs[key] != null ? inputs[key].shape : null),\n outputShapes: outputs.map(item => item.shape),\n kernelTimeMs: kernelProfile.timeMs,\n extraInfo: kernelProfile.extraInfo\n });\n }\n return (Array.isArray(out) ? outputs : outputs[0]) as T;\n }\n\n /**\n * Saves tensors used in forward mode for use in backward mode.\n *\n * @param tensors the list of tensors to save.\n */\n private saveTensorsForBackwardMode(tensors: Tensor[]): Tensor[] {\n const saved = tensors.map(tensor => this.keep(this.clone(tensor)));\n return saved;\n }\n\n /**\n * Returns a list of tensors to save for a given gradient calculation.\n *\n * @param kernelName name of kernel to look up gradient for.\n * @param inputs a map of input tensors.\n * @param outputs an array of output tensors from forward mode of kernel.\n */\n private getTensorsForGradient(\n kernelName: string, inputs: NamedTensorMap,\n outputs: Tensor[]): Tensor[]|null {\n const gradConfig = getGradient(kernelName);\n if (gradConfig != null) {\n const inputsToSave: string[] = gradConfig.inputsToSave || [];\n const outputsToSave: boolean[] = gradConfig.outputsToSave || [];\n\n // If saveAllInputs is true, all inputs will be saved. Otherwise, inputs\n // specified in inputsToSave will be saved.\n let inputTensorsToSave: Tensor[];\n if (gradConfig.saveAllInputs) {\n util.assert(\n Array.isArray(inputs),\n () => 'saveAllInputs is true, expected inputs to be an array.');\n\n inputTensorsToSave = Object.keys(inputs).map((key) => inputs[key]);\n } else {\n inputTensorsToSave = inputsToSave.map((inputName) => inputs[inputName]);\n }\n\n const outputTensorsToSave: Tensor[] =\n outputs.filter((_, i) => outputsToSave[i]);\n\n return inputTensorsToSave.concat(outputTensorsToSave);\n }\n // We return an empty list rather than throw an error because the kernel we\n // are looking up may not actually be relevant to backproping through the\n // overall function\n //\n // See 'does not error if irrelevant (pruned) ops are missing grads' test\n // in gradients_test.ts for an example.\n return [];\n }\n\n /**\n * Internal method used by public APIs for tensor creation. Makes a new\n * tensor with the provided shape, dtype and values. It always\n * creates a new data id and writes the values to the underlying backend.\n */\n makeTensor(\n values: DataValues, shape: number[], dtype: DataType,\n backend?: KernelBackend): Tensor {\n if (values == null) {\n throw new Error('Values passed to engine.makeTensor() are null');\n }\n dtype = dtype || 'float32';\n backend = backend || this.backend;\n let backendVals = values as BackendValues;\n if (dtype === 'string' && util.isString(values[0])) {\n backendVals = (values as string[]).map(d => util.encodeString(d));\n }\n const dataId = backend.write(backendVals, shape, dtype);\n const t = new Tensor(shape, dtype, dataId, this.nextTensorId());\n this.trackTensor(t, backend);\n\n // Count bytes for string tensors.\n if (dtype === 'string') {\n const info = this.state.tensorInfo.get(dataId);\n const newBytes = bytesFromStringArray(backendVals as Uint8Array[]);\n this.state.numBytes += newBytes - info.bytes;\n info.bytes = newBytes;\n }\n return t;\n }\n\n /**\n * Internal method used by backends. Makes a new tensor\n * that is a wrapper around an existing data id. It doesn't create\n * a new data id, only increments the ref count used in memory tracking.\n */\n makeTensorFromDataId(\n dataId: DataId, shape: number[], dtype: DataType,\n backend?: KernelBackend): Tensor {\n dtype = dtype || 'float32';\n const t = new Tensor(shape, dtype, dataId, this.nextTensorId());\n this.trackTensor(t, backend);\n return t;\n }\n\n makeVariable(\n initialValue: Tensor, trainable = true, name?: string,\n dtype?: DataType): Variable {\n name = name || this.nextVariableId().toString();\n if (dtype != null && dtype !== initialValue.dtype) {\n initialValue = initialValue.cast(dtype);\n }\n const v = new Variable(initialValue, trainable, name, this.nextTensorId());\n if (this.state.registeredVariables[v.name] != null) {\n throw new Error(`Variable with name ${v.name} was already registered`);\n }\n this.state.registeredVariables[v.name] = v;\n this.incRef(v, this.backend);\n return v;\n }\n\n trackTensor(a: Tensor, backend: KernelBackend): void {\n this.state.numTensors++;\n if (a.dtype === 'string') {\n this.state.numStringTensors++;\n }\n // Bytes for complex numbers are counted by their components. Bytes for\n // string tensors are counted when writing values.\n let bytes = 0;\n if (a.dtype !== 'complex64' && a.dtype !== 'string') {\n bytes = a.size * util.bytesPerElement(a.dtype);\n }\n this.state.numBytes += bytes;\n\n if (!this.state.tensorInfo.has(a.dataId)) {\n this.state.numDataBuffers++;\n this.state.tensorInfo.set(a.dataId, {\n backend: backend || this.backend,\n dtype: a.dtype,\n shape: a.shape,\n bytes\n });\n }\n\n if (!(a instanceof Variable)) {\n this.track(a);\n }\n }\n\n // Track the tensor by dataId and increase the refCount for the dataId in the\n // backend.\n // TODO(pyu10055): This is currently used by makeVariable method, to increase\n // refCount on the backend for the dataId. It can potentially be replaced with\n // Identity op indead of calling backend directly.\n incRef(a: Tensor, backend: KernelBackend): void {\n this.trackTensor(a, backend);\n this.backend.incRef(a.dataId);\n }\n\n removeDataId(dataId: DataId, backend: KernelBackend) {\n if (this.state.tensorInfo.has(dataId) &&\n this.state.tensorInfo.get(dataId).backend === backend) {\n this.state.tensorInfo.delete(dataId);\n this.state.numDataBuffers--;\n }\n }\n disposeTensor(a: Tensor): void {\n if (!this.state.tensorInfo.has(a.dataId)) {\n return;\n }\n const info = this.state.tensorInfo.get(a.dataId);\n\n this.state.numTensors--;\n if (a.dtype === 'string') {\n this.state.numStringTensors--;\n this.state.numBytes -= info.bytes;\n }\n // Don't count bytes for complex numbers as they are counted by their\n // components.\n if (a.dtype !== 'complex64' && a.dtype !== 'string') {\n const bytes = a.size * util.bytesPerElement(a.dtype);\n this.state.numBytes -= bytes;\n }\n\n // Remove the reference to dataId if backend dispose the data successfully\n if (info.backend.disposeData(a.dataId)) {\n this.removeDataId(a.dataId, info.backend);\n }\n\n // TODO(nsthorat): Construct an error and save the stack trace for\n // debugging when in debug mode. Creating a stack trace is too expensive\n // to do unconditionally.\n }\n\n disposeVariables(): void {\n for (const varName in this.state.registeredVariables) {\n const v = this.state.registeredVariables[varName];\n this.disposeVariable(v);\n }\n }\n\n disposeVariable(v: Variable): void {\n this.disposeTensor(v);\n if (this.state.registeredVariables[v.name] != null) {\n delete this.state.registeredVariables[v.name];\n }\n }\n\n memory(): MemoryInfo {\n const info = this.backend.memory() as MemoryInfo;\n info.numTensors = this.state.numTensors;\n info.numDataBuffers = this.state.numDataBuffers;\n info.numBytes = this.state.numBytes;\n if (this.state.numStringTensors > 0) {\n info.unreliable = true;\n if (info.reasons == null) {\n info.reasons = [];\n }\n info.reasons.push(\n 'Memory usage by string tensors is approximate ' +\n '(2 bytes per character)');\n }\n return info;\n }\n\n async profile(query: () => (TensorContainer | Promise)):\n Promise {\n this.state.profiling = true;\n\n const startBytes = this.state.numBytes;\n const startNumTensors = this.state.numTensors;\n\n this.state.activeProfile.kernels = [];\n this.state.activeProfile.result = await query();\n\n this.state.profiling = false;\n\n this.state.activeProfile.peakBytes = Math.max(\n ...this.state.activeProfile.kernels.map(d => d.totalBytesSnapshot));\n this.state.activeProfile.newBytes = this.state.numBytes - startBytes;\n this.state.activeProfile.newTensors =\n this.state.numTensors - startNumTensors;\n for (const kernel of this.state.activeProfile.kernels) {\n kernel.kernelTimeMs = await kernel.kernelTimeMs;\n kernel.extraInfo = await kernel.extraInfo;\n }\n return this.state.activeProfile;\n }\n\n isTapeOn(): boolean {\n return this.state.gradientDepth > 0 && this.state.kernelDepth === 0;\n }\n\n private addTapeNode(\n kernelName: string, inputs: NamedTensorMap, outputs: Tensor[],\n gradientsFunc: GradFunc, saved: Tensor[], attrs: NamedAttrMap): void {\n const tapeNode: TapeNode =\n {id: this.state.nextTapeNodeId++, kernelName, inputs, outputs, saved};\n\n const gradConfig = getGradient(kernelName);\n if (gradConfig != null) {\n gradientsFunc = gradConfig.gradFunc;\n }\n if (gradientsFunc != null) {\n tapeNode.gradient = (dys: Tensor[]) => {\n // TODO(smilkov): To optimize back-prop, pass dys that are not used in\n // the backprop graph to the user as null instead of zeros\n dys = dys.map((dy, i) => {\n if (dy == null) {\n const output = outputs[i];\n const vals = util.makeZerosTypedArray(output.size, output.dtype);\n return this.makeTensor(vals, output.shape, output.dtype);\n }\n return dy;\n });\n // Grad functions of ops with single outputs expect a dy, while ops\n // with multiple outputs expect dys (array of dy).\n return gradientsFunc(dys.length > 1 ? dys : dys[0], saved, attrs);\n };\n }\n this.state.activeTape.push(tapeNode);\n }\n\n keep(result: T): T {\n result.kept = true;\n return result;\n }\n\n private startTape() {\n if (this.state.gradientDepth === 0) {\n this.state.activeTape = [];\n }\n this.state.gradientDepth++;\n }\n\n private endTape() {\n this.state.gradientDepth--;\n }\n\n /**\n * Start a scope. Use this with endScope() to achieve the same functionality\n * as scope() without the need for a function closure.\n */\n startScope(name?: string) {\n const scopeInfo: ScopeState = {\n track: [],\n name: 'unnamed scope',\n id: this.state.nextScopeId++\n };\n if (name) {\n scopeInfo.name = name;\n }\n this.state.scopeStack.push(scopeInfo);\n this.state.activeScope = scopeInfo;\n }\n\n /**\n * End a scope. Use this with startScope() to achieve the same functionality\n * as scope() without the need for a function closure.\n */\n endScope(result?: TensorContainer) {\n const tensorsToTrackInParent = getTensorsInContainer(result);\n const tensorsToTrackInParentSet =\n new Set(tensorsToTrackInParent.map(t => t.id));\n\n // Dispose the arrays tracked in this scope.\n for (let i = 0; i < this.state.activeScope.track.length; i++) {\n const tensor = this.state.activeScope.track[i];\n if (!tensor.kept && !tensorsToTrackInParentSet.has(tensor.id)) {\n tensor.dispose();\n }\n }\n\n const oldScope = this.state.scopeStack.pop();\n this.state.activeScope = this.state.scopeStack.length === 0 ?\n null :\n this.state.scopeStack[this.state.scopeStack.length - 1];\n\n // Track the current result in the parent scope.\n tensorsToTrackInParent.forEach(tensor => {\n // Only track the tensor if was allocated in the inner scope and is not\n // globally kept.\n if (!tensor.kept && tensor.scopeId === oldScope.id) {\n this.track(tensor);\n }\n });\n }\n\n /**\n * Returns gradients of `f` with respect to each of the `xs`. The gradients\n * returned are of the same length as `xs`, but some might be null if `f`\n * was not a function of that `x`. It also takes optional dy to multiply the\n * gradient, which defaults to `1`.\n */\n gradients(\n f: () => T, xs: Tensor[], dy?: T,\n allowNoGradients = false): {value: T, grads: Tensor[]} {\n util.assert(\n xs.length > 0, () => 'gradients() received an empty list of xs.');\n if (dy != null && dy.dtype !== 'float32') {\n throw new Error(`dy must have 'float32' dtype, but has '${dy.dtype}'`);\n }\n\n const y = this.scopedRun(\n () => this.startTape(), () => this.endTape(),\n () => this.tidy('forward', f));\n\n util.assert(\n y instanceof Tensor,\n () => 'The result y returned by f() must be a tensor.');\n // Filter out the nodes that don't connect x => y.\n const filteredTape = getFilteredNodesXToY(this.state.activeTape, xs, y);\n if (!allowNoGradients && filteredTape.length === 0 && xs.length > 0) {\n throw new Error(\n 'Cannot compute gradient of y=f(x) with respect to x. Make sure ' +\n 'that the f you passed encloses all operations that lead from x ' +\n 'to y.');\n }\n\n return this.tidy('backward', () => {\n const accumulatedGradientMap: {[tensorId: number]: Tensor} = {};\n accumulatedGradientMap[y.id] = (dy == null) ? ones(y.shape) : dy;\n\n // Backprop gradients through the filtered nodes.\n backpropagateGradients(\n accumulatedGradientMap, filteredTape,\n // Pass the tidy function to avoid circular dep with `tape.ts`.\n f => this.tidy(f as ScopeFn),\n // Pass an add function to avoide a circular dep with `tape.ts`.\n add);\n const grads = xs.map(x => accumulatedGradientMap[x.id]);\n\n if (this.state.gradientDepth === 0) {\n // This means that we are not computing higher-order gradients\n // and can clean up the tape.\n this.state.activeTape.forEach(node => {\n for (const tensor of node.saved) {\n tensor.dispose();\n }\n });\n this.state.activeTape = null;\n }\n return {value: y, grads};\n });\n }\n\n customGrad(f: CustomGradientFunc):\n (...args: Array) => T {\n util.assert(\n util.isFunction(f),\n () => 'The f passed in customGrad(f) must be a function.');\n return (...inputs: Tensor[]): T => {\n util.assert(\n inputs.every(t => t instanceof Tensor),\n () => 'The args passed in customGrad(f)(x1, x2,...) must all be ' +\n 'tensors');\n\n let res: {\n value: T,\n gradFunc: (dy: T, saved: Tensor[]) => Tensor | Tensor[],\n };\n const inputMap: NamedTensorMap = {};\n inputs.forEach((input, i) => {\n inputMap[i] = input;\n });\n\n const forwardFunc: ForwardFunc = (_, save) => {\n res = f(...[...inputs, save]);\n util.assert(\n res.value instanceof Tensor,\n () => 'The function f passed in customGrad(f) must return an ' +\n 'object where `obj.value` is a tensor');\n util.assert(\n util.isFunction(res.gradFunc),\n () => 'The function f passed in customGrad(f) must return an ' +\n 'object where `obj.gradFunc` is a function.');\n return res.value;\n };\n\n const backwardsFunc = (dy: T, saved: Tensor[]) => {\n const gradRes = res.gradFunc(dy, saved);\n const grads: Tensor[] = Array.isArray(gradRes) ? gradRes : [gradRes];\n util.assert(\n grads.length === inputs.length,\n () => 'The function f passed in customGrad(f) must return an ' +\n 'object where `obj.gradFunc` is a function that returns ' +\n 'the same number of tensors as inputs passed to f(...).');\n util.assert(\n grads.every(t => t instanceof Tensor),\n () => 'The function f passed in customGrad(f) must return an ' +\n 'object where `obj.gradFunc` is a function that returns ' +\n 'a list of only tensors.');\n const gradMap: {[key: string]: () => Tensor} = {};\n grads.forEach((grad, i) => {\n gradMap[i] = () => grad;\n });\n return gradMap;\n };\n\n return this.runKernelFunc({\n forwardFunc,\n backwardsFunc,\n inputs: inputMap,\n });\n };\n }\n\n readSync(dataId: DataId): BackendValues {\n // Route the read to the correct backend.\n const info = this.state.tensorInfo.get(dataId);\n return info.backend.readSync(dataId);\n }\n read(dataId: DataId): Promise {\n // Route the read to the correct backend.\n const info = this.state.tensorInfo.get(dataId);\n return info.backend.read(dataId);\n }\n\n async time(query: () => void): Promise {\n const start = now();\n const timingInfo = await this.backend.time(query) as TimingInfo;\n timingInfo.wallMs = now() - start;\n return timingInfo;\n }\n\n /**\n * Tracks a Tensor in the current scope to be automatically cleaned up\n * when the current scope ends, and returns the value.\n *\n * @param result The Tensor to track in the current scope.\n */\n private track(result: T): T {\n if (this.state.activeScope != null) {\n result.scopeId = this.state.activeScope.id;\n this.state.activeScope.track.push(result);\n }\n\n return result;\n }\n\n get registeredVariables(): NamedVariableMap {\n return this.state.registeredVariables;\n }\n\n /**\n * Resets the engine state. Removes all backends but does not remove\n * registered backend factories.\n */\n reset(): void {\n // Make any pending promise obsolete.\n this.pendingBackendInitId++;\n\n this.state.dispose();\n this.ENV.reset();\n this.state = new EngineState();\n\n for (const backendName in this.registry) {\n this.disposeRegisteredKernels(backendName);\n this.registry[backendName].dispose();\n delete this.registry[backendName];\n }\n this.backendName = null;\n this.backendInstance = null;\n this.pendingBackendInit = null;\n }\n}\n\nfunction ones(shape: number[]): Tensor {\n const values = makeOnesTypedArray(sizeFromShape(shape), 'float32');\n return ENGINE.makeTensor(values, shape, 'float32');\n}\n\nexport function getOrMakeEngine(): Engine {\n const ns = getGlobalNamespace() as {} as {_tfengine: Engine};\n if (ns._tfengine == null) {\n const environment = new Environment(ns);\n ns._tfengine = new Engine(environment);\n }\n setEnvironmentGlobal(ns._tfengine.ENV);\n\n // Tell the current tensor interface that the global engine is responsible\n // for tracking.\n setTensorTracker(() => ns._tfengine);\n return ns._tfengine;\n}\n\nexport const ENGINE = getOrMakeEngine();\n\n/**\n * A implementation of the add op for use within engine and tape.\n *\n * This allows us to avoid a circular dependency between add.ts and engine.\n * It is exported to be available in tape tests.\n */\nexport function add(a: Tensor, b: Tensor): Tensor {\n // We duplicate Add here to avoid a circular dependency with add.ts.\n const inputs = {a, b};\n return ENGINE.runKernel(Add, inputs as {} as NamedTensorMap);\n}\n"]} \ No newline at end of file +{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine_test.js b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine_test.js index ef4a99b74..1d4ddb6b7 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine_test.js +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine_test.js @@ -24,15 +24,15 @@ describe('Backend registration', () => { spyOn(console, 'warn'); }); let registeredBackends = []; - let registerBackend; beforeEach(() => { // Registering a backend changes global state (engine), so we wrap // registration to automatically remove registered backend at the end // of each test. - registerBackend = (name, factory, priority) => { + spyOn(tf, 'registerBackend') + .and.callFake((name, factory, priority) => { registeredBackends.push(name); - return tf.registerBackend(name, factory, priority); - }; + return ENGINE.registerBackend(name, factory, priority); + }); ENGINE.reset(); }); afterEach(() => { @@ -54,7 +54,7 @@ describe('Backend registration', () => { } return newBackend; }; - registerBackend('test-backend', factory); + tf.registerBackend('test-backend', factory); expect(tf.findBackend('test-backend') != null).toBe(true); expect(tf.findBackend('test-backend')).toBe(backend); expect(tf.findBackendFactory('test-backend')).toBe(factory); @@ -73,7 +73,7 @@ describe('Backend registration', () => { } return newBackend; }; - registerBackend('custom-cpu', factory); + tf.registerBackend('custom-cpu', factory); expect(tf.findBackend('custom-cpu') != null).toBe(true); expect(tf.findBackend('custom-cpu')).toBe(backend); expect(tf.findBackendFactory('custom-cpu')).toBe(factory); @@ -81,7 +81,7 @@ describe('Backend registration', () => { it('custom backend registration', () => { let backend; const priority = 103; - registerBackend('custom-cpu', () => { + tf.registerBackend('custom-cpu', () => { const newBackend = new TestKernelBackend(); if (backend == null) { backend = newBackend; @@ -95,11 +95,11 @@ describe('Backend registration', () => { let lowPriorityBackend; const lowPriority = 103; const highPriority = 104; - registerBackend('custom-low-priority', () => { + tf.registerBackend('custom-low-priority', () => { lowPriorityBackend = new TestKernelBackend(); return lowPriorityBackend; }, lowPriority); - registerBackend('custom-high-priority', () => { + tf.registerBackend('custom-high-priority', () => { throw new Error(`High priority backend fails`); }, highPriority); expect(tf.backend() != null).toBe(true); @@ -111,11 +111,11 @@ describe('Backend registration', () => { let highPriorityBackend; const lowPriority = 103; const highPriority = 104; - registerBackend('custom-low-priority', () => { + tf.registerBackend('custom-low-priority', () => { lowPriorityBackend = new TestKernelBackend(); return lowPriorityBackend; }, lowPriority); - registerBackend('custom-high-priority', () => { + tf.registerBackend('custom-high-priority', () => { highPriorityBackend = new TestKernelBackend(); return highPriorityBackend; }, highPriority); @@ -132,13 +132,13 @@ describe('Backend registration', () => { }); it('allow custom backend', () => { const backend = new TestKernelBackend(); - const success = registerBackend('custom', () => backend); + const success = tf.registerBackend('custom', () => backend); expect(success).toBeTruthy(); expect(tf.findBackend('custom')).toEqual(backend); }); it('sync backend with await ready works', async () => { const testBackend = new TestKernelBackend(); - registerBackend('sync', () => testBackend); + tf.registerBackend('sync', () => testBackend); tf.setBackend('sync'); expect(tf.getBackend()).toEqual('sync'); await tf.ready(); @@ -146,14 +146,14 @@ describe('Backend registration', () => { }); it('sync backend without await ready works', async () => { const testBackend = new TestKernelBackend(); - registerBackend('sync', () => testBackend); + tf.registerBackend('sync', () => testBackend); tf.setBackend('sync'); expect(tf.getBackend()).toEqual('sync'); expect(tf.backend()).toEqual(testBackend); }); it('async backend with await ready works', async () => { const testBackend = new TestKernelBackend(); - registerBackend('async', async () => { + tf.registerBackend('async', async () => { await tf.nextFrame(); return testBackend; }); @@ -164,7 +164,7 @@ describe('Backend registration', () => { }); it('async backend without await ready does not work', async () => { const testBackend = new TestKernelBackend(); - registerBackend('async', async () => { + tf.registerBackend('async', async () => { await tf.nextFrame(); return testBackend; }); @@ -174,7 +174,7 @@ describe('Backend registration', () => { .toThrowError(/Backend 'async' has not yet been initialized./); }); it('tf.square() fails if user does not await ready on async backend', async () => { - registerBackend('async', async () => { + tf.registerBackend('async', async () => { await tf.nextFrame(); return new TestKernelBackend(); }); @@ -183,7 +183,7 @@ describe('Backend registration', () => { .toThrowError(/Backend 'async' has not yet been initialized/); }); it('tf.square() works when user awaits ready on async backend', async () => { - registerBackend('async', async () => { + tf.registerBackend('async', async () => { await tf.nextFrame(); return new TestKernelBackend(); }); @@ -193,11 +193,11 @@ describe('Backend registration', () => { }); it('Registering async2 (higher priority) fails, async1 becomes active', async () => { const testBackend = new TestKernelBackend(); - registerBackend('async1', async () => { + tf.registerBackend('async1', async () => { await tf.nextFrame(); return testBackend; }, 100 /* priority */); - registerBackend('async2', async () => { + tf.registerBackend('async2', async () => { await tf.nextFrame(); throw new Error('failed to create async2'); }, 101 /* priority */); @@ -209,8 +209,8 @@ describe('Backend registration', () => { }); it('Registering sync as higher priority and async as lower priority', async () => { const testBackend = new TestKernelBackend(); - registerBackend('sync', () => testBackend, 101 /* priority */); - registerBackend('async', async () => { + tf.registerBackend('sync', () => testBackend, 101 /* priority */); + tf.registerBackend('async', async () => { await tf.nextFrame(); return new TestKernelBackend(); }, 100 /* priority */); @@ -220,27 +220,27 @@ describe('Backend registration', () => { }); it('async as higher priority and sync as lower priority with await ready', async () => { const testBackend = new TestKernelBackend(); - registerBackend('async', async () => { + tf.registerBackend('async', async () => { await tf.nextFrame(); return testBackend; }, 101 /* priority */); - registerBackend('sync', () => new TestKernelBackend(), 100 /* priority */); + tf.registerBackend('sync', () => new TestKernelBackend(), 100 /* priority */); await tf.ready(); expect(tf.backend()).toEqual(testBackend); expect(tf.getBackend()).toBe('async'); }); it('async as higher priority and sync as lower priority w/o await ready', async () => { const testBackend = new TestKernelBackend(); - registerBackend('async', async () => { + tf.registerBackend('async', async () => { await tf.nextFrame(); return testBackend; }, 101 /* priority */); - registerBackend('sync', () => new TestKernelBackend(), 100 /* priority */); + tf.registerBackend('sync', () => new TestKernelBackend(), 100 /* priority */); expect(() => tf.backend()) .toThrowError(/The highest priority backend 'async' has not yet been/); }); it('Registering and setting a backend that fails to register', async () => { - registerBackend('async', async () => { + tf.registerBackend('async', async () => { await tf.nextFrame(); throw new Error('failed to create async'); }); @@ -592,7 +592,8 @@ describeWithFlags('Detects memory leaks in kernels', ALL_ENVS, () => { id: 1, dispose: () => null, disposeData: (dataId) => null, - numDataIds: () => dataIdsCount + numDataIds: () => dataIdsCount, + decComplexRef: (dataId) => null }; }); tf.setBackend(backendName); diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine_test.js.map index e07e45a6a..3dd1c2447 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/engine_test.js.map @@ -1 +1 @@ -{"version":3,"file":"engine_test.js","sourceRoot":"","sources":["../src/engine_test.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 {KernelBackend} from './backends/backend';\nimport {ENGINE} from './engine';\nimport * as tf from './index';\nimport {KernelFunc} from './index';\nimport {ALL_ENVS, describeWithFlags, TestKernelBackend} from './jasmine_util';\nimport {TensorInfo} from './kernel_registry';\nimport {Tensor} from './tensor';\nimport {expectArraysClose} from './test_util';\nimport {BackendValues, DataType} from './types';\n\ndescribe('Backend registration', () => {\n beforeAll(() => {\n // Silences backend registration warnings.\n spyOn(console, 'warn');\n });\n\n let registeredBackends: string[] = [];\n let registerBackend: typeof tf.registerBackend;\n\n beforeEach(() => {\n // Registering a backend changes global state (engine), so we wrap\n // registration to automatically remove registered backend at the end\n // of each test.\n registerBackend = (name, factory, priority) => {\n registeredBackends.push(name);\n return tf.registerBackend(name, factory, priority);\n };\n\n ENGINE.reset();\n });\n\n afterEach(() => {\n // Remove all registered backends at the end of each test.\n registeredBackends.forEach(name => {\n if (tf.findBackendFactory(name) != null) {\n tf.removeBackend(name);\n }\n });\n registeredBackends = [];\n });\n\n it('removeBackend disposes the backend and removes the factory', () => {\n let backend: KernelBackend;\n const factory = () => {\n const newBackend = new TestKernelBackend();\n if (backend == null) {\n backend = newBackend;\n spyOn(backend, 'dispose').and.callThrough();\n }\n return newBackend;\n };\n\n registerBackend('test-backend', factory);\n\n expect(tf.findBackend('test-backend') != null).toBe(true);\n expect(tf.findBackend('test-backend')).toBe(backend);\n expect(tf.findBackendFactory('test-backend')).toBe(factory);\n\n tf.removeBackend('test-backend');\n\n expect(tf.findBackend('test-backend') == null).toBe(true);\n expect(tf.findBackend('test-backend')).toBe(null);\n expect((backend.dispose as jasmine.Spy).calls.count()).toBe(1);\n expect(tf.findBackendFactory('test-backend')).toBe(null);\n });\n\n it('findBackend initializes the backend', () => {\n let backend: KernelBackend;\n const factory = () => {\n const newBackend = new TestKernelBackend();\n if (backend == null) {\n backend = newBackend;\n }\n return newBackend;\n };\n registerBackend('custom-cpu', factory);\n\n expect(tf.findBackend('custom-cpu') != null).toBe(true);\n expect(tf.findBackend('custom-cpu')).toBe(backend);\n expect(tf.findBackendFactory('custom-cpu')).toBe(factory);\n });\n\n it('custom backend registration', () => {\n let backend: KernelBackend;\n const priority = 103;\n registerBackend('custom-cpu', () => {\n const newBackend = new TestKernelBackend();\n if (backend == null) {\n backend = newBackend;\n }\n return newBackend;\n }, priority);\n\n expect(tf.backend() != null).toBe(true);\n expect(tf.backend()).toBe(backend);\n });\n\n it('high priority backend registration fails, falls back', () => {\n let lowPriorityBackend: KernelBackend;\n const lowPriority = 103;\n const highPriority = 104;\n registerBackend('custom-low-priority', () => {\n lowPriorityBackend = new TestKernelBackend();\n return lowPriorityBackend;\n }, lowPriority);\n registerBackend('custom-high-priority', () => {\n throw new Error(`High priority backend fails`);\n }, highPriority);\n\n expect(tf.backend() != null).toBe(true);\n expect(tf.backend()).toBe(lowPriorityBackend);\n expect(tf.getBackend()).toBe('custom-low-priority');\n });\n\n it('low priority and high priority backends, setBackend low priority', () => {\n let lowPriorityBackend: KernelBackend;\n let highPriorityBackend: KernelBackend;\n const lowPriority = 103;\n const highPriority = 104;\n registerBackend('custom-low-priority', () => {\n lowPriorityBackend = new TestKernelBackend();\n return lowPriorityBackend;\n }, lowPriority);\n registerBackend('custom-high-priority', () => {\n highPriorityBackend = new TestKernelBackend();\n return highPriorityBackend;\n }, highPriority);\n\n expect(tf.backend() != null).toBe(true);\n expect(tf.backend()).toBe(highPriorityBackend);\n expect(tf.getBackend()).toBe('custom-high-priority');\n\n tf.setBackend('custom-low-priority');\n\n expect(tf.backend() != null).toBe(true);\n expect(tf.backend()).toBe(lowPriorityBackend);\n expect(tf.getBackend()).toBe('custom-low-priority');\n });\n\n it('default custom background null', () => {\n expect(tf.findBackend('custom')).toBeNull();\n });\n\n it('allow custom backend', () => {\n const backend = new TestKernelBackend();\n const success = registerBackend('custom', () => backend);\n expect(success).toBeTruthy();\n expect(tf.findBackend('custom')).toEqual(backend);\n });\n\n it('sync backend with await ready works', async () => {\n const testBackend = new TestKernelBackend();\n registerBackend('sync', () => testBackend);\n tf.setBackend('sync');\n\n expect(tf.getBackend()).toEqual('sync');\n await tf.ready();\n expect(tf.backend()).toEqual(testBackend);\n });\n\n it('sync backend without await ready works', async () => {\n const testBackend = new TestKernelBackend();\n registerBackend('sync', () => testBackend);\n tf.setBackend('sync');\n\n expect(tf.getBackend()).toEqual('sync');\n expect(tf.backend()).toEqual(testBackend);\n });\n\n it('async backend with await ready works', async () => {\n const testBackend = new TestKernelBackend();\n registerBackend('async', async () => {\n await tf.nextFrame();\n return testBackend;\n });\n tf.setBackend('async');\n\n expect(tf.getBackend()).toEqual('async');\n await tf.ready();\n expect(tf.backend()).toEqual(testBackend);\n });\n\n it('async backend without await ready does not work', async () => {\n const testBackend = new TestKernelBackend();\n registerBackend('async', async () => {\n await tf.nextFrame();\n return testBackend;\n });\n tf.setBackend('async');\n\n expect(tf.getBackend()).toEqual('async');\n expect(() => tf.backend())\n .toThrowError(/Backend 'async' has not yet been initialized./);\n });\n\n it('tf.square() fails if user does not await ready on async backend',\n async () => {\n registerBackend('async', async () => {\n await tf.nextFrame();\n return new TestKernelBackend();\n });\n tf.setBackend('async');\n expect(() => tf.square(2))\n .toThrowError(/Backend 'async' has not yet been initialized/);\n });\n\n it('tf.square() works when user awaits ready on async backend', async () => {\n registerBackend('async', async () => {\n await tf.nextFrame();\n return new TestKernelBackend();\n });\n tf.setBackend('async');\n await tf.ready();\n expect(() => tf.square(2)).toThrowError(/'write' not yet implemented/);\n });\n\n it('Registering async2 (higher priority) fails, async1 becomes active',\n async () => {\n const testBackend = new TestKernelBackend();\n registerBackend('async1', async () => {\n await tf.nextFrame();\n return testBackend;\n }, 100 /* priority */);\n registerBackend('async2', async () => {\n await tf.nextFrame();\n throw new Error('failed to create async2');\n }, 101 /* priority */);\n\n // Await for the library to find the best backend that succesfully\n // initializes.\n await tf.ready();\n expect(tf.backend()).toEqual(testBackend);\n expect(tf.getBackend()).toBe('async1');\n });\n\n it('Registering sync as higher priority and async as lower priority',\n async () => {\n const testBackend = new TestKernelBackend();\n registerBackend('sync', () => testBackend, 101 /* priority */);\n registerBackend('async', async () => {\n await tf.nextFrame();\n return new TestKernelBackend();\n }, 100 /* priority */);\n\n // No need to await for ready() since the highest priority one is sync.\n expect(tf.backend()).toEqual(testBackend);\n expect(tf.getBackend()).toBe('sync');\n });\n\n it('async as higher priority and sync as lower priority with await ready',\n async () => {\n const testBackend = new TestKernelBackend();\n registerBackend('async', async () => {\n await tf.nextFrame();\n return testBackend;\n }, 101 /* priority */);\n registerBackend(\n 'sync', () => new TestKernelBackend(), 100 /* priority */);\n\n await tf.ready();\n expect(tf.backend()).toEqual(testBackend);\n expect(tf.getBackend()).toBe('async');\n });\n\n it('async as higher priority and sync as lower priority w/o await ready',\n async () => {\n const testBackend = new TestKernelBackend();\n registerBackend('async', async () => {\n await tf.nextFrame();\n return testBackend;\n }, 101 /* priority */);\n registerBackend(\n 'sync', () => new TestKernelBackend(), 100 /* priority */);\n\n expect(() => tf.backend())\n .toThrowError(\n /The highest priority backend 'async' has not yet been/);\n });\n\n it('Registering and setting a backend that fails to register', async () => {\n registerBackend('async', async () => {\n await tf.nextFrame();\n throw new Error('failed to create async');\n });\n const success = tf.setBackend('async');\n expect(tf.getBackend()).toBe('async');\n expect(() => tf.backend())\n .toThrowError(/Backend 'async' has not yet been initialized/);\n expect(await success).toBe(false);\n });\n});\n\ndescribeWithFlags('memory', ALL_ENVS, () => {\n it('Sum(float)', async () => {\n expect(tf.memory().numTensors).toBe(0);\n expect(tf.memory().numBytes).toBe(0);\n const sum = tf.tidy(() => {\n const a = tf.tensor1d([1, 2, 3, 4]);\n expect(tf.memory().numTensors).toBe(1);\n expect(tf.memory().numBytes).toBe(4 * 4);\n return a.sum();\n });\n expect(tf.memory().numTensors).toBe(1);\n expect(tf.memory().numBytes).toBe(4);\n expectArraysClose(await sum.data(), [1 + 2 + 3 + 4]);\n });\n\n it('Sum(bool)', async () => {\n const sum = tf.tidy(() => {\n const a = tf.tensor1d([true, true, false, true], 'bool');\n expect(tf.memory().numTensors).toBe(1);\n expect(tf.memory().numBytes).toBe(4);\n return a.sum();\n });\n expect(tf.memory().numTensors).toBe(1);\n expect(tf.memory().numBytes).toBe(4);\n expect(sum.dtype).toBe('int32');\n expectArraysClose(await sum.data(), [1 + 1 + 0 + 1]);\n });\n\n it('Sum(int32)', async () => {\n const sum = tf.tidy(() => {\n const a = tf.tensor1d([1, 1, 0, 1], 'int32');\n expect(tf.memory().numTensors).toBe(1);\n expect(tf.memory().numBytes).toBe(4 * 4);\n return a.sum();\n });\n expect(tf.memory().numTensors).toBe(1);\n expect(tf.memory().numBytes).toBe(4);\n expect(sum.dtype).toBe('int32');\n expectArraysClose(await sum.data(), [1 + 1 + 0 + 1]);\n });\n\n it('string tensor', () => {\n const a = tf.tensor([['a', 'bb'], ['c', 'd']]);\n\n expect(tf.memory().numTensors).toBe(1);\n expect(tf.memory().numBytes).toBe(5); // 5 letters, each 1 byte in utf8.\n\n a.dispose();\n\n expect(tf.memory().numTensors).toBe(0);\n expect(tf.memory().numBytes).toBe(0);\n });\n\n it('unreliable is true for string tensors', () => {\n tf.tensor('a');\n const mem = tf.memory();\n expect(mem.unreliable).toBe(true);\n const expectedReason = 'Memory usage by string tensors is approximate ' +\n '(2 bytes per character)';\n expect(mem.reasons.indexOf(expectedReason) >= 0).toBe(true);\n });\n});\n\ndescribeWithFlags('profile', ALL_ENVS, () => {\n it('squaring', async () => {\n const profile = await tf.profile(() => {\n const x = tf.tensor1d([1, 2, 3]);\n let x2 = x.square();\n x2.dispose();\n x2 = x.square();\n x2.dispose();\n return x;\n });\n\n const result = profile.result as Tensor;\n\n expect(profile.newBytes).toBe(12);\n expect(profile.peakBytes).toBe(24);\n expect(profile.newTensors).toBe(1);\n expectArraysClose(await result.data(), [1, 2, 3]);\n expect(profile.kernels.length).toBe(2);\n\n // Test the types for `kernelTimeMs` and `extraInfo` to confirm the promises\n // are resolved.\n expect(profile.kernels[0].kernelTimeMs instanceof Promise).toBe(false);\n expect(profile.kernels[0].extraInfo instanceof Promise).toBe(false);\n expect(profile.kernels[1].kernelTimeMs instanceof Promise).toBe(false);\n expect(profile.kernels[1].extraInfo instanceof Promise).toBe(false);\n\n // The specific values of `kernelTimeMs` and `extraInfo` are tested in the\n // tests of Profiler.profileKernel, so their values are not tested here.\n expect(profile.kernels[0]).toEqual({\n 'name': 'Square',\n 'bytesAdded': 12,\n 'totalBytesSnapshot': 24,\n 'tensorsAdded': 1,\n 'totalTensorsSnapshot': 2,\n 'inputShapes': [[3]],\n 'outputShapes': [[3]],\n 'kernelTimeMs': profile.kernels[0].kernelTimeMs,\n 'extraInfo': profile.kernels[0].extraInfo\n });\n\n expect(profile.kernels[1]).toEqual({\n 'name': 'Square',\n 'bytesAdded': 12,\n 'totalBytesSnapshot': 24,\n 'tensorsAdded': 1,\n 'totalTensorsSnapshot': 2,\n 'inputShapes': [[3]],\n 'outputShapes': [[3]],\n 'kernelTimeMs': profile.kernels[1].kernelTimeMs,\n 'extraInfo': profile.kernels[1].extraInfo\n });\n });\n\n it('squaring without disposing', async () => {\n const profile = await tf.profile(() => {\n const x = tf.tensor1d([1, 2, 3]);\n const x2 = x.square();\n return x2;\n });\n\n const result = profile.result as Tensor;\n\n expect(profile.newBytes).toBe(24);\n expect(profile.peakBytes).toBe(24);\n expect(profile.newTensors).toBe(2);\n expectArraysClose(await result.data(), [1, 4, 9]);\n expect(profile.kernels.length).toBe(1);\n expect(profile.kernels[0].kernelTimeMs instanceof Promise).toBe(false);\n expect(profile.kernels[0].extraInfo instanceof Promise).toBe(false);\n expect(profile.kernels[0]).toEqual({\n 'name': 'Square',\n 'bytesAdded': 12,\n 'totalBytesSnapshot': 24,\n 'tensorsAdded': 1,\n 'totalTensorsSnapshot': 2,\n 'inputShapes': [[3]],\n 'outputShapes': [[3]],\n 'kernelTimeMs': profile.kernels[0].kernelTimeMs,\n 'extraInfo': profile.kernels[0].extraInfo\n });\n });\n\n it('squaring in async query', async () => {\n const profile = await tf.profile(async () => {\n await new Promise(resolve => setTimeout(resolve, 1));\n const x = tf.tensor1d([1, 2, 3]);\n const x2 = x.square();\n x2.dispose();\n return x;\n });\n\n const result = profile.result as Tensor;\n\n expect(profile.newBytes).toBe(12);\n expect(profile.peakBytes).toBe(24);\n expect(profile.newTensors).toBe(1);\n expectArraysClose(await result.data(), [1, 2, 3]);\n expect(profile.kernels.length).toBe(1);\n expect(profile.kernels[0].kernelTimeMs instanceof Promise).toBe(false);\n expect(profile.kernels[0].extraInfo instanceof Promise).toBe(false);\n expect(profile.kernels[0]).toEqual({\n 'name': 'Square',\n 'bytesAdded': 12,\n 'totalBytesSnapshot': 24,\n 'tensorsAdded': 1,\n 'totalTensorsSnapshot': 2,\n 'inputShapes': [[3]],\n 'outputShapes': [[3]],\n 'kernelTimeMs': profile.kernels[0].kernelTimeMs,\n 'extraInfo': profile.kernels[0].extraInfo\n });\n });\n\n it('reports correct kernelNames', async () => {\n const profile = await tf.profile(() => {\n const x = tf.tensor1d([1, 2, 3]);\n const x2 = x.square();\n const x3 = x2.abs();\n return x3;\n });\n\n expect(profile.kernelNames).toEqual(jasmine.arrayWithExactContents([\n 'Square', 'Abs'\n ]));\n });\n});\n\ndescribeWithFlags('disposeVariables', ALL_ENVS, () => {\n it('reuse same name variable', () => {\n tf.tensor1d([1, 2, 3]).variable(true, 'v1');\n tf.tensor1d([1, 2, 3]).variable(true, 'v2');\n expect(() => {\n tf.tensor1d([1, 2, 3]).variable(true, 'v1');\n }).toThrowError();\n tf.disposeVariables();\n tf.tensor1d([1, 2, 3]).variable(true, 'v1');\n tf.tensor1d([1, 2, 3]).variable(true, 'v2');\n });\n});\n\n/**\n * The following test constraints to the CPU environment because it needs a\n * concrete backend to exist. This test will work for any backend, but currently\n * this is the simplest backend to test against.\n */\ndescribeWithFlags(\n 'Switching cpu backends',\n {predicate: testEnv => testEnv.backendName === 'cpu'}, () => {\n beforeEach(() => {\n tf.registerBackend('cpu1', tf.findBackendFactory('cpu'));\n tf.registerBackend('cpu2', tf.findBackendFactory('cpu'));\n });\n\n afterEach(() => {\n tf.removeBackend('cpu1');\n tf.removeBackend('cpu2');\n });\n\n it('Move data from cpu1 to cpu2 backend', async () => {\n tf.setBackend('cpu1');\n // This scalar lives in cpu1.\n const a = tf.scalar(5);\n\n tf.setBackend('cpu2');\n // This scalar lives in cpu2.\n const b = tf.scalar(3);\n\n expect(tf.memory().numDataBuffers).toBe(2);\n expect(tf.memory().numTensors).toBe(2);\n expect(tf.memory().numBytes).toBe(8);\n\n // Make sure you can read both tensors.\n expectArraysClose(await a.data(), [5]);\n expectArraysClose(await b.data(), [3]);\n\n // Switch back to cpu1.\n tf.setBackend('cpu1');\n // Again make sure you can read both tensors.\n expectArraysClose(await a.data(), [5]);\n expectArraysClose(await b.data(), [3]);\n\n tf.dispose([a, b]);\n\n expect(tf.memory().numDataBuffers).toBe(0);\n expect(tf.memory().numTensors).toBe(0);\n expect(tf.memory().numBytes).toBe(0);\n });\n\n it('can execute op with data from mixed backends', async () => {\n const kernelFunc = tf.getKernel('Add', 'cpu').kernelFunc;\n tf.registerKernel({kernelName: 'Add', backendName: 'cpu1', kernelFunc});\n tf.registerKernel({kernelName: 'Add', backendName: 'cpu2', kernelFunc});\n\n tf.setBackend('cpu1');\n // This scalar lives in cpu1.\n const a = tf.scalar(5);\n\n tf.setBackend('cpu2');\n // This scalar lives in cpu2.\n const b = tf.scalar(3);\n\n // Verify that ops can execute with mixed backend data.\n ENGINE.startScope();\n tf.setBackend('cpu1');\n expectArraysClose(await tf.add(a, b).data(), [8]);\n\n tf.setBackend('cpu2');\n expectArraysClose(await tf.add(a, b).data(), [8]);\n ENGINE.endScope();\n\n tf.dispose([a, b]);\n });\n });\n\n/**\n * The following unit test is a special integration-style test that assumes\n * things about CPU & WebGL backends being registered. This tests doesn't live\n * in the backend directory because it is testing engine rather than\n * backend-specific details but needs a real backend to exist. This test will\n * fail if the CPU backends is not registered. This is intentional, we should\n * have coverage for when these backends are enabled and ensure they work with\n * the engine.\n */\ndescribeWithFlags(\n 'Switching WebGL + CPU backends', {\n predicate: testEnv => testEnv.backendName === 'webgl' &&\n ENGINE.backendNames().indexOf('webgl') !== -1 &&\n ENGINE.backendNames().indexOf('cpu') !== -1\n },\n () => {\n beforeEach(() => {\n tf.registerBackend('webgl1', tf.findBackendFactory('webgl'));\n tf.registerBackend('webgl2', tf.findBackendFactory('webgl'));\n tf.registerBackend('cpu1', tf.findBackendFactory('cpu'));\n });\n\n afterEach(() => {\n tf.removeBackend('webgl1');\n tf.removeBackend('webgl2');\n tf.removeBackend('cpu1');\n });\n\n it('can execute op with data from mixed backends', async () => {\n tf.setBackend('webgl1');\n const a = tf.scalar(5);\n\n tf.setBackend('webgl2');\n const b = tf.scalar(3);\n\n tf.setBackend('cpu1');\n const c = tf.scalar(2);\n\n // Verify that ops can execute with mixed backend data.\n ENGINE.startScope();\n tf.setBackend('webgl1');\n expectArraysClose(await tf.addN([a, b, c]).data(), [10]);\n\n tf.setBackend('webgl2');\n expectArraysClose(await tf.addN([a, b, c]).data(), [10]);\n\n tf.setBackend('cpu1');\n expectArraysClose(await tf.addN([a, b, c]).data(), [10]);\n ENGINE.endScope();\n\n expect(tf.memory().numTensors).toBe(3);\n expect(tf.memory().numDataBuffers).toBe(3);\n\n tf.dispose([a, b, c]);\n\n expect(tf.memory().numTensors).toBe(0);\n expect(tf.memory().numDataBuffers).toBe(0);\n });\n\n it('fromPixels with mixed backends works', async () => {\n tf.setBackend('webgl1');\n const a = tf.browser.fromPixels(\n new ImageData(new Uint8ClampedArray([1, 2, 3, 4]), 1, 1));\n\n tf.setBackend('webgl2');\n const b = tf.browser.fromPixels(\n new ImageData(new Uint8ClampedArray([5, 6, 7, 8]), 1, 1));\n\n expectArraysClose(await tf.add(a, b).data(), [6, 8, 10]);\n });\n\n it('single tidy multiple backends', () => {\n const kernelFunc = tf.getKernel('Square', 'webgl').kernelFunc;\n tf.registerKernel(\n {kernelName: 'Square', backendName: 'webgl1', kernelFunc});\n tf.registerKernel(\n {kernelName: 'Square', backendName: 'webgl2', kernelFunc});\n\n expect(tf.memory().numTensors).toBe(0);\n\n tf.tidy(() => {\n tf.setBackend('webgl1');\n const a = tf.scalar(1);\n a.square(); // Uploads to GPU.\n\n tf.setBackend('webgl2');\n const b = tf.scalar(1);\n b.square(); // Uploads to GPU.\n\n expect(tf.memory().numTensors).toBe(4);\n });\n expect(tf.memory().numTensors).toBe(0);\n\n tf.unregisterKernel('Square', 'webgl1');\n tf.unregisterKernel('Square', 'webgl2');\n });\n });\n\ninterface TestStorage extends KernelBackend {\n id: number;\n}\n\ndescribeWithFlags('Detects memory leaks in kernels', ALL_ENVS, () => {\n const backendName = 'test-mem';\n const kernelName = 'MyKernel';\n const kernelNameComplex = 'Kernel-complex';\n\n it('Detects memory leak in a kernel', () => {\n let dataIdsCount = 0;\n tf.registerBackend(backendName, () => {\n return {\n id: 1,\n dispose: () => null,\n disposeData: (dataId: {}) => null,\n numDataIds: () => dataIdsCount\n } as TestStorage;\n });\n\n const kernelWithMemLeak: KernelFunc = () => {\n dataIdsCount += 2;\n return {dataId: {}, shape: [], dtype: 'float32'};\n };\n tf.registerKernel({kernelName, backendName, kernelFunc: kernelWithMemLeak});\n\n tf.setBackend(backendName);\n expect(() => tf.engine().runKernel(kernelName, {}, {}))\n .toThrowError(\n /Backend 'test-mem' has an internal memory leak \\(1 data ids\\)/);\n\n tf.removeBackend(backendName);\n tf.unregisterKernel(kernelName, backendName);\n });\n\n it('No mem leak in a kernel with multiple outputs', () => {\n let dataIdsCount = 0;\n tf.registerBackend(backendName, () => {\n return {\n id: 1,\n dispose: () => null,\n disposeData: (dataId: {}) => null,\n numDataIds: () => dataIdsCount\n } as TestStorage;\n });\n tf.setBackend(backendName);\n\n const kernelWith3Outputs: KernelFunc = () => {\n dataIdsCount += 3;\n const t: TensorInfo = {dataId: {}, shape: [], dtype: 'float32'};\n return [t, t, t];\n };\n tf.registerKernel(\n {kernelName, backendName, kernelFunc: kernelWith3Outputs});\n\n const res = tf.engine().runKernel(kernelName, {}, {});\n expect(Array.isArray(res)).toBe(true);\n expect((res as Array<{}>).length).toBe(3);\n\n const kernelWithComplexOutputs: KernelFunc = () => {\n dataIdsCount += 3;\n return {dataId: {}, shape: [], dtype: 'complex64'};\n };\n tf.registerKernel({\n kernelName: kernelNameComplex,\n backendName,\n kernelFunc: kernelWithComplexOutputs\n });\n\n const res2 = tf.engine().runKernel(kernelNameComplex, {}, {}) as TensorInfo;\n expect(res2.shape).toEqual([]);\n expect(res2.dtype).toEqual('complex64');\n\n tf.removeBackend(backendName);\n tf.unregisterKernel(kernelName, backendName);\n tf.unregisterKernel(kernelNameComplex, backendName);\n });\n});\n\n// NOTE: This describe is purposefully not a describeWithFlags so that we\n// test tensor allocation where no scopes have been created.\ndescribe('Memory allocation outside a test scope', () => {\n it('constructing a tensor works', async () => {\n const backendName = 'test-backend';\n tf.registerBackend(backendName, () => {\n let storedValues: BackendValues = null;\n return {\n id: 1,\n floatPrecision: () => 32,\n write: (values: BackendValues, shape: number[], dtype: DataType) => {\n const dataId = {};\n storedValues = values;\n return dataId;\n },\n read: async (dataId: object) => storedValues,\n dispose: () => null,\n disposeData: (dataId: {}) => null\n } as TestStorage;\n });\n tf.setBackend(backendName);\n\n const a = tf.tensor1d([1, 2, 3]);\n expectArraysClose(await a.data(), [1, 2, 3]);\n a.dispose();\n\n tf.removeBackend(backendName);\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"engine_test.js","sourceRoot":"","sources":["../src/engine_test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment.d.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment.d.ts index a041679ed..adb859ae2 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment.d.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment.d.ts @@ -38,7 +38,6 @@ export declare class Environment { private urlFlags; platformName: string; platform: Platform; - getQueryParams: typeof getQueryParams; constructor(global: any); setPlatform(platformName: string, platform: Platform): void; registerFlag(flagName: string, evaluationFn: FlagEvaluationFn, setHook?: (value: FlagValue) => void): void; diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment.js b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment.js index 5e6c2d436..a3ad163ac 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment.js +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment.js @@ -31,8 +31,6 @@ export class Environment { this.flags = {}; this.flagRegistry = {}; this.urlFlags = {}; - // Jasmine spies on this in 'environment_test.ts' - this.getQueryParams = getQueryParams; this.populateURLFlags(); } setPlatform(platformName, platform) { @@ -114,7 +112,7 @@ export class Environment { typeof this.global.location.search === 'undefined') { return; } - const urlParams = this.getQueryParams(this.global.location.search); + const urlParams = getQueryParams(this.global.location.search); if (TENSORFLOWJS_FLAGS_PREFIX in urlParams) { const keyValues = urlParams[TENSORFLOWJS_FLAGS_PREFIX].split(','); keyValues.forEach(keyValue => { diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment.js.map index 33f41999b..69ef53125 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment.js.map @@ -1 +1 @@ -{"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.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 {Platform} from './platforms/platform';\nimport {isPromise} from './util_base';\n\n// Expects flags from URL in the format ?tfjsflags=FLAG1:1,FLAG2:true.\nconst TENSORFLOWJS_FLAGS_PREFIX = 'tfjsflags';\n\ntype FlagValue = number|boolean;\ntype FlagEvaluationFn = (() => FlagValue)|(() => Promise);\nexport type Flags = {\n [featureName: string]: FlagValue\n};\nexport type FlagRegistryEntry = {\n evaluationFn: FlagEvaluationFn;\n setHook?: (value: FlagValue) => void;\n};\n\n/**\n * The environment contains evaluated flags as well as the registered platform.\n * This is always used as a global singleton and can be retrieved with\n * `tf.env()`.\n *\n * @doc {heading: 'Environment'}\n */\nexport class Environment {\n private flags: Flags = {};\n private flagRegistry: {[flagName: string]: FlagRegistryEntry} = {};\n\n private urlFlags: Flags = {};\n\n platformName: string;\n platform: Platform;\n\n // Jasmine spies on this in 'environment_test.ts'\n getQueryParams = getQueryParams;\n\n // tslint:disable-next-line: no-any\n constructor(public global: any) {\n this.populateURLFlags();\n }\n\n setPlatform(platformName: string, platform: Platform) {\n if (this.platform != null) {\n console.warn(\n `Platform ${this.platformName} has already been set. ` +\n `Overwriting the platform with ${platform}.`);\n }\n this.platformName = platformName;\n this.platform = platform;\n }\n\n registerFlag(\n flagName: string, evaluationFn: FlagEvaluationFn,\n setHook?: (value: FlagValue) => void) {\n this.flagRegistry[flagName] = {evaluationFn, setHook};\n\n // Override the flag value from the URL. This has to happen here because the\n // environment is initialized before flags get registered.\n if (this.urlFlags[flagName] != null) {\n const flagValue = this.urlFlags[flagName];\n console.warn(\n `Setting feature override from URL ${flagName}: ${flagValue}.`);\n this.set(flagName, flagValue);\n }\n }\n\n async getAsync(flagName: string): Promise {\n if (flagName in this.flags) {\n return this.flags[flagName];\n }\n\n this.flags[flagName] = await this.evaluateFlag(flagName);\n return this.flags[flagName];\n }\n\n get(flagName: string): FlagValue {\n if (flagName in this.flags) {\n return this.flags[flagName];\n }\n\n const flagValue = this.evaluateFlag(flagName);\n if (isPromise(flagValue)) {\n throw new Error(\n `Flag ${flagName} cannot be synchronously evaluated. ` +\n `Please use getAsync() instead.`);\n }\n\n this.flags[flagName] = flagValue as number | boolean;\n\n return this.flags[flagName];\n }\n\n getNumber(flagName: string): number {\n return this.get(flagName) as number;\n }\n\n getBool(flagName: string): boolean {\n return this.get(flagName) as boolean;\n }\n\n getFlags(): Flags {\n return this.flags;\n }\n // For backwards compatibility.\n get features(): Flags {\n return this.flags;\n }\n\n set(flagName: string, value: FlagValue): void {\n if (this.flagRegistry[flagName] == null) {\n throw new Error(\n `Cannot set flag ${flagName} as it has not been registered.`);\n }\n this.flags[flagName] = value;\n if (this.flagRegistry[flagName].setHook != null) {\n this.flagRegistry[flagName].setHook(value);\n }\n }\n\n private evaluateFlag(flagName: string): FlagValue|Promise {\n if (this.flagRegistry[flagName] == null) {\n throw new Error(\n `Cannot evaluate flag '${flagName}': no evaluation function found.`);\n }\n return this.flagRegistry[flagName].evaluationFn();\n }\n\n setFlags(flags: Flags) {\n this.flags = Object.assign({}, flags);\n }\n\n reset() {\n this.flags = {};\n this.urlFlags = {};\n this.populateURLFlags();\n }\n\n private populateURLFlags(): void {\n if (typeof this.global === 'undefined' ||\n typeof this.global.location === 'undefined' ||\n typeof this.global.location.search === 'undefined') {\n return;\n }\n\n const urlParams = this.getQueryParams(this.global.location.search);\n if (TENSORFLOWJS_FLAGS_PREFIX in urlParams) {\n const keyValues = urlParams[TENSORFLOWJS_FLAGS_PREFIX].split(',');\n keyValues.forEach(keyValue => {\n const [key, value] = keyValue.split(':') as [string, string];\n this.urlFlags[key] = parseValue(key, value);\n });\n }\n }\n}\n\nexport function getQueryParams(queryString: string): {[key: string]: string} {\n const params = {};\n queryString.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g, (s, ...t) => {\n decodeParam(params, t[0], t[1]);\n return t.join('=');\n });\n return params;\n}\n\nfunction decodeParam(\n params: {[key: string]: string}, name: string, value?: string) {\n params[decodeURIComponent(name)] = decodeURIComponent(value || '');\n}\n\nfunction parseValue(flagName: string, value: string): FlagValue {\n value = value.toLowerCase();\n if (value === 'true' || value === 'false') {\n return value === 'true';\n } else if (`${+ value}` === value) {\n return +value;\n }\n throw new Error(\n `Could not parse value flag value ${value} for flag ${flagName}.`);\n}\n\n/**\n * Returns the current environment (a global singleton).\n *\n * The environment object contains the evaluated feature values as well as the\n * active platform.\n *\n * @doc {heading: 'Environment'}\n */\nexport function env() {\n return ENV;\n}\n\nexport let ENV: Environment = null;\nexport function setEnvironmentGlobal(environment: Environment) {\n ENV = environment;\n}\n"]} \ No newline at end of file +{"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment_test.js b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment_test.js index 12312f30e..f05d29c7a 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment_test.js +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment_test.js @@ -20,18 +20,18 @@ describe('initializes flags from the url', () => { // Silence console.warns for these tests. beforeAll(() => spyOn(console, 'warn').and.returnValue(null)); it('no overrides one registered flag', () => { + spyOn(environment, 'getQueryParams').and.returnValue({}); const global = { location: { search: '' } }; const env = new Environment(global); - spyOn(env, 'getQueryParams').and.returnValue({}); env.registerFlag('FLAG1', () => false); expect(env.get('FLAG1')).toBe(false); }); it('one unregistered flag', () => { - const global = { location: { search: '' } }; - const env = new Environment(global); - spyOn(env, 'getQueryParams').and.returnValue({ + spyOn(environment, 'getQueryParams').and.returnValue({ 'tfjsflags': 'FLAG1:true' }); + const global = { location: { search: '' } }; + const env = new Environment(global); expect(env.features).toEqual({}); }); it('one registered flag true', () => { diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment_test.js.map index a9983be42..ab0f66561 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/environment_test.js.map @@ -1 +1 @@ -{"version":3,"file":"environment_test.js","sourceRoot":"","sources":["../src/environment_test.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 * as environment from './environment';\nimport {Environment} from './environment';\n\ndescribe('initializes flags from the url', () => {\n // Silence console.warns for these tests.\n beforeAll(() => spyOn(console, 'warn').and.returnValue(null));\n\n it('no overrides one registered flag', () => {\n const global = {location: {search: ''}};\n const env = new Environment(global);\n spyOn(env, 'getQueryParams').and.returnValue({});\n\n env.registerFlag('FLAG1', () => false);\n expect(env.get('FLAG1')).toBe(false);\n });\n\n it('one unregistered flag', () => {\n const global = {location: {search: ''}};\n const env = new Environment(global);\n spyOn(env, 'getQueryParams').and.returnValue({\n 'tfjsflags': 'FLAG1:true'\n });\n expect(env.features).toEqual({});\n });\n\n it('one registered flag true', () => {\n const global = {location: {search: '?tfjsflags=FLAG1:true'}};\n const env = new Environment(global);\n env.registerFlag('FLAG1', () => false);\n\n expect(env.get('FLAG1')).toBe(true);\n });\n\n it('one registered flag false', () => {\n const global = {location: {search: '?tfjsflags=FLAG1:false'}};\n const env = new Environment(global);\n env.registerFlag('FLAG1', () => true);\n\n expect(env.get('FLAG1')).toBe(false);\n });\n\n it('two registered flags', () => {\n const global = {location: {search: '?tfjsflags=FLAG1:true,FLAG2:200'}};\n const env = new Environment(global);\n env.registerFlag('FLAG1', () => false);\n env.registerFlag('FLAG2', () => 100);\n\n expect(env.get('FLAG1')).toBe(true);\n expect(env.get('FLAG2')).toBe(200);\n });\n});\n\ndescribe('flag registration and evaluation', () => {\n it('one flag registered', () => {\n const env = new Environment({});\n\n const evalObject = {eval: () => true};\n const spy = spyOn(evalObject, 'eval').and.callThrough();\n\n env.registerFlag('FLAG1', () => evalObject.eval());\n\n expect(env.get('FLAG1')).toBe(true);\n expect(spy.calls.count()).toBe(1);\n\n // Multiple calls to get do not call the evaluation function again.\n expect(env.get('FLAG1')).toBe(true);\n expect(spy.calls.count()).toBe(1);\n });\n\n it('multiple flags registered', () => {\n const env = new Environment({});\n\n const evalObject = {eval1: () => true, eval2: () => 100};\n const spy1 = spyOn(evalObject, 'eval1').and.callThrough();\n const spy2 = spyOn(evalObject, 'eval2').and.callThrough();\n\n env.registerFlag('FLAG1', () => evalObject.eval1());\n env.registerFlag('FLAG2', () => evalObject.eval2());\n\n expect(env.get('FLAG1')).toBe(true);\n expect(spy1.calls.count()).toBe(1);\n expect(spy2.calls.count()).toBe(0);\n expect(env.get('FLAG2')).toBe(100);\n expect(spy1.calls.count()).toBe(1);\n expect(spy2.calls.count()).toBe(1);\n\n // Multiple calls to get do not call the evaluation function again.\n expect(env.get('FLAG1')).toBe(true);\n expect(env.get('FLAG2')).toBe(100);\n expect(spy1.calls.count()).toBe(1);\n expect(spy2.calls.count()).toBe(1);\n });\n\n it('setting overrides value', () => {\n const env = new Environment({});\n\n const evalObject = {eval: () => true};\n const spy = spyOn(evalObject, 'eval').and.callThrough();\n\n env.registerFlag('FLAG1', () => evalObject.eval());\n\n expect(env.get('FLAG1')).toBe(true);\n expect(spy.calls.count()).toBe(1);\n\n env.set('FLAG1', false);\n\n expect(env.get('FLAG1')).toBe(false);\n expect(spy.calls.count()).toBe(1);\n });\n\n it('set hook is called', () => {\n const env = new Environment({});\n\n const evalObject = {eval: () => true, setHook: () => true};\n const evalSpy = spyOn(evalObject, 'eval').and.callThrough();\n const setHookSpy = spyOn(evalObject, 'setHook').and.callThrough();\n\n env.registerFlag(\n 'FLAG1', () => evalObject.eval(), () => evalObject.setHook());\n\n expect(env.get('FLAG1')).toBe(true);\n expect(evalSpy.calls.count()).toBe(1);\n expect(setHookSpy.calls.count()).toBe(0);\n\n env.set('FLAG1', false);\n\n expect(env.get('FLAG1')).toBe(false);\n expect(evalSpy.calls.count()).toBe(1);\n expect(setHookSpy.calls.count()).toBe(1);\n });\n});\n\ndescribe('environment.getQueryParams', () => {\n it('basic', () => {\n expect(environment.getQueryParams('?a=1&b=hi&f=animal'))\n .toEqual({'a': '1', 'b': 'hi', 'f': 'animal'});\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"environment_test.js","sourceRoot":"","sources":["../src/environment_test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/flags.js b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/flags.js index 361cc4b7a..047b0d8bf 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/flags.js +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/flags.js @@ -55,6 +55,4 @@ ENV.registerFlag('DEPRECATION_WARNINGS_ENABLED', () => true); ENV.registerFlag('IS_TEST', () => false); /** Whether to check computation result for errors. */ ENV.registerFlag('CHECK_COMPUTATION_FOR_ERRORS', () => true); -/** Whether the backend needs to wrap input to imageBitmap. */ -ENV.registerFlag('WRAP_TO_IMAGEBITMAP', () => false); //# sourceMappingURL=flags.js.map \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/flags.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/flags.js.map index aa3cdc7d3..7da8524da 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/flags.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/flags.js.map @@ -1 +1 @@ -{"version":3,"file":"flags.js","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,UAAU,CAAC;AAElB,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAC;AAElC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC;AAElB;;GAEG;AAEH,oCAAoC;AACpC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE;IAClD,IAAI,UAAU,EAAE;QACd,OAAO,CAAC,IAAI,CACR,2DAA2D;YAC3D,6CAA6C;YAC7C,yCAAyC,CAAC,CAAC;KAChD;AACH,CAAC,CAAC,CAAC;AAEH,yEAAyE;AACzE,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;AAE9D,yEAAyE;AACzE,GAAG,CAAC,YAAY,CACZ,SAAS,EACT,GAAG,EAAE,CAAC,CAAC,OAAO,OAAO,KAAK,WAAW,CAAC;IAClC,CAAC,OAAO,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC;IACzC,CAAC,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC;AAExD,sCAAsC;AACtC,GAAG,CAAC,YAAY,CACZ,WAAW,EACX,GAAG,EAAE,CAAC,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,IAAI,IAAI;IACvD,SAAS,CAAC,SAAS,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;IACjE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAE7C;;;GAGG;AACH,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAEtC;;;GAGG;AACH,GAAG,CAAC,YAAY,CACZ,oCAAoC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAEtE,gDAAgD;AAChD,GAAG,CAAC,YAAY,CAAC,8BAA8B,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AAE7D,kCAAkC;AAClC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAEzC,sDAAsD;AACtD,GAAG,CAAC,YAAY,CAAC,8BAA8B,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AAE7D,8DAA8D;AAC9D,GAAG,CAAC,YAAY,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,KAAK,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 */\nimport './engine';\n\nimport * as device_util from './device_util';\nimport {env} from './environment';\n\nconst ENV = env();\n\n/**\n * This file contains environment-related flag registrations.\n */\n\n/** Whether to enable debug mode. */\nENV.registerFlag('DEBUG', () => false, debugValue => {\n if (debugValue) {\n console.warn(\n 'Debugging mode is ON. The output of every math call will ' +\n 'be downloaded to CPU and checked for NaNs. ' +\n 'This significantly impacts performance.');\n }\n});\n\n/** Whether we are in a browser (as versus, say, node.js) environment. */\nENV.registerFlag('IS_BROWSER', () => device_util.isBrowser());\n\n/** Whether we are in a browser (as versus, say, node.js) environment. */\nENV.registerFlag(\n 'IS_NODE',\n () => (typeof process !== 'undefined') &&\n (typeof process.versions !== 'undefined') &&\n (typeof process.versions.node !== 'undefined'));\n\n/** Whether this browser is Chrome. */\nENV.registerFlag(\n 'IS_CHROME',\n () => typeof navigator !== 'undefined' && navigator != null &&\n navigator.userAgent != null && /Chrome/.test(navigator.userAgent) &&\n /Google Inc/.test(navigator.vendor));\n\n/**\n * True when the environment is \"production\" where we disable safety checks\n * to gain performance.\n */\nENV.registerFlag('PROD', () => false);\n\n/**\n * Whether to do sanity checks when inferring a shape from user-provided\n * values, used when creating a new tensor.\n */\nENV.registerFlag(\n 'TENSORLIKE_CHECK_SHAPE_CONSISTENCY', () => ENV.getBool('DEBUG'));\n\n/** Whether deprecation warnings are enabled. */\nENV.registerFlag('DEPRECATION_WARNINGS_ENABLED', () => true);\n\n/** True if running unit tests. */\nENV.registerFlag('IS_TEST', () => false);\n\n/** Whether to check computation result for errors. */\nENV.registerFlag('CHECK_COMPUTATION_FOR_ERRORS', () => true);\n\n/** Whether the backend needs to wrap input to imageBitmap. */\nENV.registerFlag('WRAP_TO_IMAGEBITMAP', () => false);\n"]} \ No newline at end of file +{"version":3,"file":"flags.js","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,UAAU,CAAC;AAElB,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAC;AAElC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC;AAElB;;GAEG;AAEH,oCAAoC;AACpC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE;IAClD,IAAI,UAAU,EAAE;QACd,OAAO,CAAC,IAAI,CACR,2DAA2D;YAC3D,6CAA6C;YAC7C,yCAAyC,CAAC,CAAC;KAChD;AACH,CAAC,CAAC,CAAC;AAEH,yEAAyE;AACzE,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;AAE9D,yEAAyE;AACzE,GAAG,CAAC,YAAY,CACZ,SAAS,EACT,GAAG,EAAE,CAAC,CAAC,OAAO,OAAO,KAAK,WAAW,CAAC;IAClC,CAAC,OAAO,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC;IACzC,CAAC,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC;AAExD,sCAAsC;AACtC,GAAG,CAAC,YAAY,CACZ,WAAW,EACX,GAAG,EAAE,CAAC,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,IAAI,IAAI;IACvD,SAAS,CAAC,SAAS,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;IACjE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAE7C;;;GAGG;AACH,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAEtC;;;GAGG;AACH,GAAG,CAAC,YAAY,CACZ,oCAAoC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAEtE,gDAAgD;AAChD,GAAG,CAAC,YAAY,CAAC,8BAA8B,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AAE7D,kCAAkC;AAClC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAEzC,sDAAsD;AACtD,GAAG,CAAC,YAAY,CAAC,8BAA8B,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/flags_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/flags_test.js.map index 17bab5064..53a71669a 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/flags_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/flags_test.js.map @@ -1 +1 @@ -{"version":3,"file":"flags_test.js","sourceRoot":"","sources":["../src/flags_test.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 * as device_util from './device_util';\nimport * as tf from './index';\n\ndescribe('DEBUG', () => {\n beforeEach(() => {\n tf.env().reset();\n spyOn(console, 'warn').and.callFake((msg: string) => {});\n });\n afterAll(() => tf.env().reset());\n\n it('disabled by default', () => {\n expect(tf.env().getBool('DEBUG')).toBe(false);\n });\n\n it('warns when enabled', () => {\n const consoleWarnSpy = console.warn as jasmine.Spy;\n tf.env().set('DEBUG', true);\n expect(consoleWarnSpy.calls.count()).toBe(1);\n expect((consoleWarnSpy.calls.first().args[0] as string)\n .startsWith('Debugging mode is ON. '))\n .toBe(true);\n\n expect(tf.env().getBool('DEBUG')).toBe(true);\n expect(consoleWarnSpy.calls.count()).toBe(1);\n });\n});\n\n// TODO (yassogba) figure out why this spy is not working / fix this test.\ndescribe('IS_BROWSER', () => {\n let isBrowser: boolean;\n beforeEach(() => {\n tf.env().reset();\n spyOn(device_util, 'isBrowser').and.callFake(() => isBrowser);\n });\n afterAll(() => tf.env().reset());\n\n // tslint:disable-next-line: ban\n xit('isBrowser: true', () => {\n isBrowser = true;\n expect(tf.env().getBool('IS_BROWSER')).toBe(true);\n });\n\n // tslint:disable-next-line: ban\n xit('isBrowser: false', () => {\n isBrowser = false;\n expect(tf.env().getBool('IS_BROWSER')).toBe(false);\n });\n});\n\ndescribe('PROD', () => {\n beforeEach(() => tf.env().reset());\n afterAll(() => tf.env().reset());\n\n it('disabled by default', () => {\n expect(tf.env().getBool('PROD')).toBe(false);\n });\n});\n\ndescribe('TENSORLIKE_CHECK_SHAPE_CONSISTENCY', () => {\n beforeEach(() => tf.env().reset());\n afterAll(() => tf.env().reset());\n\n it('disabled when debug is disabled', () => {\n tf.env().set('DEBUG', false);\n expect(tf.env().getBool('TENSORLIKE_CHECK_SHAPE_CONSISTENCY')).toBe(false);\n });\n\n it('enabled when debug is enabled', () => {\n // Silence debug warnings.\n spyOn(console, 'warn');\n tf.enableDebugMode();\n expect(tf.env().getBool('TENSORLIKE_CHECK_SHAPE_CONSISTENCY')).toBe(true);\n });\n});\n\ndescribe('DEPRECATION_WARNINGS_ENABLED', () => {\n beforeEach(() => tf.env().reset());\n afterAll(() => tf.env().reset());\n\n it('enabled by default', () => {\n expect(tf.env().getBool('DEPRECATION_WARNINGS_ENABLED')).toBe(true);\n });\n});\n\ndescribe('IS_TEST', () => {\n beforeEach(() => tf.env().reset());\n afterAll(() => tf.env().reset());\n\n it('disabled by default', () => {\n expect(tf.env().getBool('IS_TEST')).toBe(false);\n });\n});\n\ndescribe('async flags test', () => {\n const asyncFlagName = 'ASYNC_FLAG';\n beforeEach(() => tf.env().registerFlag(asyncFlagName, async () => true));\n\n afterEach(() => tf.env().reset());\n\n it('evaluating async flag works', async () => {\n const flagVal = await tf.env().getAsync(asyncFlagName);\n expect(flagVal).toBe(true);\n });\n\n it('evaluating async flag synchronously fails', async () => {\n expect(() => tf.env().get(asyncFlagName)).toThrow();\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"flags_test.js","sourceRoot":"","sources":["../src/flags_test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;QACjB,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAW,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IAEjC,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,cAAc,GAAG,OAAO,CAAC,IAAmB,CAAC;QACnD,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAE,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAY;aAC3C,UAAU,CAAC,wBAAwB,CAAC,CAAC;aAC5C,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,0EAA0E;AAC1E,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAI,SAAkB,CAAC;IACvB,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;QACjB,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IAEjC,gCAAgC;IAChC,GAAG,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC1B,SAAS,GAAG,IAAI,CAAC;QACjB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,gCAAgC;IAChC,GAAG,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC3B,SAAS,GAAG,KAAK,CAAC;QAClB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IAEjC,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IAEjC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,0BAA0B;QAC1B,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvB,EAAE,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IAEjC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IAEjC,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,aAAa,GAAG,YAAY,CAAC;IACnC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEzE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IAElC,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/global_util.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/global_util.js.map index 9cbf27843..81ca5f2e5 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/global_util.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/global_util.js.map @@ -1 +1 @@ -{"version":3,"file":"global_util.js","sourceRoot":"","sources":["../src/global_util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,8EAA8E;AAC9E,2EAA2E;AAC3E,YAAY;AACZ,kCAAkC;AAClC,IAAI,eAA+C,CAAC;AACpD,kCAAkC;AAClC,MAAM,UAAU,kBAAkB;IAChC,IAAI,eAAe,IAAI,IAAI,EAAE;QAC3B,kCAAkC;QAClC,IAAI,EAAO,CAAC;QACZ,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;YACnC,EAAE,GAAG,MAAM,CAAC;SACb;aAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;YAC1C,EAAE,GAAG,MAAM,CAAC;SACb;aAAM,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,WAAW,EAAE;YAC3C,EAAE,GAAG,OAAO,CAAC;SACd;aAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;YACxC,EAAE,GAAG,IAAI,CAAC;SACX;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACnD;QACD,eAAe,GAAG,EAAE,CAAC;KACtB;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,kCAAkC;AAClC,SAAS,YAAY;IACnB,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAChC,IAAI,EAAE,CAAC,UAAU,IAAI,IAAI,EAAE;QACzB,EAAE,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;KAC3B;IACD,OAAO,EAAE,CAAC,UAAU,CAAC;AACvB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAI,GAAW,EAAE,IAAa;IACrD,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAC3B;SAAM;QACL,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC;QACzB,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC9B,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAC3B;AACH,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// Note that the identifier globalNameSpace is scoped to this module, but will\n// always resolve to the same global object regardless of how the module is\n// resolved.\n// tslint:disable-next-line:no-any\nlet globalNameSpace: {_tfGlobals: Map};\n// tslint:disable-next-line:no-any\nexport function getGlobalNamespace(): {_tfGlobals: Map} {\n if (globalNameSpace == null) {\n // tslint:disable-next-line:no-any\n let ns: any;\n if (typeof (window) !== 'undefined') {\n ns = window;\n } else if (typeof (global) !== 'undefined') {\n ns = global;\n } else if (typeof (process) !== 'undefined') {\n ns = process;\n } else if (typeof (self) !== 'undefined') {\n ns = self;\n } else {\n throw new Error('Could not find a global object');\n }\n globalNameSpace = ns;\n }\n return globalNameSpace;\n}\n\n// tslint:disable-next-line:no-any\nfunction getGlobalMap(): Map {\n const ns = getGlobalNamespace();\n if (ns._tfGlobals == null) {\n ns._tfGlobals = new Map();\n }\n return ns._tfGlobals;\n}\n\n/**\n * Returns a globally accessible 'singleton' object.\n *\n * @param key the name of the object\n * @param init a function to initialize to initialize this object\n * the first time it is fetched.\n */\nexport function getGlobal(key: string, init: () => T): T {\n const globalMap = getGlobalMap();\n if (globalMap.has(key)) {\n return globalMap.get(key);\n } else {\n const singleton = init();\n globalMap.set(key, singleton);\n return globalMap.get(key);\n }\n}\n"]} \ No newline at end of file +{"version":3,"file":"global_util.js","sourceRoot":"","sources":["../src/global_util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,8EAA8E;AAC9E,2EAA2E;AAC3E,YAAY;AACZ,kCAAkC;AAClC,IAAI,eAA+C,CAAC;AACpD,kCAAkC;AAClC,MAAM,UAAU,kBAAkB;IAChC,IAAI,eAAe,IAAI,IAAI,EAAE;QAC3B,kCAAkC;QAClC,IAAI,EAAO,CAAC;QACZ,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;YACnC,EAAE,GAAG,MAAM,CAAC;SACb;aAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;YAC1C,EAAE,GAAG,MAAM,CAAC;SACb;aAAM,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,WAAW,EAAE;YAC3C,EAAE,GAAG,OAAO,CAAC;SACd;aAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;YACxC,EAAE,GAAG,IAAI,CAAC;SACX;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACnD;QACD,eAAe,GAAG,EAAE,CAAC;KACtB;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,kCAAkC;AAClC,SAAS,YAAY;IACnB,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAChC,IAAI,EAAE,CAAC,UAAU,IAAI,IAAI,EAAE;QACzB,EAAE,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;KAC3B;IACD,OAAO,EAAE,CAAC,UAAU,CAAC;AACvB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAI,GAAW,EAAE,IAAa;IACrD,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAC3B;SAAM;QACL,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC;QACzB,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC9B,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAC3B;AACH,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/globals.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/globals.js.map index c246639ab..ec0171734 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/globals.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/globals.js.map @@ -1 +1 @@ -{"version":3,"file":"globals.js","sourceRoot":"","sources":["../src/globals.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\nimport {KernelBackend} from './backends/backend';\nimport {ENGINE, Engine, MemoryInfo, ProfileInfo, ScopeFn, TimingInfo} from './engine';\nimport {env} from './environment';\n\nimport {Platform} from './platforms/platform';\nimport {setDeprecationWarningFn, Tensor} from './tensor';\nimport {TensorContainer} from './tensor_types';\nimport {getTensorsInContainer} from './tensor_util';\n\n/**\n * Enables production mode which disables correctness checks in favor of\n * performance.\n *\n * @doc {heading: 'Environment'}\n */\nexport function enableProdMode(): void {\n env().set('PROD', true);\n}\n\n/**\n * Enables debug mode which will log information about all executed kernels:\n * the elapsed time of the kernel execution, as well as the rank, shape, and\n * size of the output tensor.\n *\n * Debug mode will significantly slow down your application as it will\n * download the result of every operation to the CPU. This should not be used in\n * production. Debug mode does not affect the timing information of the kernel\n * execution as we do not measure download time in the kernel execution time.\n *\n * See also: `tf.profile`, `tf.memory`.\n *\n * @doc {heading: 'Environment'}\n */\nexport function enableDebugMode(): void {\n env().set('DEBUG', true);\n}\n\n/** Globally disables deprecation warnings */\nexport function disableDeprecationWarnings(): void {\n env().set('DEPRECATION_WARNINGS_ENABLED', false);\n console.warn(`TensorFlow.js deprecation warnings have been disabled.`);\n}\n\n/** Warn users about deprecated functionality. */\nexport function deprecationWarn(msg: string) {\n if (env().getBool('DEPRECATION_WARNINGS_ENABLED')) {\n console.warn(\n msg + ' You can disable deprecation warnings with ' +\n 'tf.disableDeprecationWarnings().');\n }\n}\nsetDeprecationWarningFn(deprecationWarn);\n\n/**\n * Dispose all variables kept in backend engine.\n *\n * @doc {heading: 'Environment'}\n */\nexport function disposeVariables(): void {\n ENGINE.disposeVariables();\n}\n\n/**\n * It returns the global engine that keeps track of all tensors and backends.\n *\n * @doc {heading: 'Environment'}\n */\nexport function engine(): Engine {\n return ENGINE;\n}\n\n/**\n * Returns memory info at the current time in the program. The result is an\n * object with the following properties:\n *\n * - `numBytes`: Number of bytes allocated (undisposed) at this time.\n * - `numTensors`: Number of unique tensors allocated.\n * - `numDataBuffers`: Number of unique data buffers allocated\n * (undisposed) at this time, which is ≤ the number of tensors\n * (e.g. `a.reshape(newShape)` makes a new Tensor that shares the same\n * data buffer with `a`).\n * - `unreliable`: True if the memory usage is unreliable. See `reasons` when\n * `unreliable` is true.\n * - `reasons`: `string[]`, reasons why the memory is unreliable, present if\n * `unreliable` is true.\n *\n * WebGL Properties:\n * - `numBytesInGPU`: Number of bytes allocated (undisposed) in the GPU only at\n * this time.\n *\n * @doc {heading: 'Performance', subheading: 'Memory'}\n */\nexport function memory(): MemoryInfo {\n return ENGINE.memory();\n}\n\n/**\n * Executes the provided function `f()` and returns a promise that resolves\n * with information about the function's memory use:\n * - `newBytes`: the number of new bytes allocated\n * - `newTensors`: the number of new tensors created\n * - `peakBytes`: the peak number of bytes allocated\n * - `kernels`: an array of objects for each kernel involved that reports\n * their input and output shapes, number of bytes used, and number of new\n * tensors created.\n * - `kernelNames`: an array of unique strings with just the names of the\n * kernels in the `kernels` array.\n *\n * ```js\n * const profile = await tf.profile(() => {\n * const x = tf.tensor1d([1, 2, 3]);\n * let x2 = x.square();\n * x2.dispose();\n * x2 = x.square();\n * x2.dispose();\n * return x;\n * });\n *\n * console.log(`newBytes: ${profile.newBytes}`);\n * console.log(`newTensors: ${profile.newTensors}`);\n * console.log(`byte usage over all kernels: ${profile.kernels.map(k =>\n * k.totalBytesSnapshot)}`);\n * ```\n *\n *\n * @doc {heading: 'Performance', subheading: 'Profile'}\n */\nexport function profile(f: () => (TensorContainer | Promise)):\n Promise {\n return ENGINE.profile(f);\n}\n\n/**\n * Executes the provided function `fn` and after it is executed, cleans up all\n * intermediate tensors allocated by `fn` except those returned by `fn`.\n * `fn` must not return a Promise (async functions not allowed). The returned\n * result can be a complex object.\n *\n * Using this method helps avoid memory leaks. In general, wrap calls to\n * operations in `tf.tidy` for automatic memory cleanup.\n *\n * NOTE: Variables do *not* get cleaned up when inside a tidy(). If you want to\n * dispose variables, please use `tf.disposeVariables` or call dispose()\n * directly on variables.\n *\n * ```js\n * // y = 2 ^ 2 + 1\n * const y = tf.tidy(() => {\n * // a, b, and one will be cleaned up when the tidy ends.\n * const one = tf.scalar(1);\n * const a = tf.scalar(2);\n * const b = a.square();\n *\n * console.log('numTensors (in tidy): ' + tf.memory().numTensors);\n *\n * // The value returned inside the tidy function will return\n * // through the tidy, in this case to the variable y.\n * return b.add(one);\n * });\n *\n * console.log('numTensors (outside tidy): ' + tf.memory().numTensors);\n * y.print();\n * ```\n *\n * @param nameOrFn The name of the closure, or the function to execute.\n * If a name is provided, the 2nd argument should be the function.\n * If debug mode is on, the timing and the memory usage of the function\n * will be tracked and displayed on the console using the provided name.\n * @param fn The function to execute.\n *\n * @doc {heading: 'Performance', subheading: 'Memory'}\n */\nexport function tidy(\n nameOrFn: string|ScopeFn, fn?: ScopeFn): T {\n return ENGINE.tidy(nameOrFn, fn);\n}\n\n/**\n * Disposes any `tf.Tensor`s found within the provided object.\n *\n * @param container an object that may be a `tf.Tensor` or may directly\n * contain `tf.Tensor`s, such as a `Tensor[]` or `{key: Tensor, ...}`. If\n * the object is not a `tf.Tensor` or does not contain `Tensors`, nothing\n * happens. In general it is safe to pass any object here, except that\n * `Promise`s are not supported.\n *\n * @doc {heading: 'Performance', subheading: 'Memory'}\n */\nexport function dispose(container: TensorContainer) {\n const tensors = getTensorsInContainer(container);\n tensors.forEach(tensor => tensor.dispose());\n}\n\n/**\n * Keeps a `tf.Tensor` generated inside a `tf.tidy` from being disposed\n * automatically.\n *\n * ```js\n * let b;\n * const y = tf.tidy(() => {\n * const one = tf.scalar(1);\n * const a = tf.scalar(2);\n *\n * // b will not be cleaned up by the tidy. a and one will be cleaned up\n * // when the tidy ends.\n * b = tf.keep(a.square());\n *\n * console.log('numTensors (in tidy): ' + tf.memory().numTensors);\n *\n * // The value returned inside the tidy function will return\n * // through the tidy, in this case to the variable y.\n * return b.add(one);\n * });\n *\n * console.log('numTensors (outside tidy): ' + tf.memory().numTensors);\n * console.log('y:');\n * y.print();\n * console.log('b:');\n * b.print();\n * ```\n *\n * @param result The tensor to keep from being disposed.\n *\n * @doc {heading: 'Performance', subheading: 'Memory'}\n */\nexport function keep(result: T): T {\n return ENGINE.keep(result);\n}\n\n/**\n * Executes `f()` and returns a promise that resolves with timing\n * information.\n *\n * The result is an object with the following properties:\n *\n * - `wallMs`: Wall execution time.\n * - `kernelMs`: Kernel execution time, ignoring data transfer. If using the\n * WebGL backend and the query timer extension is not available, this will\n * return an error object.\n * - On `WebGL` The following additional properties exist:\n * - `uploadWaitMs`: CPU blocking time on texture uploads.\n * - `downloadWaitMs`: CPU blocking time on texture downloads (readPixels).\n *\n * ```js\n * const x = tf.randomNormal([20, 20]);\n * const time = await tf.time(() => x.matMul(x));\n *\n * console.log(`kernelMs: ${time.kernelMs}, wallTimeMs: ${time.wallMs}`);\n * ```\n *\n * @param f The function to execute and time.\n *\n * @doc {heading: 'Performance', subheading: 'Timing'}\n */\nexport function time(f: () => void): Promise {\n return ENGINE.time(f);\n}\n\n/**\n * Sets the backend (cpu, webgl, wasm, etc) responsible for creating tensors and\n * executing operations on those tensors. Returns a promise that resolves\n * to a boolean if the backend initialization was successful.\n *\n * Note this disposes the current backend, if any, as well as any tensors\n * associated with it. A new backend is initialized, even if it is of the\n * same type as the previous one.\n *\n * @param backendName The name of the backend. Currently supports\n * `'webgl'|'cpu'` in the browser, `'tensorflow'` under node.js\n * (requires tfjs-node), and `'wasm'` (requires tfjs-backend-wasm).\n *\n * @doc {heading: 'Backends'}\n */\nexport function setBackend(backendName: string): Promise {\n return ENGINE.setBackend(backendName);\n}\n\n/**\n * Returns a promise that resolves when the currently selected backend (or the\n * highest priority one) has initialized. Await this promise when you are using\n * a backend that has async initialization.\n *\n * @doc {heading: 'Backends'}\n */\nexport function ready(): Promise {\n return ENGINE.ready();\n}\n\n/**\n * Returns the current backend name (cpu, webgl, etc). The backend is\n * responsible for creating tensors and executing operations on those tensors.\n *\n * @doc {heading: 'Backends'}\n */\nexport function getBackend(): string {\n return ENGINE.backendName;\n}\n\n/**\n * Removes a backend and the registered factory.\n *\n * @doc {heading: 'Backends'}\n */\nexport function removeBackend(name: string): void {\n ENGINE.removeBackend(name);\n}\n\n/**\n * Finds the backend registered under the provided name. Returns null if the\n * name is not in the registry, or the registration hasn't finished yet.\n */\nexport function findBackend(name: string): KernelBackend {\n return ENGINE.findBackend(name);\n}\n\n/**\n * Finds the backend factory registered under the provided name. Returns a\n * function that produces a new backend when called. Returns null if the name\n * is not in the registry.\n */\nexport function findBackendFactory(name: string): () =>\n KernelBackend | Promise {\n return ENGINE.findBackendFactory(name);\n}\n\n/**\n * Registers a global backend. The registration should happen when importing\n * a module file (e.g. when importing `backend_webgl.ts`), and is used for\n * modular builds (e.g. custom tfjs bundle with only webgl support).\n *\n * @param factory The backend factory function. When called, it should\n * return a backend instance, or a promise of an instance.\n * @param priority The priority of the backend (higher = more important).\n * In case multiple backends are registered, the priority is used to find\n * the best backend. Defaults to 1.\n * @return False if there is already a registered backend under this name, true\n * if not.\n *\n * @doc {heading: 'Backends'}\n */\nexport function registerBackend(\n name: string, factory: () => KernelBackend | Promise,\n priority = 1): boolean {\n return ENGINE.registerBackend(name, factory, priority);\n}\n\n/**\n * Gets the current backend. If no backends have been initialized, this will\n * attempt to initialize the best backend. Will throw an error if the highest\n * priority backend has async initialization, in which case, you should call\n * 'await tf.ready()' before running other code.\n *\n * @doc {heading: 'Backends'}\n */\nexport function backend(): KernelBackend {\n return ENGINE.backend;\n}\n\n/**\n * Sets the global platform.\n *\n * @param platformName The name of this platform.\n * @param platform A platform implementation.\n */\nexport function setPlatform(platformName: string, platform: Platform) {\n env().setPlatform(platformName, platform);\n}\n"]} \ No newline at end of file +{"version":3,"file":"globals.js","sourceRoot":"","sources":["../src/globals.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/globals_test.js b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/globals_test.js index cd6db11b5..ca82dfd48 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/globals_test.js +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/globals_test.js @@ -22,11 +22,7 @@ describe('deprecation warnings', () => { spyOn(console, 'warn').and.callFake((msg) => null); }); it('deprecationWarn warns', () => { - // flags_test.ts verifies deprecation warnings are on by default. - const deprecationVal = tf.env().get('DEPRECATION_WARNINGS_ENABLED'); - tf.env().set('DEPRECATION_WARNINGS_ENABLED', true); tf.deprecationWarn('xyz is deprecated.'); - tf.env().set('DEPRECATION_WARNINGS_ENABLED', deprecationVal); expect(console.warn).toHaveBeenCalledTimes(1); expect(console.warn) .toHaveBeenCalledWith('xyz is deprecated. You can disable deprecation warnings with ' + diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/globals_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/globals_test.js.map index a5d96377b..c90ecd77b 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/globals_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/globals_test.js.map @@ -1 +1 @@ -{"version":3,"file":"globals_test.js","sourceRoot":"","sources":["../src/globals_test.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 * as tf from './index';\nimport {ALL_ENVS, describeWithFlags, NODE_ENVS} from './jasmine_util';\nimport {expectArraysClose} from './test_util';\n\ndescribe('deprecation warnings', () => {\n beforeEach(() => {\n spyOn(console, 'warn').and.callFake((msg: string): void => null);\n });\n\n it('deprecationWarn warns', () => {\n // flags_test.ts verifies deprecation warnings are on by default.\n const deprecationVal = tf.env().get('DEPRECATION_WARNINGS_ENABLED');\n tf.env().set('DEPRECATION_WARNINGS_ENABLED', true);\n tf.deprecationWarn('xyz is deprecated.');\n tf.env().set('DEPRECATION_WARNINGS_ENABLED', deprecationVal);\n expect(console.warn).toHaveBeenCalledTimes(1);\n expect(console.warn)\n .toHaveBeenCalledWith(\n 'xyz is deprecated. You can disable deprecation warnings with ' +\n 'tf.disableDeprecationWarnings().');\n });\n\n it('disableDeprecationWarnings called, deprecationWarn doesnt warn', () => {\n tf.disableDeprecationWarnings();\n expect(console.warn).toHaveBeenCalledTimes(1);\n expect(console.warn)\n .toHaveBeenCalledWith(\n 'TensorFlow.js deprecation warnings have been disabled.');\n\n // deprecationWarn no longer warns.\n tf.deprecationWarn('xyz is deprecated.');\n expect(console.warn).toHaveBeenCalledTimes(1);\n });\n});\n\ndescribe('Flag flipping methods', () => {\n beforeEach(() => {\n tf.env().reset();\n });\n\n afterEach(() => {\n tf.env().reset();\n });\n\n it('tf.enableProdMode', () => {\n tf.enableProdMode();\n expect(tf.env().getBool('PROD')).toBe(true);\n });\n\n it('tf.enableDebugMode', () => {\n // Silence debug warnings.\n spyOn(console, 'warn');\n tf.enableDebugMode();\n expect(tf.env().getBool('DEBUG')).toBe(true);\n });\n});\n\ndescribeWithFlags('time cpu', NODE_ENVS, () => {\n it('simple upload', async () => {\n const a = tf.zeros([10, 10]);\n const time = await tf.time(() => a.square());\n expect(time.kernelMs > 0);\n expect(time.wallMs >= time.kernelMs);\n });\n});\n\ndescribeWithFlags('tidy', ALL_ENVS, () => {\n it('returns Tensor', async () => {\n tf.tidy(() => {\n const a = tf.tensor1d([1, 2, 3]);\n let b = tf.tensor1d([0, 0, 0]);\n\n expect(tf.memory().numTensors).toBe(2);\n tf.tidy(() => {\n const result = tf.tidy(() => {\n b = tf.add(a, b);\n b = tf.add(a, b);\n b = tf.add(a, b);\n return tf.add(a, b);\n });\n\n // result is new. All intermediates should be disposed.\n expect(tf.memory().numTensors).toBe(2 + 1);\n expect(result.shape).toEqual([3]);\n expect(result.isDisposed).toBe(false);\n });\n\n // a, b are still here, result should be disposed.\n expect(tf.memory().numTensors).toBe(2);\n });\n\n expect(tf.memory().numTensors).toBe(0);\n });\n\n it('multiple disposes does not affect num arrays', () => {\n expect(tf.memory().numTensors).toBe(0);\n const a = tf.tensor1d([1, 2, 3]);\n const b = tf.tensor1d([1, 2, 3]);\n expect(tf.memory().numTensors).toBe(2);\n a.dispose();\n a.dispose();\n expect(tf.memory().numTensors).toBe(1);\n b.dispose();\n expect(tf.memory().numTensors).toBe(0);\n });\n\n it('allows primitive types', () => {\n const a = tf.tidy(() => 5);\n expect(a).toBe(5);\n\n const b = tf.tidy(() => 'hello');\n expect(b).toBe('hello');\n });\n\n it('allows complex types', async () => {\n const res = tf.tidy(() => {\n return {a: tf.scalar(1), b: 'hello', c: [tf.scalar(2), 'world']};\n });\n expectArraysClose(await res.a.data(), [1]);\n expectArraysClose(await (res.c[0] as tf.Tensor).data(), [2]);\n });\n\n it('returns Tensor[]', async () => {\n const a = tf.tensor1d([1, 2, 3]);\n const b = tf.tensor1d([0, -1, 1]);\n expect(tf.memory().numTensors).toBe(2);\n\n tf.tidy(() => {\n const result = tf.tidy(() => {\n tf.add(a, b);\n return [tf.add(a, b), tf.sub(a, b)];\n });\n\n // the 2 results are new. All intermediates should be disposed.\n expect(tf.memory().numTensors).toBe(4);\n expect(result[0].isDisposed).toBe(false);\n expect(result[0].shape).toEqual([3]);\n expect(result[1].isDisposed).toBe(false);\n expect(result[1].shape).toEqual([3]);\n expect(tf.memory().numTensors).toBe(4);\n });\n\n // the 2 results should be disposed.\n expect(tf.memory().numTensors).toBe(2);\n a.dispose();\n b.dispose();\n expect(tf.memory().numTensors).toBe(0);\n });\n\n it('basic usage without return', () => {\n const a = tf.tensor1d([1, 2, 3]);\n let b = tf.tensor1d([0, 0, 0]);\n\n expect(tf.memory().numTensors).toBe(2);\n\n tf.tidy(() => {\n b = tf.add(a, b);\n b = tf.add(a, b);\n b = tf.add(a, b);\n tf.add(a, b);\n });\n\n // all intermediates should be disposed.\n expect(tf.memory().numTensors).toBe(2);\n });\n\n it('nested usage', async () => {\n const a = tf.tensor1d([1, 2, 3]);\n let b = tf.tensor1d([0, 0, 0]);\n\n expect(tf.memory().numTensors).toBe(2);\n\n tf.tidy(() => {\n const result = tf.tidy(() => {\n b = tf.add(a, b);\n b = tf.tidy(() => {\n b = tf.tidy(() => {\n return tf.add(a, b);\n });\n // original a, b, and two intermediates.\n expect(tf.memory().numTensors).toBe(4);\n\n tf.tidy(() => {\n tf.add(a, b);\n });\n // All the intermediates should be cleaned up.\n expect(tf.memory().numTensors).toBe(4);\n\n return tf.add(a, b);\n });\n expect(tf.memory().numTensors).toBe(4);\n\n return tf.add(a, b);\n });\n\n expect(tf.memory().numTensors).toBe(3);\n expect(result.isDisposed).toBe(false);\n expect(result.shape).toEqual([3]);\n });\n expect(tf.memory().numTensors).toBe(2);\n });\n\n it('nested usage returns tensor created from outside scope', () => {\n const x = tf.scalar(1);\n\n tf.tidy(() => {\n tf.tidy(() => {\n return x;\n });\n });\n\n expect(x.isDisposed).toBe(false);\n });\n\n it('nested usage with keep works', () => {\n let b: tf.Tensor;\n tf.tidy(() => {\n const a = tf.scalar(1);\n tf.tidy(() => {\n b = tf.keep(a);\n });\n });\n\n expect(b.isDisposed).toBe(false);\n b.dispose();\n });\n\n it('single argument', () => {\n let hasRan = false;\n tf.tidy(() => {\n hasRan = true;\n });\n expect(hasRan).toBe(true);\n });\n\n it('single argument, but not a function throws error', () => {\n expect(() => {\n tf.tidy('asdf');\n }).toThrowError();\n });\n\n it('2 arguments, first is string', () => {\n let hasRan = false;\n tf.tidy('name', () => {\n hasRan = true;\n });\n expect(hasRan).toBe(true);\n });\n\n it('2 arguments, but first is not string throws error', () => {\n expect(() => {\n // tslint:disable-next-line:no-any\n tf.tidy(4 as any, () => {});\n }).toThrowError();\n });\n\n it('2 arguments, but second is not a function throws error', () => {\n expect(() => {\n // tslint:disable-next-line:no-any\n tf.tidy('name', 'another name' as any);\n }).toThrowError();\n });\n\n it('works with arbitrary depth of result', async () => {\n tf.tidy(() => {\n const res = tf.tidy(() => {\n return [tf.scalar(1), [[tf.scalar(2)]], {list: [tf.scalar(3)]}];\n });\n expect((res[0] as tf.Tensor).isDisposed).toBe(false);\n // tslint:disable-next-line:no-any\n expect((res[1] as any)[0][0].isDisposed).toBe(false);\n // tslint:disable-next-line:no-any\n expect((res[2] as any).list[0].isDisposed).toBe(false);\n expect(tf.memory().numTensors).toBe(3);\n return res[0];\n });\n // Everything but scalar(1) got disposed.\n expect(tf.memory().numTensors).toBe(1);\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"globals_test.js","sourceRoot":"","sources":["../src/globals_test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients.js.map index d04d95497..e81c0eaab 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients.js.map @@ -1 +1 @@ -{"version":3,"file":"gradients.js","sourceRoot":"","sources":["../src/gradients.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\nimport {CustomGradientFunc, ENGINE} from './engine';\nimport {Scalar, Tensor, Variable} from './tensor';\nimport {NamedTensorMap} from './tensor_types';\nimport {convertToTensor, convertToTensorArray} from './tensor_util_env';\nimport {TensorLike} from './types';\nimport * as util from './util';\n\n/**\n * Provided `f(x)`, returns another function `g(x, dy?)`, which gives the\n * gradient of `f(x)` with respect to `x`.\n *\n * If `dy` is provided, the gradient of `f(x).mul(dy).sum()` with respect to\n * `x` is computed instead. `f(x)` must take a single tensor `x` and return a\n * single tensor `y`. If `f()` takes multiple inputs, use `tf.grads` instead.\n *\n * ```js\n * // f(x) = x ^ 2\n * const f = x => x.square();\n * // f'(x) = 2x\n * const g = tf.grad(f);\n *\n * const x = tf.tensor1d([2, 3]);\n * g(x).print();\n * ```\n *\n * ```js\n * // f(x) = x ^ 3\n * const f = x => x.pow(tf.scalar(3, 'int32'));\n * // f'(x) = 3x ^ 2\n * const g = tf.grad(f);\n * // f''(x) = 6x\n * const gg = tf.grad(g);\n *\n * const x = tf.tensor1d([2, 3]);\n * gg(x).print();\n * ```\n *\n * @param f The function f(x), to compute gradient for.\n *\n * @doc {heading: 'Training', subheading: 'Gradients'}\n */\nfunction grad(f: (x: Tensor) => Tensor): (\n x: TensorLike|Tensor, dy?: TensorLike|Tensor) => Tensor {\n util.assert(\n util.isFunction(f), () => 'The f passed in grad(f) must be a function');\n return (x: TensorLike|Tensor, dy?: TensorLike|Tensor): Tensor => {\n // x can be of any dtype, thus null as the last argument.\n const $x = convertToTensor(x, 'x', 'tf.grad', 'string_or_numeric');\n const $dy: Tensor =\n (dy != null) ? convertToTensor(dy, 'dy', 'tf.grad') : null;\n return ENGINE.tidy(() => {\n const {value, grads} = ENGINE.gradients(() => f($x), [$x], $dy);\n if ($dy != null) {\n util.assertShapesMatch(\n value.shape, $dy.shape,\n 'The shape of dy passed in grad(f)(x, dy) must match the shape ' +\n 'returned by f(x)');\n }\n checkGrads(grads);\n return grads[0];\n });\n };\n}\n\n/**\n * Provided `f(x1, x2,...)`, returns another function `g([x1, x2,...], dy?)`,\n * which gives an array of gradients of `f()` with respect to each input\n * [`x1`,`x2`,...].\n *\n * If `dy` is passed when calling `g()`, the gradient of\n * `f(x1,...).mul(dy).sum()` with respect to each input is computed instead.\n * The provided `f` must take one or more tensors and return a single tensor\n * `y`. If `f()` takes a single input, we recommend using `tf.grad` instead.\n *\n * ```js\n * // f(a, b) = a * b\n * const f = (a, b) => a.mul(b);\n * // df / da = b, df / db = a\n * const g = tf.grads(f);\n *\n * const a = tf.tensor1d([2, 3]);\n * const b = tf.tensor1d([-2, -3]);\n * const [da, db] = g([a, b]);\n * console.log('da');\n * da.print();\n * console.log('db');\n * db.print();\n * ```\n *\n * @param f The function `f(x1, x2,...)` to compute gradients for.\n *\n * @doc {heading: 'Training', subheading: 'Gradients'}\n */\nfunction grads(f: (...args: Tensor[]) => Tensor): (\n args: Array, dy?: Tensor|TensorLike) => Tensor[] {\n util.assert(\n util.isFunction(f), () => 'The f passed in grads(f) must be a function');\n return (args: Array, dy?: Tensor|TensorLike): Tensor[] => {\n util.assert(\n Array.isArray(args),\n () => 'The args passed in grads(f)(args) must be an array ' +\n 'of `Tensor`s or `TensorLike`s');\n // args can be of any dtype, thus null as the last argument.\n const $args =\n convertToTensorArray(args, 'args', 'tf.grads', 'string_or_numeric');\n const $dy: Tensor =\n (dy != null) ? convertToTensor(dy, 'dy', 'tf.grads') : null;\n return ENGINE.tidy(() => {\n const {value, grads} = ENGINE.gradients(() => f(...$args), $args, $dy);\n if ($dy != null) {\n util.assertShapesMatch(\n value.shape, $dy.shape,\n 'The shape of dy passed in grads(f)([x1,...], dy) must ' +\n 'match the shape returned by f([x1,...])');\n }\n checkGrads(grads);\n return grads;\n });\n };\n}\n\n/**\n * Like `tf.grad`, but also returns the value of `f()`. Useful when `f()`\n * returns a metric you want to show.\n *\n * The result is a rich object with the following properties:\n * - grad: The gradient of `f(x)` w.r.t `x` (result of `tf.grad`).\n * - value: The value returned by `f(x)`.\n *\n * ```js\n * // f(x) = x ^ 2\n * const f = x => x.square();\n * // f'(x) = 2x\n * const g = tf.valueAndGrad(f);\n *\n * const x = tf.tensor1d([2, 3]);\n * const {value, grad} = g(x);\n *\n * console.log('value');\n * value.print();\n * console.log('grad');\n * grad.print();\n * ```\n *\n * @doc {heading: 'Training', subheading: 'Gradients'}\n */\nfunction valueAndGrad(f: (x: I) => O): (\n x: I, dy?: O) => {\n value: O;\n grad: I;\n} {\n util.assert(\n util.isFunction(f),\n () => 'The f passed in valueAndGrad(f) must be a function');\n return (x: I, dy?: O) => {\n util.assert(\n x instanceof Tensor,\n () => 'The x passed in valueAndGrad(f)(x) must be a tensor');\n util.assert(\n dy == null || dy instanceof Tensor,\n () => 'The dy passed in valueAndGrad(f)(x, dy) must be a tensor');\n const {grads, value} = ENGINE.gradients(() => f(x), [x], dy);\n checkGrads(grads);\n return {grad: grads[0] as I, value};\n };\n}\n\n/**\n * Like `tf.grads`, but returns also the value of `f()`. Useful when `f()`\n * returns a metric you want to show.\n *\n * The result is a rich object with the following properties:\n * - grads: The gradients of `f()` w.r.t each input (result of `tf.grads`).\n * - value: The value returned by `f(x)`.\n *\n * ```js\n * // f(a, b) = a * b\n * const f = (a, b) => a.mul(b);\n * // df/da = b, df/db = a\n * const g = tf.valueAndGrads(f);\n *\n * const a = tf.tensor1d([2, 3]);\n * const b = tf.tensor1d([-2, -3]);\n * const {value, grads} = g([a, b]);\n *\n * const [da, db] = grads;\n *\n * console.log('value');\n * value.print();\n *\n * console.log('da');\n * da.print();\n * console.log('db');\n * db.print();\n * ```\n *\n * @doc {heading: 'Training', subheading: 'Gradients'}\n */\nfunction valueAndGrads(f: (...args: Tensor[]) => O): (\n args: Tensor[], dy?: O) => {\n grads: Tensor[];\n value: O;\n} {\n util.assert(\n util.isFunction(f),\n () => 'The f passed in valueAndGrads(f) must be a function');\n return (args: Tensor[], dy?: O) => {\n util.assert(\n Array.isArray(args) && args.every(arg => arg instanceof Tensor),\n () => 'The args passed in valueAndGrads(f)(args) must be array of ' +\n 'tensors');\n util.assert(\n dy == null || dy instanceof Tensor,\n () => 'The dy passed in valueAndGrads(f)(args, dy) must be a tensor');\n const res = ENGINE.gradients(() => f(...args), args, dy);\n if (dy != null) {\n util.assertShapesMatch(\n res.value.shape, dy.shape,\n 'The shape of dy passed in valueAndGrads(f)([x1,...], dy) must ' +\n 'match the shape returned by f([x1,...])');\n }\n checkGrads(res.grads);\n return res;\n };\n}\n\n/**\n * Computes and returns the gradient of f(x) with respect to the list of\n * trainable variables provided by `varList`. If no list is provided, it\n * defaults to all trainable variables.\n *\n * ```js\n * const a = tf.variable(tf.tensor1d([3, 4]));\n * const b = tf.variable(tf.tensor1d([5, 6]));\n * const x = tf.tensor1d([1, 2]);\n *\n * // f(a, b) = a * x ^ 2 + b * x\n * const f = () => a.mul(x.square()).add(b.mul(x)).sum();\n * // df/da = x ^ 2, df/db = x\n * const {value, grads} = tf.variableGrads(f);\n *\n * Object.keys(grads).forEach(varName => grads[varName].print());\n * ```\n *\n * @param f The function to execute. f() should return a scalar.\n * @param varList The list of variables to compute the gradients with respect\n * to. Defaults to all trainable variables.\n * @returns An object with the following keys and values:\n * - `value`: The value of the function `f`.\n * - `grads`: A map from the names of the variables to the gradients.\n * If the `varList` argument is provided explicitly and contains a subset of\n * non-trainable variables, this map in the return value will contain keys\n * that map the names of the non-trainable variables to `null`.\n *\n * @doc {heading: 'Training', subheading: 'Gradients'}\n */\nfunction variableGrads(f: () => Scalar, varList?: Variable[]):\n {value: Scalar, grads: NamedTensorMap} {\n util.assert(\n util.isFunction(f),\n () => 'The f passed in variableGrads(f) must be a function');\n util.assert(\n varList == null ||\n Array.isArray(varList) && varList.every(v => v instanceof Variable),\n () =>\n 'The varList passed in variableGrads(f, varList) must be an array ' +\n 'of variables');\n\n const specifiedVarList = varList != null;\n if (!specifiedVarList) {\n // Get all of the trainable variables.\n varList = [];\n for (const varName in ENGINE.registeredVariables) {\n varList.push(ENGINE.registeredVariables[varName]);\n }\n }\n\n const specifiedNonTrainable: Variable[] =\n specifiedVarList ? varList.filter(variable => !variable.trainable) : null;\n\n // Prune non-trainable variables.\n const originalVarCount = varList.length;\n varList = varList.filter(variable => variable.trainable);\n util.assert(\n varList.length > 0,\n () => `variableGrads() expects at least one of the input variables to ` +\n `be trainable, but none of the ${originalVarCount} variables is ` +\n `trainable.`);\n\n const allowNoGradients = true;\n const {value, grads} = ENGINE.gradients(f, varList, null, allowNoGradients);\n\n util.assert(\n grads.some(g => g != null),\n () => 'Cannot find a connection between any variable and the result of ' +\n 'the loss function y=f(x). Please make sure the operations that ' +\n 'use variables are inside the function f passed to minimize().');\n util.assert(\n value.rank === 0,\n () => `The f passed in variableGrads(f) must return a scalar, but it ` +\n `returned a rank-${value.rank} tensor`);\n\n const namedGrads: NamedTensorMap = {};\n varList.forEach((v, i) => {\n if (grads[i] != null) {\n namedGrads[v.name] = grads[i];\n }\n });\n if (specifiedNonTrainable != null) {\n // If varList is explicitly provided and contains non-trainable values,\n // add them to the returned gradients with `null` values.\n specifiedNonTrainable.forEach(v => namedGrads[v.name] = null);\n }\n return {value, grads: namedGrads};\n}\n\n/**\n * Overrides the gradient computation of a function `f`.\n *\n * Takes a function\n * `f(...inputs, save) => {value: Tensor, gradFunc: (dy, saved) => Tensor[]}`\n * and returns another function `g(...inputs)` which takes the same inputs as\n * `f`. When called, `g` returns `f().value`. In backward mode, custom gradients\n * with respect to each input of `f` are computed using `f().gradFunc`.\n *\n * The `save` function passsed to `f` should be used for saving tensors needed\n * in the gradient. And the `saved` passed to the `gradFunc` is a\n * `NamedTensorMap`, which contains those saved tensor.\n *\n * ```js\n * const customOp = tf.customGrad((x, save) => {\n * // Save x to make sure it's available later for the gradient.\n * save([x]);\n * // Override gradient of our custom x ^ 2 op to be dy * abs(x);\n * return {\n * value: x.square(),\n * // Note `saved.x` which points to the `x` we saved earlier.\n * gradFunc: (dy, saved) => [dy.mul(saved[0].abs())]\n * };\n * });\n *\n * const x = tf.tensor1d([-1, -2, 3]);\n * const dx = tf.grad(x => customOp(x));\n *\n * console.log(`f(x):`);\n * customOp(x).print();\n * console.log(`f'(x):`);\n * dx(x).print();\n * ```\n *\n * @param f The function to evaluate in forward mode, which should return\n * `{value: Tensor, gradFunc: (dy, saved) => Tensor[]}`, where `gradFunc`\n * returns the custom gradients of `f` with respect to its inputs.\n *\n * @doc {heading: 'Training', subheading: 'Gradients'}\n */\nfunction customGrad(f: CustomGradientFunc):\n (...args: Tensor[]) => T {\n return ENGINE.customGrad(f);\n}\n\nfunction checkGrads(grads: Tensor[]) {\n const numNullGradients = grads.filter(g => g == null).length;\n if (numNullGradients > 0) {\n throw new Error(\n `Cannot compute gradient of y=f(x) with respect to x. Make sure that\n the f you passed encloses all operations that lead from x to y.`);\n }\n}\n\nexport {\n customGrad,\n variableGrads,\n valueAndGrad,\n valueAndGrads,\n grad,\n grads,\n};\n"]} \ No newline at end of file +{"version":3,"file":"gradients.js","sourceRoot":"","sources":["../src/gradients.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Abs_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Abs_grad.js.map index 62304a693..7eb970558 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Abs_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Abs_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Abs_grad.js","sourceRoot":"","sources":["../../src/gradients/Abs_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAGjC,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;IAC1D,CAAC;CACF,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 {Abs} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cast} from '../ops/cast';\nimport {mul} from '../ops/mul';\nimport {step} from '../ops/step';\nimport {Tensor} from '../tensor';\n\nexport const absGradConfig: GradConfig = {\n kernelName: Abs,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n return {x: () => mul(dy, step(cast(x, 'float32'), -1))};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Abs_grad.js","sourceRoot":"","sources":["../../src/gradients/Abs_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAGjC,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;IAC1D,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Acos_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Acos_grad.js.map index 533d9f785..97a5f9b23 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Acos_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Acos_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Acos_grad.js","sourceRoot":"","sources":["../../src/gradients/Acos_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO;YACL,CAAC,EAAE,GAAG,EAAE;gBACN,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;gBACrC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClC,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;SAEF,CAAC;IACJ,CAAC;CACF,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 {Acos} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cast} from '../ops/cast';\nimport {div} from '../ops/div';\nimport {neg} from '../ops/neg';\nimport {scalar} from '../ops/scalar';\nimport {sqrt} from '../ops/sqrt';\nimport {square} from '../ops/square';\nimport {sub} from '../ops/sub';\nimport {Tensor} from '../tensor';\n\nexport const acosGradConfig: GradConfig = {\n kernelName: Acos,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n\n return {\n x: () => {\n const a = square(cast(x, 'float32'));\n const b = sqrt(sub(scalar(1), a));\n return neg(div(dy, b));\n }\n\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Acos_grad.js","sourceRoot":"","sources":["../../src/gradients/Acos_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO;YACL,CAAC,EAAE,GAAG,EAAE;gBACN,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;gBACrC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClC,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;SAEF,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Acosh_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Acosh_grad.js.map index 41b9236c7..f2cf0bcc7 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Acosh_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Acosh_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Acosh_grad.js","sourceRoot":"","sources":["../../src/gradients/Acosh_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO;YACL,CAAC,EAAE,GAAG,EAAE;gBACN,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnD,OAAO,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACpB,CAAC;SACF,CAAC;IACJ,CAAC;CACF,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 {Acosh} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cast} from '../ops/cast';\nimport {div} from '../ops/div';\nimport {sqrt} from '../ops/sqrt';\nimport {square} from '../ops/square';\nimport {sub} from '../ops/sub';\nimport {Tensor} from '../tensor';\n\nexport const acoshGradConfig: GradConfig = {\n kernelName: Acosh,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n\n return {\n x: () => {\n const a = sqrt(sub(square(cast(x, 'float32')), 1));\n return div(dy, a);\n }\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Acosh_grad.js","sourceRoot":"","sources":["../../src/gradients/Acosh_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO;YACL,CAAC,EAAE,GAAG,EAAE;gBACN,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnD,OAAO,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACpB,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/AddN_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/AddN_grad.js.map index 5331eb7f1..f4b58db47 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/AddN_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/AddN_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"AddN_grad.js","sourceRoot":"","sources":["../../src/gradients/AddN_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAIrC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,IAAI,GAAkC,EAAE,CAAC;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrB,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF,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 {AddN} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {Tensor} from '../tensor';\n\nexport const addNGradConfig: GradConfig = {\n kernelName: AddN,\n saveAllInputs: true,\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const ders: {[key: string]: () => Tensor} = {};\n saved.forEach((_, i) => {\n ders[i] = () => dy.clone();\n });\n return ders;\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"AddN_grad.js","sourceRoot":"","sources":["../../src/gradients/AddN_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAIrC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,IAAI,GAAkC,EAAE,CAAC;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrB,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Add_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Add_grad.js.map index 83c955a10..6d08870d1 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Add_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Add_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Add_grad.js","sourceRoot":"","sources":["../../src/gradients/Add_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,QAAQ,GACV,cAAc,CAAC,0BAA0B,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAEhE,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;aAC5B;YACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;aAC5B;YACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,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 */\nimport {Add} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport * as broadcast_util from '../ops/broadcast_util';\nimport {reshape} from '../ops/reshape';\nimport {sum} from '../ops/sum';\nimport {Tensor} from '../tensor';\n\nexport const addGradConfig: GradConfig = {\n kernelName: Add,\n inputsToSave: ['a', 'b'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [a, b] = saved;\n const outShape =\n broadcast_util.assertAndGetBroadcastShape(a.shape, b.shape);\n\n const derA = () => {\n let res = dy;\n const reduceAxes = broadcast_util.getReductionAxes(a.shape, outShape);\n if (reduceAxes.length > 0) {\n res = sum(res, reduceAxes);\n }\n return reshape(res, a.shape);\n };\n const derB = () => {\n let res = dy;\n const reduceAxes = broadcast_util.getReductionAxes(b.shape, outShape);\n if (reduceAxes.length > 0) {\n res = sum(res, reduceAxes);\n }\n return reshape(res, b.shape);\n };\n\n return {a: derA, b: derB};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Add_grad.js","sourceRoot":"","sources":["../../src/gradients/Add_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,QAAQ,GACV,cAAc,CAAC,0BAA0B,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAEhE,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;aAC5B;YACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;aAC5B;YACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ArgMax_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ArgMax_grad.js.map index 99ce7d1f3..4157f2764 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ArgMax_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ArgMax_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"ArgMax_grad.js","sourceRoot":"","sources":["../../src/gradients/ArgMax_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,CAAC;IACjC,CAAC;CACF,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\nimport {ArgMax} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {zerosLike} from '../ops/zeros_like';\nimport {Tensor} from '../tensor';\n\nexport const argMaxGradConfig: GradConfig = {\n kernelName: ArgMax,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n return {x: () => zerosLike(x)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"ArgMax_grad.js","sourceRoot":"","sources":["../../src/gradients/ArgMax_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,CAAC;IACjC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ArgMin_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ArgMin_grad.js.map index 29fbe21f1..b53e945ae 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ArgMin_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ArgMin_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"ArgMin_grad.js","sourceRoot":"","sources":["../../src/gradients/ArgMin_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,CAAC;IACjC,CAAC;CACF,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\nimport {ArgMin} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {zerosLike} from '../ops/zeros_like';\nimport {Tensor} from '../tensor';\n\nexport const argMinGradConfig: GradConfig = {\n kernelName: ArgMin,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n return {x: () => zerosLike(x)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"ArgMin_grad.js","sourceRoot":"","sources":["../../src/gradients/ArgMin_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,CAAC;IACjC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Asin_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Asin_grad.js.map index 010d4d0b4..67c6f50a5 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Asin_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Asin_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Asin_grad.js","sourceRoot":"","sources":["../../src/gradients/Asin_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;IAC9E,CAAC;CACF,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 {Asin} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cast} from '../ops/cast';\nimport {div} from '../ops/div';\nimport {scalar} from '../ops/scalar';\nimport {sqrt} from '../ops/sqrt';\nimport {square} from '../ops/square';\nimport {sub} from '../ops/sub';\nimport {Tensor} from '../tensor';\n\nexport const asinGradConfig: GradConfig = {\n kernelName: Asin,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n return {x: () => div(dy, sqrt(sub(scalar(1), square(cast(x, 'float32')))))};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Asin_grad.js","sourceRoot":"","sources":["../../src/gradients/Asin_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;IAC9E,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Asinh_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Asinh_grad.js.map index ed5238d7c..578e3a469 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Asinh_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Asinh_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Asinh_grad.js","sourceRoot":"","sources":["../../src/gradients/Asinh_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAGrC,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO;YACL,CAAC,EAAE,GAAG,EAAE;gBACN,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,OAAO,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACpB,CAAC;SACF,CAAC;IACJ,CAAC;CACF,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 {Asinh} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {add} from '../ops/add';\nimport {cast} from '../ops/cast';\nimport {div} from '../ops/div';\nimport {scalar} from '../ops/scalar';\nimport {sqrt} from '../ops/sqrt';\nimport {square} from '../ops/square';\nimport {Tensor} from '../tensor';\n\nexport const asinhGradConfig: GradConfig = {\n kernelName: Asinh,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n\n return {\n x: () => {\n const a = sqrt(add(scalar(1), square(cast(x, 'float32'))));\n return div(dy, a);\n }\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Asinh_grad.js","sourceRoot":"","sources":["../../src/gradients/Asinh_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAGrC,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO;YACL,CAAC,EAAE,GAAG,EAAE;gBACN,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,OAAO,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACpB,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Atan2_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Atan2_grad.js.map index 45dccc031..89a13d7d6 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Atan2_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Atan2_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Atan2_grad.js","sourceRoot":"","sources":["../../src/gradients/Atan2_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,0BAA0B,EAAE,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,QAAQ,GAAG,0BAA0B,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAE9D,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;aAC5B;YACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;aAC5B;YACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,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 {Atan2} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {add} from '../ops/add';\nimport {assertAndGetBroadcastShape, getReductionAxes} from '../ops/broadcast_util';\nimport {div} from '../ops/div';\nimport {mul} from '../ops/mul';\nimport {neg} from '../ops/neg';\nimport {reshape} from '../ops/reshape';\nimport {square} from '../ops/square';\nimport {sum} from '../ops/sum';\nimport {Tensor} from '../tensor';\n\nexport const atan2GradConfig: GradConfig = {\n kernelName: Atan2,\n inputsToSave: ['a', 'b'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [a, b] = saved;\n const outShape = assertAndGetBroadcastShape(a.shape, b.shape);\n\n const derA = () => {\n const d = add(square(a), square(b));\n let res = mul(dy, div(b, d));\n const reduceAxes = getReductionAxes(a.shape, outShape);\n if (reduceAxes.length > 0) {\n res = sum(res, reduceAxes);\n }\n return reshape(res, a.shape);\n };\n const derB = () => {\n const d = add(square(a), square(b));\n let res = neg(mul(dy, div(a, d)));\n const reduceAxes = getReductionAxes(b.shape, outShape);\n if (reduceAxes.length > 0) {\n res = sum(res, reduceAxes);\n }\n return reshape(res, b.shape);\n };\n return {a: derA, b: derB};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Atan2_grad.js","sourceRoot":"","sources":["../../src/gradients/Atan2_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,0BAA0B,EAAE,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,QAAQ,GAAG,0BAA0B,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAE9D,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;aAC5B;YACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;aAC5B;YACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Atan_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Atan_grad.js.map index 4685cf04f..28323d2e8 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Atan_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Atan_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Atan_grad.js","sourceRoot":"","sources":["../../src/gradients/Atan_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAGrC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC;IAChE,CAAC;CACF,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 {Atan} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {add} from '../ops/add';\nimport {cast} from '../ops/cast';\nimport {div} from '../ops/div';\nimport {square} from '../ops/square';\nimport {Tensor} from '../tensor';\n\nexport const atanGradConfig: GradConfig = {\n kernelName: Atan,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n\n return {x: () => div(dy, add(square(cast(x, 'float32')), 1))};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Atan_grad.js","sourceRoot":"","sources":["../../src/gradients/Atan_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAGrC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC;IAChE,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Atanh_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Atanh_grad.js.map index a7678da93..941cc3770 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Atanh_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Atanh_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Atanh_grad.js","sourceRoot":"","sources":["../../src/gradients/Atanh_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAGrC,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;IACxE,CAAC;CACF,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 {Atanh} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cast} from '../ops/cast';\nimport {div} from '../ops/div';\nimport {square} from '../ops/square';\nimport {sub} from '../ops/sub';\nimport {scalar} from '../ops/scalar';\nimport {Tensor} from '../tensor';\n\nexport const atanhGradConfig: GradConfig = {\n kernelName: Atanh,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n\n return {x: () => div(dy, sub(scalar(1), square(cast(x, 'float32'))))};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Atanh_grad.js","sourceRoot":"","sources":["../../src/gradients/Atanh_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAGrC,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;IACxE,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/AvgPool3D_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/AvgPool3D_grad.js.map index 364350d79..c63e719d3 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/AvgPool3D_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/AvgPool3D_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"AvgPool3D_grad.js","sourceRoot":"","sources":["../../src/gradients/AvgPool3D_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAGtD,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAmB,CAAC;QAChC,MAAM,EAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAC,GAC7C,KAA6B,CAAC;QAElC,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CAAC,aAAa,CAClB,EAAc,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC;SAClE,CAAC;IACJ,CAAC;CACF,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 {AvgPool3D, AvgPool3DAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {avgPool3dGrad} from '../ops/avg_pool_3d_grad';\nimport {Tensor, Tensor5D} from '../tensor';\n\nexport const avgPool3DGradConfig: GradConfig = {\n kernelName: AvgPool3D,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const [x] = saved as [Tensor5D];\n const {filterSize, strides, pad, dimRoundingMode} =\n attrs as {} as AvgPool3DAttrs;\n\n return {\n x: () => avgPool3dGrad(\n dy as Tensor5D, x, filterSize, strides, pad, dimRoundingMode)\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"AvgPool3D_grad.js","sourceRoot":"","sources":["../../src/gradients/AvgPool3D_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAGtD,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAmB,CAAC;QAChC,MAAM,EAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAC,GAC7C,KAA6B,CAAC;QAElC,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CAAC,aAAa,CAClB,EAAc,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC;SAClE,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/AvgPool_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/AvgPool_grad.js.map index 819f66ed4..2661fd24b 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/AvgPool_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/AvgPool_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"AvgPool_grad.js","sourceRoot":"","sources":["../../src/gradients/AvgPool_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,OAAO,EAAe,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAGjD,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAmB,CAAC;QAChC,MAAM,EAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAC,GAAG,KAA2B,CAAC;QAC/D,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,EAAc,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,EAAC,CAAC;IAC7E,CAAC;CACF,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 {AvgPool, AvgPoolAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {avgPoolGrad} from '../ops/avg_pool_grad';\nimport {Tensor, Tensor4D} from '../tensor';\n\nexport const avgPoolGradConfig: GradConfig = {\n kernelName: AvgPool,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const [x] = saved as [Tensor4D];\n const {filterSize, strides, pad} = attrs as {} as AvgPoolAttrs;\n return {x: () => avgPoolGrad(dy as Tensor4D, x, filterSize, strides, pad)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"AvgPool_grad.js","sourceRoot":"","sources":["../../src/gradients/AvgPool_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,OAAO,EAAe,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAGjD,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAmB,CAAC;QAChC,MAAM,EAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAC,GAAG,KAA2B,CAAC;QAC/D,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,EAAc,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,EAAC,CAAC;IAC7E,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/BatchMatMul_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/BatchMatMul_grad.js.map index cb752d903..8a7922403 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/BatchMatMul_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/BatchMatMul_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"BatchMatMul_grad.js","sourceRoot":"","sources":["../../src/gradients/BatchMatMul_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,WAAW,EAAmB,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAGtC,MAAM,CAAC,MAAM,qBAAqB,GAAe;IAC/C,UAAU,EAAE,WAAW;IACvB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QAErB,MAAM,EAAC,UAAU,EAAE,UAAU,EAAC,GAAG,KAA+B,CAAC;QAEjE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE;YAC9B,OAAO;gBACL,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;gBACnC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC;aACpC,CAAC;SACH;aAAM,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE;YACpC,OAAO;gBACL,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC;gBACpC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC;aACpC,CAAC;SACH;aAAM,IAAI,UAAU,IAAI,CAAC,UAAU,EAAE;YACpC,OAAO;gBACL,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC;gBACnC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC;aACrC,CAAC;SACH;aAAM;YACL,OAAO;gBACL,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC;gBAClC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;aACnC,CAAC;SACH;IACH,CAAC;CACF,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 {BatchMatMul, BatchMatMulAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {matMul} from '../ops/mat_mul';\nimport {Tensor} from '../tensor';\n\nexport const batchMatMulGradConfig: GradConfig = {\n kernelName: BatchMatMul,\n inputsToSave: ['a', 'b'],\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const [a, b] = saved;\n\n const {transposeA, transposeB} = attrs as {} as BatchMatMulAttrs;\n\n if (!transposeA && !transposeB) {\n return {\n a: () => matMul(dy, b, false, true),\n b: () => matMul(a, dy, true, false)\n };\n } else if (!transposeA && transposeB) {\n return {\n a: () => matMul(dy, b, false, false),\n b: () => matMul(dy, a, true, false)\n };\n } else if (transposeA && !transposeB) {\n return {\n a: () => matMul(b, dy, false, true),\n b: () => matMul(a, dy, false, false)\n };\n } else {\n return {\n a: () => matMul(b, dy, true, true),\n b: () => matMul(dy, a, true, true)\n };\n }\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"BatchMatMul_grad.js","sourceRoot":"","sources":["../../src/gradients/BatchMatMul_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,WAAW,EAAmB,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAGtC,MAAM,CAAC,MAAM,qBAAqB,GAAe;IAC/C,UAAU,EAAE,WAAW;IACvB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QAErB,MAAM,EAAC,UAAU,EAAE,UAAU,EAAC,GAAG,KAA+B,CAAC;QAEjE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE;YAC9B,OAAO;gBACL,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;gBACnC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC;aACpC,CAAC;SACH;aAAM,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE;YACpC,OAAO;gBACL,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC;gBACpC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC;aACpC,CAAC;SACH;aAAM,IAAI,UAAU,IAAI,CAAC,UAAU,EAAE;YACpC,OAAO;gBACL,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC;gBACnC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC;aACrC,CAAC;SACH;aAAM;YACL,OAAO;gBACL,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC;gBAClC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;aACnC,CAAC;SACH;IACH,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/BatchToSpaceND_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/BatchToSpaceND_grad.js.map index 64b7e4268..1f0ec3515 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/BatchToSpaceND_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/BatchToSpaceND_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"BatchToSpaceND_grad.js","sourceRoot":"","sources":["../../src/gradients/BatchToSpaceND_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAEpE,OAAO,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAGxD,MAAM,CAAC,MAAM,wBAAwB,GAAe;IAClD,UAAU,EAAE,cAAc;IAC1B,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,EAAC,UAAU,EAAE,KAAK,EAAC,GAAG,KAAkC,CAAC;QAC/D,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,EAAC,CAAC;IAC1D,CAAC;CACF,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 {BatchToSpaceND, BatchToSpaceNDAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {spaceToBatchND} from '../ops/space_to_batch_nd';\nimport {Tensor} from '../tensor';\n\nexport const batchToSpaceNDGradConfig: GradConfig = {\n kernelName: BatchToSpaceND,\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const {blockShape, crops} = attrs as {} as BatchToSpaceNDAttrs;\n return {x: () => spaceToBatchND(dy, blockShape, crops)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"BatchToSpaceND_grad.js","sourceRoot":"","sources":["../../src/gradients/BatchToSpaceND_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAEpE,OAAO,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAGxD,MAAM,CAAC,MAAM,wBAAwB,GAAe;IAClD,UAAU,EAAE,cAAc;IAC1B,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,EAAC,UAAU,EAAE,KAAK,EAAC,GAAG,KAAkC,CAAC;QAC/D,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,EAAC,CAAC;IAC1D,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/BroadcastTo_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/BroadcastTo_grad.js.map index 7ebdd357e..09a98748c 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/BroadcastTo_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/BroadcastTo_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"BroadcastTo_grad.js","sourceRoot":"","sources":["../../src/gradients/BroadcastTo_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,WAAW,EAAmB,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,qBAAqB,GAAe;IAC/C,UAAU,EAAE,WAAW;IACvB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,gBAAgB,GAClB,KAAoC,CAAC;QAEzC,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC;QAC/C,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC;QAE3C,MAAM,IAAI,GAAa,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE;gBACpC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACb;iBAAM,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;gBAC9B,MAAM,IAAI,KAAK,CAAC,mBACZ,UAAU,6BAA6B,WAAW,IAAI,CAAC,CAAC;aAC7D;SACF;QACD,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;gBACf,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACd;SACF;QAED,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,EAAC,CAAC;IACvD,CAAC;CACF,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 {BroadcastTo, BroadCastToAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {sum} from '../ops/sum';\nimport {Tensor} from '../tensor';\n\nexport const broadcastToGradConfig: GradConfig = {\n kernelName: BroadcastTo,\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const broadCastToAttrs: BroadCastToAttrs =\n attrs as unknown as BroadCastToAttrs;\n\n const inputShape = broadCastToAttrs.inputShape;\n const outputShape = broadCastToAttrs.shape;\n\n const reps: number[] = Array.from(outputShape);\n for (let i = inputShape.length - 1; i >= 0; i--) {\n if (inputShape[i] === outputShape[i]) {\n reps[i] = 1;\n } else if (inputShape[i] !== 1) {\n throw new Error(`broadcastTo(): [${\n inputShape}] cannot be broadcast to [${outputShape}].`);\n }\n }\n const axes: number[] = [];\n for (let i = 0; i < reps.length; i++) {\n if (reps[i] > 1) {\n axes.push(i);\n }\n }\n\n return {x: () => sum(dy, axes, true /* keepDims */)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"BroadcastTo_grad.js","sourceRoot":"","sources":["../../src/gradients/BroadcastTo_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,WAAW,EAAmB,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,qBAAqB,GAAe;IAC/C,UAAU,EAAE,WAAW;IACvB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,gBAAgB,GAClB,KAAoC,CAAC;QAEzC,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC;QAC/C,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC;QAE3C,MAAM,IAAI,GAAa,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE;gBACpC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACb;iBAAM,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;gBAC9B,MAAM,IAAI,KAAK,CAAC,mBACZ,UAAU,6BAA6B,WAAW,IAAI,CAAC,CAAC;aAC7D;SACF;QACD,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;gBACf,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACd;SACF;QAED,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,EAAC,CAAC;IACvD,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Cast_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Cast_grad.js.map index f2ff5b399..d7dd35347 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Cast_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Cast_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Cast_grad.js","sourceRoot":"","sources":["../../src/gradients/Cast_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAIrC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAC,CAAC;IAC/B,CAAC;CACF,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 {Cast} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {Tensor} from '../tensor';\n\nexport const castGradConfig: GradConfig = {\n kernelName: Cast,\n gradFunc: (dy: Tensor) => {\n return {x: () => dy.clone()};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Cast_grad.js","sourceRoot":"","sources":["../../src/gradients/Cast_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAIrC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAC,CAAC;IAC/B,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Ceil_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Ceil_grad.js.map index 233dd7a30..227b21859 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Ceil_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Ceil_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Ceil_grad.js","sourceRoot":"","sources":["../../src/gradients/Ceil_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,2EAA2E;QAC3E,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,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 {Ceil} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {zerosLike} from '../ops/zeros_like';\nimport {Tensor} from '../tensor';\n\nexport const ceilGradConfig: GradConfig = {\n kernelName: Ceil,\n gradFunc: (dy: Tensor) => {\n // TODO(manrajgrover): Return null for gradients when backprop supports it.\n return {x: () => zerosLike(dy)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Ceil_grad.js","sourceRoot":"","sources":["../../src/gradients/Ceil_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,2EAA2E;QAC3E,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ClipByValue_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ClipByValue_grad.js.map index 124a893c5..414031583 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ClipByValue_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ClipByValue_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"ClipByValue_grad.js","sourceRoot":"","sources":["../../src/gradients/ClipByValue_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,WAAW,EAAmB,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AACnC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,qBAAqB,GAAe;IAC/C,UAAU,EAAE,WAAW;IACvB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,MAAM,EAAC,YAAY,EAAE,YAAY,EAAC,GAAG,KAA+B,CAAC;QACrE,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CACV,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EACrE,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;SACvB,CAAC;IACJ,CAAC;CACF,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 {ClipByValue, ClipByValueAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {greaterEqual} from '../ops/greater_equal';\nimport {lessEqual} from '../ops/less_equal';\nimport {logicalAnd} from '../ops/logical_and';\nimport {where} from '../ops/where';\nimport {zerosLike} from '../ops/zeros_like';\nimport {Tensor} from '../tensor';\n\nexport const clipByValueGradConfig: GradConfig = {\n kernelName: ClipByValue,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const [x] = saved;\n const {clipValueMin, clipValueMax} = attrs as {} as ClipByValueAttrs;\n return {\n x: () => where(\n logicalAnd(greaterEqual(x, clipValueMin), lessEqual(x, clipValueMax)),\n dy, zerosLike(dy)),\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"ClipByValue_grad.js","sourceRoot":"","sources":["../../src/gradients/ClipByValue_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,WAAW,EAAmB,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AACnC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,qBAAqB,GAAe;IAC/C,UAAU,EAAE,WAAW;IACvB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,MAAM,EAAC,YAAY,EAAE,YAAY,EAAC,GAAG,KAA+B,CAAC;QACrE,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CACV,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EACrE,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;SACvB,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ComplexAbs_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ComplexAbs_grad.js.map index 7c42844a3..1f2158fc3 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ComplexAbs_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ComplexAbs_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"ComplexAbs_grad.js","sourceRoot":"","sources":["../../src/gradients/ComplexAbs_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAAe;IAC9C,UAAU,EAAE,UAAU;IACtB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC,QAAQ;CACjC,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 {ComplexAbs} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {absGradConfig} from './Abs_grad';\n\nexport const complexAbsGradConfig: GradConfig = {\n kernelName: ComplexAbs,\n inputsToSave: ['x'],\n gradFunc: absGradConfig.gradFunc,\n};\n"]} \ No newline at end of file +{"version":3,"file":"ComplexAbs_grad.js","sourceRoot":"","sources":["../../src/gradients/ComplexAbs_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAAe;IAC9C,UAAU,EAAE,UAAU;IACtB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC,QAAQ;CACjC,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Concat_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Concat_grad.js.map index 58defa35d..3df1a5d62 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Concat_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Concat_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Concat_grad.js","sourceRoot":"","sources":["../../src/gradients/Concat_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,MAAM,EAAc,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,EAAC,IAAI,EAAC,GAAG,KAA0B,CAAC;QAC1C,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAO,CAAC;IAC5C,CAAC;CACF,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 */\nimport {Concat, ConcatAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {split} from '../ops/split';\nimport {Tensor} from '../tensor';\nimport {parseAxisParam} from '../util';\n\nexport const concatGradConfig: GradConfig = {\n kernelName: Concat,\n saveAllInputs: true,\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const shapes = saved.map(t => t.shape);\n const {axis} = attrs as {} as ConcatAttrs;\n const $axis = parseAxisParam(axis, saved[0].shape)[0];\n const sizeSplits = shapes.map(s => s[$axis]);\n const derTensors = split(dy, sizeSplits, $axis);\n return derTensors.map(t => () => t) as {};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Concat_grad.js","sourceRoot":"","sources":["../../src/gradients/Concat_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,MAAM,EAAc,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,EAAC,IAAI,EAAC,GAAG,KAA0B,CAAC;QAC1C,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAO,CAAC;IAC5C,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Conv2DBackpropInput_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Conv2DBackpropInput_grad.js.map index 708b621f9..551e03941 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Conv2DBackpropInput_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Conv2DBackpropInput_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Conv2DBackpropInput_grad.js","sourceRoot":"","sources":["../../src/gradients/Conv2DBackpropInput_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,mBAAmB,EAA2B,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AAGnE,MAAM,CAAC,MAAM,6BAA6B,GAAe;IACvD,UAAU,EAAE,mBAAmB;IAC/B,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;IAC9B,QAAQ,EAAE,CAAC,GAAa,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAChE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,KAA6B,CAAC;QAEnD,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,eAAe,EAAC,GAC7C,KAAuC,CAAC;QAE5C,OAAO;YACL,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CACZ,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,eAAe,EACxD,eAAe,CAAC;YACpB,MAAM,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAC9B,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,eAAe,CAAC;SACtE,CAAC;IACJ,CAAC;CACF,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 */\nimport {Conv2DBackpropInput, Conv2DBackpropInputAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {conv2d} from '../ops/conv2d';\nimport {conv2DBackpropFilter} from '../ops/conv2d_backprop_filter';\nimport {Tensor, Tensor4D} from '../tensor';\n\nexport const conv2DBackpropInputGradConfig: GradConfig = {\n kernelName: Conv2DBackpropInput,\n inputsToSave: ['dy', 'filter'],\n gradFunc: (ddx: Tensor4D, saved: Tensor[], attrs: NamedAttrMap) => {\n const [dy, filter] = saved as [Tensor4D, Tensor4D];\n\n const {strides, pad, dataFormat, dimRoundingMode} =\n attrs as {} as Conv2DBackpropInputAttrs;\n\n return {\n dy: () => conv2d(\n ddx, filter, strides, pad, dataFormat, 1 /* dilations */,\n dimRoundingMode),\n filter: () => conv2DBackpropFilter(\n ddx, dy, filter.shape, strides, pad, dataFormat, dimRoundingMode)\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Conv2DBackpropInput_grad.js","sourceRoot":"","sources":["../../src/gradients/Conv2DBackpropInput_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,mBAAmB,EAA2B,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AAGnE,MAAM,CAAC,MAAM,6BAA6B,GAAe;IACvD,UAAU,EAAE,mBAAmB;IAC/B,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;IAC9B,QAAQ,EAAE,CAAC,GAAa,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAChE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,KAA6B,CAAC;QAEnD,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,eAAe,EAAC,GAC7C,KAAuC,CAAC;QAE5C,OAAO;YACL,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CACZ,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,eAAe,EACxD,eAAe,CAAC;YACpB,MAAM,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAC9B,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,eAAe,CAAC;SACtE,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Conv2D_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Conv2D_grad.js.map index 9ed521d15..b721e53e1 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Conv2D_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Conv2D_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Conv2D_grad.js","sourceRoot":"","sources":["../../src/gradients/Conv2D_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,MAAM,EAAc,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC;IAC7B,QAAQ,EAAE,CAAC,EAAY,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC/D,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,KAA6B,CAAC;QACrD,MAAM,EAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAC,GAAG,KAA0B,CAAC;QAEzE,IAAI,CAAC,MAAM,CACP,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,EACtC,GAAG,EAAE,CAAC,6DAA6D;YAC/D,sDAAsD,SAAS,GAAG,CAAC,CAAC;QAE5E,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CACJ,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC;YACzE,MAAM,EAAE,GAAG,EAAE,CACT,oBAAoB,CAAC,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC;SAC3E,CAAC;IACJ,CAAC;CACF,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 */\nimport {Conv2D, Conv2DAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {conv2DBackpropFilter} from '../ops/conv2d_backprop_filter';\nimport {conv2DBackpropInput} from '../ops/conv2d_backprop_input';\nimport * as conv_util from '../ops/conv_util';\nimport {Tensor, Tensor4D} from '../tensor';\nimport * as util from '../util';\n\nexport const conv2DGradConfig: GradConfig = {\n kernelName: Conv2D,\n inputsToSave: ['x', 'filter'],\n gradFunc: (dy: Tensor4D, saved: Tensor[], attrs: NamedAttrMap) => {\n const [x4D, $filter] = saved as [Tensor4D, Tensor4D];\n const {dilations, strides, pad, dataFormat} = attrs as {} as Conv2DAttrs;\n\n util.assert(\n conv_util.tupleValuesAreOne(dilations),\n () => 'Error in gradient of conv2D: dilation rates greater than 1 ' +\n `are not yet supported in gradients. Got dilations '${dilations}'`);\n\n return {\n x: () =>\n conv2DBackpropInput(x4D.shape, dy, $filter, strides, pad, dataFormat),\n filter: () =>\n conv2DBackpropFilter(x4D, dy, $filter.shape, strides, pad, dataFormat)\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Conv2D_grad.js","sourceRoot":"","sources":["../../src/gradients/Conv2D_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,MAAM,EAAc,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC;IAC7B,QAAQ,EAAE,CAAC,EAAY,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC/D,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,KAA6B,CAAC;QACrD,MAAM,EAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAC,GAAG,KAA0B,CAAC;QAEzE,IAAI,CAAC,MAAM,CACP,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,EACtC,GAAG,EAAE,CAAC,6DAA6D;YAC/D,sDAAsD,SAAS,GAAG,CAAC,CAAC;QAE5E,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CACJ,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC;YACzE,MAAM,EAAE,GAAG,EAAE,CACT,oBAAoB,CAAC,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC;SAC3E,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Conv3D_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Conv3D_grad.js.map index 20ffdc38d..116b77931 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Conv3D_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Conv3D_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Conv3D_grad.js","sourceRoot":"","sources":["../../src/gradients/Conv3D_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,MAAM,EAAc,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC;IAC7B,QAAQ,EAAE,CAAC,EAAY,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC/D,MAAM,EAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAC,GAAG,KAA0B,CAAC;QAC7D,IAAI,CAAC,MAAM,CACP,iBAAiB,CAAC,SAAS,CAAC,EAC5B,GAAG,EAAE,CACD,iEAAiE;YACjE,kDAAkD,SAAS,GAAG,CAAC,CAAC;QAExE,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;QAE7B,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CAAC,mBAAmB,CACvB,GAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,OAAmB,EAAE,OAAO,EAAE,GAAG,CAAC;YACnE,MAAM,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAC9B,GAAe,EAAE,EAAE,EAAG,OAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC;SACpE,CAAC;IACJ,CAAC;CACF,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 */\nimport {Conv3D, Conv3DAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {conv3DBackpropFilter} from '../ops/conv3d_backprop_filter';\nimport {conv3DBackpropInput} from '../ops/conv3d_backprop_input';\nimport {tupleValuesAreOne} from '../ops/conv_util';\nimport {Tensor, Tensor5D} from '../tensor';\nimport * as util from '../util';\n\nexport const conv3DGradConfig: GradConfig = {\n kernelName: Conv3D,\n inputsToSave: ['x', 'filter'],\n gradFunc: (dy: Tensor5D, saved: Tensor[], attrs: NamedAttrMap) => {\n const {dilations, strides, pad} = attrs as {} as Conv3DAttrs;\n util.assert(\n tupleValuesAreOne(dilations),\n () =>\n 'Error in gradient of conv3D: dilation rates greater than 1 are ' +\n `not yet supported in gradients. Got dilations '${dilations}'`);\n\n const [x5D, $filter] = saved;\n\n return {\n x: () => conv3DBackpropInput(\n (x5D as Tensor5D).shape, dy, $filter as Tensor5D, strides, pad),\n filter: () => conv3DBackpropFilter(\n x5D as Tensor5D, dy, ($filter as Tensor5D).shape, strides, pad)\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Conv3D_grad.js","sourceRoot":"","sources":["../../src/gradients/Conv3D_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,MAAM,EAAc,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC;IAC7B,QAAQ,EAAE,CAAC,EAAY,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC/D,MAAM,EAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAC,GAAG,KAA0B,CAAC;QAC7D,IAAI,CAAC,MAAM,CACP,iBAAiB,CAAC,SAAS,CAAC,EAC5B,GAAG,EAAE,CACD,iEAAiE;YACjE,kDAAkD,SAAS,GAAG,CAAC,CAAC;QAExE,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;QAE7B,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CAAC,mBAAmB,CACvB,GAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,OAAmB,EAAE,OAAO,EAAE,GAAG,CAAC;YACnE,MAAM,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAC9B,GAAe,EAAE,EAAE,EAAG,OAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC;SACpE,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Cos_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Cos_grad.js.map index b395152cd..46d724cc4 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Cos_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Cos_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Cos_grad.js","sourceRoot":"","sources":["../../src/gradients/Cos_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAC,CAAC;IAC1D,CAAC;CACF,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 {Cos} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cast} from '../ops/cast';\nimport {mul} from '../ops/mul';\nimport {neg} from '../ops/neg';\nimport {sin} from '../ops/sin';\nimport {Tensor} from '../tensor';\n\nexport const cosGradConfig: GradConfig = {\n kernelName: Cos,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n\n return {x: () => mul(neg(sin(cast(x, 'float32'))), dy)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Cos_grad.js","sourceRoot":"","sources":["../../src/gradients/Cos_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAC,CAAC;IAC1D,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Cosh_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Cosh_grad.js.map index 704ae7276..98b570353 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Cosh_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Cosh_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Cosh_grad.js","sourceRoot":"","sources":["../../src/gradients/Cosh_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAGjC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAC,CAAC;IACtD,CAAC;CACF,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 {Cosh} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cast} from '../ops/cast';\nimport {mul} from '../ops/mul';\nimport {sinh} from '../ops/sinh';\nimport {Tensor} from '../tensor';\n\nexport const coshGradConfig: GradConfig = {\n kernelName: Cosh,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n\n return {x: () => mul(sinh(cast(x, 'float32')), dy)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Cosh_grad.js","sourceRoot":"","sources":["../../src/gradients/Cosh_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAGjC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAC,CAAC;IACtD,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Cumsum_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Cumsum_grad.js.map index 3a1fe0756..104c67618 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Cumsum_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Cumsum_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Cumsum_grad.js","sourceRoot":"","sources":["../../src/gradients/Cumsum_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,MAAM,EAAc,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAG3C,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,MAAM,EAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAC,GAAgB,KAA0B,CAAC;QAE3E,OAAO;YACL,CAAC,EAAE,GAAG,EAAE;gBACN,MAAM,WAAW,GAAG,kBAAkB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAEvD,IAAI,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;gBAEhD,IAAI,WAAW,IAAI,IAAI,EAAE;oBACvB,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;iBACnC;gBAED,OAAO,GAAG,CAAC;YACb,CAAC;SACF,CAAC;IACJ,CAAC;CACF,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 {Cumsum, CumsumAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {getAxesPermutation} from '../ops/axis_util';\nimport {cumsum} from '../ops/cumsum';\nimport {transpose} from '../ops/transpose';\nimport {Tensor} from '../tensor';\n\nexport const cumsumGradConfig: GradConfig = {\n kernelName: Cumsum,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const [x] = saved;\n const {axis, exclusive, reverse}: CumsumAttrs = attrs as {} as CumsumAttrs;\n\n return {\n x: () => {\n const permutation = getAxesPermutation([axis], x.rank);\n\n let out = cumsum(dy, axis, exclusive, !reverse);\n\n if (permutation != null) {\n out = transpose(out, permutation);\n }\n\n return out;\n }\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Cumsum_grad.js","sourceRoot":"","sources":["../../src/gradients/Cumsum_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,MAAM,EAAc,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAG3C,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,MAAM,EAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAC,GAAgB,KAA0B,CAAC;QAE3E,OAAO;YACL,CAAC,EAAE,GAAG,EAAE;gBACN,MAAM,WAAW,GAAG,kBAAkB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAEvD,IAAI,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;gBAEhD,IAAI,WAAW,IAAI,IAAI,EAAE;oBACvB,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;iBACnC;gBAED,OAAO,GAAG,CAAC;YACb,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/DepthwiseConv2dNative_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/DepthwiseConv2dNative_grad.js.map index ad747170a..441e93786 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/DepthwiseConv2dNative_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/DepthwiseConv2dNative_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"DepthwiseConv2dNative_grad.js","sourceRoot":"","sources":["../../src/gradients/DepthwiseConv2dNative_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,qBAAqB,EAA6B,MAAM,iBAAiB,CAAC;AAElF,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,mCAAmC,EAAC,MAAM,gDAAgD,CAAC;AACnG,OAAO,EAAC,kCAAkC,EAAC,MAAM,+CAA+C,CAAC;AAEjG,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,MAAM,CAAC,MAAM,+BAA+B,GAAe;IACzD,UAAU,EAAE,qBAAqB;IACjC,YAAY,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC;IAC7B,QAAQ,EAAE,CAAC,EAAY,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC/D,MAAM,EAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAC,GAC5C,KAAyC,CAAC;QAE9C,MAAM,UAAU,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1D,IAAI,CAAC,MAAM,CACP,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,EACvC,GAAG,EAAE,CAAC,6DAA6D;YAC/D,sDAAsD;YACtD,IAAI,UAAU,GAAG,CAAC,CAAC;QAE3B,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,KAA6B,CAAC;QAElD,IAAI,CAAC,MAAM,CACP,CAAC,CAAC,IAAI,KAAK,CAAC,EACZ,GAAG,EAAE,CAAC,4DAA4D;YAC9D,wBAAwB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CACP,MAAM,CAAC,IAAI,KAAK,CAAC,EACjB,GAAG,EAAE,CAAC,6DAA6D;YAC/D,wBAAwB,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CACP,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAC9B,GAAG,EAAE,CAAC,wDAAwD;YAC1D,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,wCAAwC;YAC/D,aAAa,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEzC,IAAI,CAAC,MAAM,CACP,SAAS,CAAC,8BAA8B,CAAC,OAAO,EAAE,UAAU,CAAC,EAC7D,GAAG,EAAE,CAAC,0DAA0D;YAC5D,qCAAqC,OAAO,iBAAiB;YAC7D,IAAI,UAAU,IAAI,CAAC,CAAC;QAE5B,IAAI,eAAe,IAAI,IAAI,EAAE;YAC3B,IAAI,CAAC,MAAM,CACP,IAAI,CAAC,KAAK,CAAC,GAAa,CAAC,EACzB,GAAG,EAAE,CACD,+DAA+D;gBAC/D,mBAAmB,eAAe,gBAAgB,GAAG,GAAG,CAAC,CAAC;SACnE;QAED,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CAAC,kCAAkC,CACvC,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC;YAClE,MAAM,EAAE,GAAG,EAAE,CAAC,mCAAmC,CAC7C,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC;SACnE,CAAC;IACJ,CAAC;CACF,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 */\nimport {DepthwiseConv2dNative, DepthwiseConv2dNativeAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport * as conv_util from '../ops/conv_util';\nimport {depthwiseConv2dNativeBackpropFilter} from '../ops/depthwise_conv2d_native_backprop_filter';\nimport {depthwiseConv2dNativeBackpropInput} from '../ops/depthwise_conv2d_native_backprop_input';\nimport {Tensor, Tensor4D} from '../tensor';\nimport * as util from '../util';\n\nexport const depthwiseConv2dNativeGradConfig: GradConfig = {\n kernelName: DepthwiseConv2dNative,\n inputsToSave: ['x', 'filter'],\n gradFunc: (dy: Tensor4D, saved: Tensor[], attrs: NamedAttrMap) => {\n const {dilations, strides, pad, dimRoundingMode} =\n attrs as {} as DepthwiseConv2dNativeAttrs;\n\n const $dilations = dilations == null ? [1, 1] : dilations;\n\n util.assert(\n conv_util.tupleValuesAreOne($dilations),\n () => 'Error in gradient of depthwiseConv2dNative: dilation rates ' +\n `greater than 1 are not yet supported. Got dilations ` +\n `'${$dilations}'`);\n\n const [x, filter] = saved as [Tensor4D, Tensor4D];\n\n util.assert(\n x.rank === 4,\n () => `Error in gradient of depthwiseConv2dNative: input must be ` +\n `rank 4, but got rank ${x.rank}.`);\n util.assert(\n filter.rank === 4,\n () => `Error in gradient of depthwiseConv2dNative: filter must be ` +\n `rank 4, but got rank ${filter.rank}.`);\n util.assert(\n x.shape[3] === filter.shape[2],\n () => `Error in gradient of depthwiseConv2d: number of input ` +\n `channels (${x.shape[3]}) must match the inChannels dimension ` +\n `in filter ${filter.shape[2]}.`);\n\n util.assert(\n conv_util.eitherStridesOrDilationsAreOne(strides, $dilations),\n () => 'Error in gradient of depthwiseConv2d: Either strides or ' +\n `dilations must be 1. Got strides ${strides} and dilations ` +\n `'${$dilations}'.`);\n\n if (dimRoundingMode != null) {\n util.assert(\n util.isInt(pad as number),\n () =>\n `Error in depthwiseConv2d: pad must be an integer when using, ` +\n `dimRoundingMode ${dimRoundingMode} but got pad ${pad}.`);\n }\n\n return {\n x: () => depthwiseConv2dNativeBackpropInput(\n x.shape, dy, filter, strides, pad, dilations, dimRoundingMode),\n filter: () => depthwiseConv2dNativeBackpropFilter(\n x, dy, filter.shape, strides, pad, dilations, dimRoundingMode),\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"DepthwiseConv2dNative_grad.js","sourceRoot":"","sources":["../../src/gradients/DepthwiseConv2dNative_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,qBAAqB,EAA6B,MAAM,iBAAiB,CAAC;AAElF,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,mCAAmC,EAAC,MAAM,gDAAgD,CAAC;AACnG,OAAO,EAAC,kCAAkC,EAAC,MAAM,+CAA+C,CAAC;AAEjG,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,MAAM,CAAC,MAAM,+BAA+B,GAAe;IACzD,UAAU,EAAE,qBAAqB;IACjC,YAAY,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC;IAC7B,QAAQ,EAAE,CAAC,EAAY,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC/D,MAAM,EAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAC,GAC5C,KAAyC,CAAC;QAE9C,MAAM,UAAU,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1D,IAAI,CAAC,MAAM,CACP,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,EACvC,GAAG,EAAE,CAAC,6DAA6D;YAC/D,sDAAsD;YACtD,IAAI,UAAU,GAAG,CAAC,CAAC;QAE3B,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,KAA6B,CAAC;QAElD,IAAI,CAAC,MAAM,CACP,CAAC,CAAC,IAAI,KAAK,CAAC,EACZ,GAAG,EAAE,CAAC,4DAA4D;YAC9D,wBAAwB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CACP,MAAM,CAAC,IAAI,KAAK,CAAC,EACjB,GAAG,EAAE,CAAC,6DAA6D;YAC/D,wBAAwB,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CACP,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAC9B,GAAG,EAAE,CAAC,wDAAwD;YAC1D,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,wCAAwC;YAC/D,aAAa,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEzC,IAAI,CAAC,MAAM,CACP,SAAS,CAAC,8BAA8B,CAAC,OAAO,EAAE,UAAU,CAAC,EAC7D,GAAG,EAAE,CAAC,0DAA0D;YAC5D,qCAAqC,OAAO,iBAAiB;YAC7D,IAAI,UAAU,IAAI,CAAC,CAAC;QAE5B,IAAI,eAAe,IAAI,IAAI,EAAE;YAC3B,IAAI,CAAC,MAAM,CACP,IAAI,CAAC,KAAK,CAAC,GAAa,CAAC,EACzB,GAAG,EAAE,CACD,+DAA+D;gBAC/D,mBAAmB,eAAe,gBAAgB,GAAG,GAAG,CAAC,CAAC;SACnE;QAED,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CAAC,kCAAkC,CACvC,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC;YAClE,MAAM,EAAE,GAAG,EAAE,CAAC,mCAAmC,CAC7C,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC;SACnE,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Dilation2D_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Dilation2D_grad.js.map index 836c7bcd4..cad821651 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Dilation2D_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Dilation2D_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Dilation2D_grad.js","sourceRoot":"","sources":["../../src/gradients/Dilation2D_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAC;AACjC,OAAO,EAAC,UAAU,EAAE,wBAAwB,EAAkC,uBAAuB,EAAgC,MAAM,iBAAiB,CAAC;AAM7J,MAAM,CAAC,MAAM,oBAAoB,GAAe;IAC9C,UAAU,EAAE,UAAU;IACtB,YAAY,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC;IAC7B,QAAQ,EAAE,CAAC,EAAY,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC/D,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,KAA6B,CAAC;QAElD,MAAM,WAAW,GAAkC,EAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAC,CAAC;QACnE,MAAM,YAAY,GAAmC,EAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAC,CAAC;QAErE,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CACrB,uBAAuB,EAAE,WAAmC,EAAE,KAAK,CAAC;YACxE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAC1B,wBAAwB,EAAE,YAAoC,EAAE,KAAK,CAAC;SAC3E,CAAC;IACJ,CAAC;CACF,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 */\nimport {ENGINE} from '../engine';\nimport {Dilation2D, Dilation2DBackpropFilter, Dilation2DBackpropFilterInputs, Dilation2DBackpropInput, Dilation2DBackpropInputInputs} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {NamedAttrMap} from '../kernel_registry';\nimport {Tensor, Tensor3D, Tensor4D} from '../tensor';\nimport {NamedTensorMap} from '../tensor_types';\n\nexport const dilation2dGradConfig: GradConfig = {\n kernelName: Dilation2D,\n inputsToSave: ['x', 'filter'],\n gradFunc: (dy: Tensor4D, saved: Tensor[], attrs: NamedAttrMap) => {\n const [x, filter] = saved as [Tensor4D, Tensor3D];\n\n const inputInputs: Dilation2DBackpropInputInputs = {x, filter, dy};\n const filterInputs: Dilation2DBackpropFilterInputs = {x, filter, dy};\n\n return {\n x: () => ENGINE.runKernel(\n Dilation2DBackpropInput, inputInputs as {} as NamedTensorMap, attrs),\n filter: () => ENGINE.runKernel(\n Dilation2DBackpropFilter, filterInputs as {} as NamedTensorMap, attrs)\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Dilation2D_grad.js","sourceRoot":"","sources":["../../src/gradients/Dilation2D_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAC;AACjC,OAAO,EAAC,UAAU,EAAE,wBAAwB,EAAkC,uBAAuB,EAAgC,MAAM,iBAAiB,CAAC;AAM7J,MAAM,CAAC,MAAM,oBAAoB,GAAe;IAC9C,UAAU,EAAE,UAAU;IACtB,YAAY,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC;IAC7B,QAAQ,EAAE,CAAC,EAAY,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC/D,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,KAA6B,CAAC;QAElD,MAAM,WAAW,GAAkC,EAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAC,CAAC;QACnE,MAAM,YAAY,GAAmC,EAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAC,CAAC;QAErE,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CACrB,uBAAuB,EAAE,WAAmC,EAAE,KAAK,CAAC;YACxE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAC1B,wBAAwB,EAAE,YAAoC,EAAE,KAAK,CAAC;SAC3E,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Elu_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Elu_grad.js.map index 8d9e13f7e..cb81db5df 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Elu_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Elu_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Elu_grad.js","sourceRoot":"","sources":["../../src/gradients/Elu_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAC;AACjC,OAAO,EAAC,GAAG,EAAE,OAAO,EAAgB,MAAM,iBAAiB,CAAC;AAK5D,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,MAAM,MAAM,GAAkB,EAAC,EAAE,EAAE,CAAC,EAAC,CAAC;QAEtC,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAA8B,CAAC,EAAC,CAAC;IAC9E,CAAC;CACF,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 */\nimport {ENGINE} from '../engine';\nimport {Elu, EluGrad, EluGradInputs} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {Tensor} from '../tensor';\nimport {NamedTensorMap} from '../tensor_types';\n\nexport const eluGradConfig: GradConfig = {\n kernelName: Elu,\n outputsToSave: [true],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [y] = saved;\n\n const inputs: EluGradInputs = {dy, y};\n\n return {x: () => ENGINE.runKernel(EluGrad, inputs as {} as NamedTensorMap)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Elu_grad.js","sourceRoot":"","sources":["../../src/gradients/Elu_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAC;AACjC,OAAO,EAAC,GAAG,EAAE,OAAO,EAAgB,MAAM,iBAAiB,CAAC;AAK5D,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,MAAM,MAAM,GAAkB,EAAC,EAAE,EAAE,CAAC,EAAC,CAAC;QAEtC,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAA8B,CAAC,EAAC,CAAC;IAC9E,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Erf_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Erf_grad.js.map index 5b931ac06..76775682d 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Erf_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Erf_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Erf_grad.js","sourceRoot":"","sources":["../../src/gradients/Erf_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAGrC,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,CAAC;IAC/B,CAAC;CACF,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 {Erf} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {exp} from '../ops/exp';\nimport {mul} from '../ops/mul';\nimport {neg} from '../ops/neg';\nimport {square} from '../ops/square';\nimport {Tensor} from '../tensor';\n\nexport const erfGradConfig: GradConfig = {\n kernelName: Erf,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n const a = mul(exp(neg(square(x))), 2 / Math.sqrt(Math.PI));\n return {x: () => mul(dy, a)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Erf_grad.js","sourceRoot":"","sources":["../../src/gradients/Erf_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAGrC,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,CAAC;IAC/B,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Exp_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Exp_grad.js.map index 43bacaea7..8936104fe 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Exp_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Exp_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Exp_grad.js","sourceRoot":"","sources":["../../src/gradients/Exp_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,CAAC;IAC/B,CAAC;CACF,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 {Exp} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {mul} from '../ops/mul';\nimport {Tensor} from '../tensor';\n\nexport const expGradConfig: GradConfig = {\n kernelName: Exp,\n outputsToSave: [true],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [y] = saved;\n return {x: () => mul(dy, y)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Exp_grad.js","sourceRoot":"","sources":["../../src/gradients/Exp_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,CAAC;IAC/B,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ExpandDims_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ExpandDims_grad.js.map index ec6d7c5f5..5f3c99f85 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ExpandDims_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ExpandDims_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"ExpandDims_grad.js","sourceRoot":"","sources":["../../src/gradients/ExpandDims_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAGvC,MAAM,CAAC,MAAM,oBAAoB,GAAe;IAC9C,UAAU,EAAE,UAAU;IACtB,YAAY,EAAE,CAAC,OAAO,CAAC;IACvB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACtB,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAC,CAAC;IACjD,CAAC;CACF,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 {ExpandDims} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {reshape} from '../ops/reshape';\nimport {Tensor} from '../tensor';\n\nexport const expandDimsGradConfig: GradConfig = {\n kernelName: ExpandDims,\n inputsToSave: ['input'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [input] = saved;\n return {input: () => reshape(dy, input.shape)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"ExpandDims_grad.js","sourceRoot":"","sources":["../../src/gradients/ExpandDims_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAGvC,MAAM,CAAC,MAAM,oBAAoB,GAAe;IAC9C,UAAU,EAAE,UAAU;IACtB,YAAY,EAAE,CAAC,OAAO,CAAC;IACvB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACtB,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAC,CAAC;IACjD,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Expm1_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Expm1_grad.js.map index be1a100f8..2626e9cee 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Expm1_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Expm1_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Expm1_grad.js","sourceRoot":"","sources":["../../src/gradients/Expm1_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;IACpC,CAAC;CACF,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 {Expm1} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {exp} from '../ops/exp';\nimport {mul} from '../ops/mul';\nimport {Tensor} from '../tensor';\n\nexport const expm1GradConfig: GradConfig = {\n kernelName: Expm1,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n return {x: () => mul(dy, exp(x))};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Expm1_grad.js","sourceRoot":"","sources":["../../src/gradients/Expm1_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;IACpC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/FloorDiv_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/FloorDiv_grad.js.map index cbd5034e0..f84c4f663 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/FloorDiv_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/FloorDiv_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"FloorDiv_grad.js","sourceRoot":"","sources":["../../src/gradients/FloorDiv_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAC,0BAA0B,EAAE,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,UAAU,EAAE,QAAQ;IACpB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,QAAQ,GAAG,0BAA0B,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAE9D,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAC/C;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YACtC,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAC9C;YACD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,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 {FloorDiv} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {assertAndGetBroadcastShape, getReductionAxes} from '../ops/broadcast_util';\nimport {cast} from '../ops/cast';\nimport {div} from '../ops/div';\nimport {mul} from '../ops/mul';\nimport {neg} from '../ops/neg';\nimport {reshape} from '../ops/reshape';\nimport {square} from '../ops/square';\nimport {sum} from '../ops/sum';\nimport {Tensor} from '../tensor';\n\nexport const floorDivGradConfig: GradConfig = {\n kernelName: FloorDiv,\n inputsToSave: ['a', 'b'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [a, b] = saved;\n const outShape = assertAndGetBroadcastShape(a.shape, b.shape);\n\n const derA = () => {\n const res = div(dy, cast(b, 'float32'));\n const reduceAxes = getReductionAxes(a.shape, outShape);\n if (reduceAxes.length > 0) {\n return reshape(sum(res, reduceAxes), a.shape);\n }\n return res;\n };\n const derB = () => {\n let res = mul(dy, cast(a, 'float32'));\n const reduceAxes = getReductionAxes(b.shape, outShape);\n if (reduceAxes.length > 0) {\n res = reshape(sum(res, reduceAxes), b.shape);\n }\n const tmp = square(b);\n return neg(div(res, cast(tmp, 'float32')));\n };\n return {a: derA, b: derB};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"FloorDiv_grad.js","sourceRoot":"","sources":["../../src/gradients/FloorDiv_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAC,0BAA0B,EAAE,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,UAAU,EAAE,QAAQ;IACpB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,QAAQ,GAAG,0BAA0B,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAE9D,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAC/C;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YACtC,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAC9C;YACD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Floor_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Floor_grad.js.map index f4b6323c0..e9c4b787e 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Floor_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Floor_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Floor_grad.js","sourceRoot":"","sources":["../../src/gradients/Floor_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,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 {Floor} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {zerosLike} from '../ops/zeros_like';\nimport {Tensor} from '../tensor';\n\nexport const floorGradConfig: GradConfig = {\n kernelName: Floor,\n gradFunc: (dy: Tensor) => {\n return {x: () => zerosLike(dy)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Floor_grad.js","sourceRoot":"","sources":["../../src/gradients/Floor_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/FusedBatchNorm_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/FusedBatchNorm_grad.js.map index 4413caed2..fb2b891d7 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/FusedBatchNorm_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/FusedBatchNorm_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"FusedBatchNorm_grad.js","sourceRoot":"","sources":["../../src/gradients/FusedBatchNorm_grad.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 */\nimport {FusedBatchNorm, FusedBatchNormAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {add} from '../ops/add';\nimport {getReductionAxes} from '../ops/broadcast_util';\nimport {mul} from '../ops/mul';\nimport {reshape} from '../ops/reshape';\nimport {rsqrt} from '../ops/rsqrt';\nimport {scalar} from '../ops/scalar';\nimport {sub} from '../ops/sub';\nimport {sum} from '../ops/sum';\nimport {tile} from '../ops/tile';\nimport {Tensor} from '../tensor';\nimport {Rank, ShapeMap} from '../types';\n\nexport const fusedBatchNormGradConfig: GradConfig = {\n kernelName: FusedBatchNorm,\n inputsToSave: ['x', 'mean', 'variance', 'scale'],\n gradFunc: (\n dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const {varianceEpsilon} = attrs as {} as FusedBatchNormAttrs;\n const [x, mean, variance, scale] = saved;\n\n const scaleValue = scale == null ? scalar(1) : scale;\n const reductionAxes = getReductionAxes(mean.shape, x.shape);\n const tileShape: number[] = [];\n if (mean.rank === 1) {\n for (let i = 0; i < x.shape.length - 1; ++i) {\n tileShape.push(x.shape[i]);\n }\n tileShape.push(1);\n }\n\n const xMinusMean = sub(x, mean);\n const dyTimesScaleValue = mul(dy, scaleValue);\n const oneOverSqrtVariance = rsqrt(add(variance, scalar(varianceEpsilon)));\n const minusHalfRCube = mul(\n mul(mul(oneOverSqrtVariance, oneOverSqrtVariance), oneOverSqrtVariance),\n scalar(-0.5));\n\n const derX = () => {\n if (mean.rank === 1) {\n return reshape(\n mul(mul(dy,\n tile(\n reshape(oneOverSqrtVariance, [1, 1, 1, mean.shape[0]]),\n tileShape)),\n scaleValue),\n x.shape);\n } else {\n return reshape(mul(mul(dy, oneOverSqrtVariance), scaleValue), x.shape);\n }\n };\n const derMean = () => {\n let meanDer =\n mul(mul(oneOverSqrtVariance, scalar(-1)), dyTimesScaleValue);\n if (mean.rank === 1) {\n meanDer = sum(meanDer, reductionAxes);\n }\n return reshape(meanDer, mean.shape as ShapeMap[R]);\n };\n const derVariance = () => {\n let varianceDer = mul(mul(minusHalfRCube, xMinusMean), dyTimesScaleValue);\n\n if (mean.rank === 1) {\n varianceDer = sum(varianceDer, reductionAxes);\n }\n return reshape(varianceDer, mean.shape as ShapeMap[R]);\n };\n const derScale = () => {\n const xMinusMean2TimesRsqrt = mul(xMinusMean, oneOverSqrtVariance);\n\n let scaleDer = mul(dy, xMinusMean2TimesRsqrt);\n if (mean.rank === 1) {\n scaleDer = sum(scaleDer, reductionAxes);\n }\n return reshape(scaleDer, mean.shape as ShapeMap[R]);\n };\n const derOffset = () => {\n let offsetDer = dy;\n if (mean.rank === 1) {\n offsetDer = sum(offsetDer, reductionAxes);\n }\n return reshape(offsetDer, mean.shape as ShapeMap[R]);\n };\n\n return {\n x: derX,\n mean: derMean,\n variance: derVariance,\n scale: derScale,\n offset: derOffset\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"FusedBatchNorm_grad.js","sourceRoot":"","sources":["../../src/gradients/FusedBatchNorm_grad.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/GatherV2_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/GatherV2_grad.js.map index b20306aba..06263e02a 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/GatherV2_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/GatherV2_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"GatherV2_grad.js","sourceRoot":"","sources":["../../src/gradients/GatherV2_grad.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 {GatherV2, GatherV2Attrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {getUndoAxesPermutation} from '../ops/axis_util';\nimport {reshape} from '../ops/reshape';\nimport {transpose} from '../ops/transpose';\nimport {unsortedSegmentSum} from '../ops/unsorted_segment_sum';\nimport {Tensor, Tensor1D} from '../tensor';\nimport {parseAxisParam} from '../util';\n\nexport const gatherGradConfig: GradConfig = {\n kernelName: GatherV2,\n inputsToSave: ['x', 'indices'],\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const [x, indices] = saved;\n const {axis} = attrs as {} as GatherV2Attrs;\n\n const parsedAxis = parseAxisParam(axis, x.shape)[0];\n\n const derX = () => {\n const paramsShape = x.shape;\n const indicesSize = indices.size;\n\n const outerShape = paramsShape.slice(0, parsedAxis);\n const outerDims = outerShape.length;\n const innerShape = paramsShape.slice(axis, paramsShape.length).slice(1);\n const innerDims = innerShape.length;\n\n const outerAxesIndices = arrayRange(0, outerDims);\n const innerAxesIndices =\n arrayRange(outerDims + 1, outerDims + 1 + innerDims);\n\n const valuesShape = arrayConcat([outerShape, [indicesSize], innerShape]);\n\n const values = reshape(dy, valuesShape);\n const reshapedIndices = reshape(indices, [indicesSize]);\n\n const transposeDims =\n arrayConcat([[outerDims], outerAxesIndices, innerAxesIndices]);\n const valuesTranspose = transpose(values, transposeDims);\n let paramsGrad = unsortedSegmentSum(\n valuesTranspose, reshapedIndices as Tensor1D, x.shape[parsedAxis]);\n\n const invertTransposeDims = getUndoAxesPermutation(transposeDims);\n paramsGrad = transpose(paramsGrad, invertTransposeDims);\n\n return paramsGrad;\n };\n return {x: derX, indices: () => indices};\n }\n};\n\nfunction arrayRange(start: number, stop: number): number[] {\n const result = [];\n for (let i = start; i < stop; ++i) {\n result.push(i);\n }\n return result;\n}\n\nfunction arrayConcat(arrays: number[][]): number[] {\n const result = [];\n for (let i = 0; i < arrays.length; ++i) {\n for (let j = 0; j < arrays[i].length; ++j) {\n result.push(arrays[i][j]);\n }\n }\n return result;\n}\n"]} \ No newline at end of file +{"version":3,"file":"GatherV2_grad.js","sourceRoot":"","sources":["../../src/gradients/GatherV2_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAC,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,QAAQ;IACpB,YAAY,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC;IAC9B,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;QAC3B,MAAM,EAAC,IAAI,EAAC,GAAG,KAA4B,CAAC;QAE5C,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpD,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC;YAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAEjC,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC;YACpC,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxE,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC;YAEpC,MAAM,gBAAgB,GAAG,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAClD,MAAM,gBAAgB,GAClB,UAAU,CAAC,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;YAEzD,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;YAEzE,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;YACxC,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YAExD,MAAM,aAAa,GACf,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC;YACnE,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YACzD,IAAI,UAAU,GAAG,kBAAkB,CAC/B,eAAe,EAAE,eAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YAEvE,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;YAClE,UAAU,GAAG,SAAS,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;YAExD,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC;QACF,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAC,CAAC;IAC3C,CAAC;CACF,CAAC;AAEF,SAAS,UAAU,CAAC,KAAa,EAAE,IAAY;IAC7C,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;QACjC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAChB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,MAAkB;IACrC,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACzC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/GreaterEqual_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/GreaterEqual_grad.js.map index 1c0be7e79..cd92da3eb 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/GreaterEqual_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/GreaterEqual_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"GreaterEqual_grad.js","sourceRoot":"","sources":["../../src/gradients/GreaterEqual_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,sBAAsB,GAAe;IAChD,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,CAAC;IACxD,CAAC;CACF,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 */\nimport {GreaterEqual} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {zerosLike} from '../ops/zeros_like';\nimport {Tensor} from '../tensor';\n\nexport const greaterEqualGradConfig: GradConfig = {\n kernelName: GreaterEqual,\n inputsToSave: ['a', 'b'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [a, b] = saved;\n return {a: () => zerosLike(a), b: () => zerosLike(b)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"GreaterEqual_grad.js","sourceRoot":"","sources":["../../src/gradients/GreaterEqual_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,sBAAsB,GAAe;IAChD,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,CAAC;IACxD,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Identity_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Identity_grad.js.map index 80908590f..873a751ff 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Identity_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Identity_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Identity_grad.js","sourceRoot":"","sources":["../../src/gradients/Identity_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAGjC,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,EAAC,CAAC;IACxC,CAAC;CACF,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 {Identity} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cast} from '../ops/cast';\nimport {Tensor} from '../tensor';\n\nexport const identityGradConfig: GradConfig = {\n kernelName: Identity,\n gradFunc: (dy: Tensor) => {\n return {x: () => cast(dy, 'float32')};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Identity_grad.js","sourceRoot":"","sources":["../../src/gradients/Identity_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAGjC,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,EAAC,CAAC;IACxC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/IsFinite_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/IsFinite_grad.js.map index 0ef85b519..c9fa46578 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/IsFinite_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/IsFinite_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"IsFinite_grad.js","sourceRoot":"","sources":["../../src/gradients/IsFinite_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,wEAAwE;QACxE,kBAAkB;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,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 {IsFinite} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {zerosLike} from '../ops/zeros_like';\nimport {Tensor} from '../tensor';\n\nexport const isFiniteGradConfig: GradConfig = {\n kernelName: IsFinite,\n gradFunc: (dy: Tensor) => {\n // TODO(nsthorat): Let gradients be null for cases where we want to stop\n // backpropgation.\n return {x: () => zerosLike(dy)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"IsFinite_grad.js","sourceRoot":"","sources":["../../src/gradients/IsFinite_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,wEAAwE;QACxE,kBAAkB;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/IsInf_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/IsInf_grad.js.map index 7c8dba296..7ef44e3c5 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/IsInf_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/IsInf_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"IsInf_grad.js","sourceRoot":"","sources":["../../src/gradients/IsInf_grad.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,wEAAwE;QACxE,kBAAkB;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,CAAC","sourcesContent":["\n/**\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 {IsInf} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {zerosLike} from '../ops/zeros_like';\nimport {Tensor} from '../tensor';\n\nexport const isInfGradConfig: GradConfig = {\n kernelName: IsInf,\n gradFunc: (dy: Tensor) => {\n // TODO(nsthorat): Let gradients be null for cases where we want to stop\n // backpropgation.\n return {x: () => zerosLike(dy)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"IsInf_grad.js","sourceRoot":"","sources":["../../src/gradients/IsInf_grad.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,wEAAwE;QACxE,kBAAkB;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/IsNan_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/IsNan_grad.js.map index a7cfcffd9..c2a0e849b 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/IsNan_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/IsNan_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"IsNan_grad.js","sourceRoot":"","sources":["../../src/gradients/IsNan_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,wEAAwE;QACxE,kBAAkB;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,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 {IsNan} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {zerosLike} from '../ops/zeros_like';\nimport {Tensor} from '../tensor';\n\nexport const isNanGradConfig: GradConfig = {\n kernelName: IsNan,\n gradFunc: (dy: Tensor) => {\n // TODO(nsthorat): Let gradients be null for cases where we want to stop\n // backpropgation.\n return {x: () => zerosLike(dy)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"IsNan_grad.js","sourceRoot":"","sources":["../../src/gradients/IsNan_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,wEAAwE;QACxE,kBAAkB;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/LRN_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/LRN_grad.js.map index bdcce7ca7..2db32a7c0 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/LRN_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/LRN_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"LRN_grad.js","sourceRoot":"","sources":["../../src/gradients/LRN_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,GAAG,EAAW,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAC,kCAAkC,EAAC,MAAM,8CAA8C,CAAC;AAGhG,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAY,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC/D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAA6B,CAAC;QAC7C,MAAM,EAAC,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,GAAG,KAAuB,CAAC;QAEjE,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CAAC,kCAAkC,CACvC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;SAC9C,CAAC;IACJ,CAAC;CACF,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 */\nimport {LRN, LRNAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {localResponseNormalizationBackprop} from '../ops/local_response_normalization_backprop';\nimport {Tensor, Tensor4D} from '../tensor';\n\nexport const lrnGradConfig: GradConfig = {\n kernelName: LRN,\n inputsToSave: ['x'],\n outputsToSave: [true],\n gradFunc: (dy: Tensor4D, saved: Tensor[], attrs: NamedAttrMap) => {\n const [x, y] = saved as [Tensor4D, Tensor4D];\n const {depthRadius, bias, alpha, beta} = attrs as {} as LRNAttrs;\n\n return {\n x: () => localResponseNormalizationBackprop(\n x, y, dy, depthRadius, bias, alpha, beta)\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"LRN_grad.js","sourceRoot":"","sources":["../../src/gradients/LRN_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,GAAG,EAAW,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAC,kCAAkC,EAAC,MAAM,8CAA8C,CAAC;AAGhG,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAY,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC/D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAA6B,CAAC;QAC7C,MAAM,EAAC,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,GAAG,KAAuB,CAAC;QAEjE,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CAAC,kCAAkC,CACvC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;SAC9C,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/LeakyRelu_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/LeakyRelu_grad.js.map index 440496fa0..4de74cf6f 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/LeakyRelu_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/LeakyRelu_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"LeakyRelu_grad.js","sourceRoot":"","sources":["../../src/gradients/LeakyRelu_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AAGnC,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,MAAM,EAAC,KAAK,EAAC,GAAG,KAA6B,CAAC;QAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3B,yEAAyE;QACzE,OAAO;QACP,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAC,CAAC;IACpD,CAAC;CACF,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 */\nimport {LeakyRelu, LeakyReluAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {greater} from '../ops/greater';\nimport {mul} from '../ops/mul';\nimport {where} from '../ops/where';\nimport {Tensor} from '../tensor';\n\nexport const leakyReluGradConfig: GradConfig = {\n kernelName: LeakyRelu,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const [x] = saved;\n const {alpha} = attrs as {} as LeakyReluAttrs;\n const mask = greater(x, 0);\n\n // Returns `gradients * (features > 0) + alpha * gradients * (features <=\n // 0)`.\n return {x: () => where(mask, dy, mul(dy, alpha))};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"LeakyRelu_grad.js","sourceRoot":"","sources":["../../src/gradients/LeakyRelu_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AAGnC,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,MAAM,EAAC,KAAK,EAAC,GAAG,KAA6B,CAAC;QAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3B,yEAAyE;QACzE,OAAO;QACP,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAC,CAAC;IACpD,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Log1p_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Log1p_grad.js.map index 0709c09c9..e508268e3 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Log1p_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Log1p_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Log1p_grad.js","sourceRoot":"","sources":["../../src/gradients/Log1p_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC;IACvC,CAAC;CACF,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 {Log1p} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {add} from '../ops/add';\nimport {div} from '../ops/div';\nimport {Tensor} from '../tensor';\n\nexport const log1pGradConfig: GradConfig = {\n kernelName: Log1p,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n return {x: () => div(dy, add(x, 1))};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Log1p_grad.js","sourceRoot":"","sources":["../../src/gradients/Log1p_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC;IACvC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/LogSoftmax_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/LogSoftmax_grad.js.map index 21d803a72..3869bd82c 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/LogSoftmax_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/LogSoftmax_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"LogSoftmax_grad.js","sourceRoot":"","sources":["../../src/gradients/LogSoftmax_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,UAAU,EAAkB,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,oBAAoB,GAAe;IAC9C,UAAU,EAAE,UAAU;IACtB,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACtB,MAAM,EAAC,IAAI,EAAC,GAAG,KAA8B,CAAC;QAC9C,OAAO;YACL,MAAM,EAAE,GAAG,EAAE;gBACX,MAAM,QAAQ,GAAG,IAAI,CAAC;gBACtB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3B,OAAO,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YACxD,CAAC;SACF,CAAC;IACJ,CAAC;CACF,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 {LogSoftmax, LogSoftmaxAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {exp} from '../ops/exp';\nimport {mul} from '../ops/mul';\nimport {sub} from '../ops/sub';\nimport {sum} from '../ops/sum';\nimport {Tensor} from '../tensor';\n\nexport const logSoftmaxGradConfig: GradConfig = {\n kernelName: LogSoftmax,\n inputsToSave: [],\n outputsToSave: [true],\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const [value] = saved;\n const {axis} = attrs as {} as LogSoftmaxAttrs;\n return {\n logits: () => {\n const keepDims = true;\n const softmax = exp(value);\n return sub(dy, mul(sum(dy, axis, keepDims), softmax));\n }\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"LogSoftmax_grad.js","sourceRoot":"","sources":["../../src/gradients/LogSoftmax_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,UAAU,EAAkB,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,oBAAoB,GAAe;IAC9C,UAAU,EAAE,UAAU;IACtB,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACtB,MAAM,EAAC,IAAI,EAAC,GAAG,KAA8B,CAAC;QAC9C,OAAO;YACL,MAAM,EAAE,GAAG,EAAE;gBACX,MAAM,QAAQ,GAAG,IAAI,CAAC;gBACtB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3B,OAAO,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YACxD,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Log_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Log_grad.js.map index 1eea10873..6a0d51395 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Log_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Log_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Log_grad.js","sourceRoot":"","sources":["../../src/gradients/Log_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAC,CAAC;IAChD,CAAC;CACF,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 {Log} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cast} from '../ops/cast';\nimport {div} from '../ops/div';\nimport {Tensor} from '../tensor';\n\nexport const logGradConfig: GradConfig = {\n kernelName: Log,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n return {x: () => div(dy, cast(x, 'float32'))};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Log_grad.js","sourceRoot":"","sources":["../../src/gradients/Log_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAC,CAAC;IAChD,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/MaxPool3D_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/MaxPool3D_grad.js.map index 3584ff8af..d4d405ef4 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/MaxPool3D_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/MaxPool3D_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"MaxPool3D_grad.js","sourceRoot":"","sources":["../../src/gradients/MaxPool3D_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAGtD,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAA6B,CAAC;QAC7C,MAAM,EAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAC,GAC7C,KAA6B,CAAC;QAElC,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CAAC,aAAa,CAClB,EAAc,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC;SACrE,CAAC;IACJ,CAAC;CACF,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 {MaxPool3D, MaxPool3DAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {maxPool3dGrad} from '../ops/max_pool_3d_grad';\nimport {Tensor, Tensor5D} from '../tensor';\n\nexport const maxPool3DGradConfig: GradConfig = {\n kernelName: MaxPool3D,\n inputsToSave: ['x'],\n outputsToSave: [true],\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const [x, y] = saved as [Tensor5D, Tensor5D];\n const {filterSize, strides, pad, dimRoundingMode} =\n attrs as {} as MaxPool3DAttrs;\n\n return {\n x: () => maxPool3dGrad(\n dy as Tensor5D, x, y, filterSize, strides, pad, dimRoundingMode)\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"MaxPool3D_grad.js","sourceRoot":"","sources":["../../src/gradients/MaxPool3D_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAGtD,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAA6B,CAAC;QAC7C,MAAM,EAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAC,GAC7C,KAA6B,CAAC;QAElC,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CAAC,aAAa,CAClB,EAAc,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC;SACrE,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/MaxPool_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/MaxPool_grad.js.map index d7a9b4a9d..feb416667 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/MaxPool_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/MaxPool_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"MaxPool_grad.js","sourceRoot":"","sources":["../../src/gradients/MaxPool_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,OAAO,EAAe,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAGjD,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAA6B,CAAC;QAC7C,MAAM,EAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAC,GAAG,KAA2B,CAAC;QAE/D,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,EAAc,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC;SACrE,CAAC;IACJ,CAAC;CACF,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 {MaxPool, MaxPoolAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {maxPoolGrad} from '../ops/max_pool_grad';\nimport {Tensor, Tensor4D} from '../tensor';\n\nexport const maxPoolGradConfig: GradConfig = {\n kernelName: MaxPool,\n inputsToSave: ['x'],\n outputsToSave: [true],\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const [x, y] = saved as [Tensor4D, Tensor4D];\n const {filterSize, strides, pad} = attrs as {} as MaxPoolAttrs;\n\n return {\n x: () => maxPoolGrad(dy as Tensor4D, x, y, filterSize, strides, pad)\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"MaxPool_grad.js","sourceRoot":"","sources":["../../src/gradients/MaxPool_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,OAAO,EAAe,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAGjD,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAA6B,CAAC;QAC7C,MAAM,EAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAC,GAAG,KAA2B,CAAC;QAE/D,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,EAAc,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC;SACrE,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Max_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Max_grad.js.map index 26e103087..0df1b12d6 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Max_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Max_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Max_grad.js","sourceRoot":"","sources":["../../src/gradients/Max_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAW,MAAM,iBAAiB,CAAC;AAG9C,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,QAAQ,GAAa,KAAuB,CAAC;QACnD,MAAM,EAAC,gBAAgB,EAAC,GAAG,QAAQ,CAAC;QACpC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrD,OAAO;YACL,CAAC,EAAE,GAAG,EAAE;gBACN,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,CAAC;SACF,CAAC;IACJ,CAAC;CACF,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 {Max, MaxAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {Tensor} from '../tensor';\nimport * as util from '../util';\n\nimport {gradForMinAndMax} from './min_max_grad_util';\n\nexport const maxGradConfig: GradConfig = {\n kernelName: Max,\n inputsToSave: ['x'],\n outputsToSave: [true],\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const maxAttrs: MaxAttrs = attrs as {} as MaxAttrs;\n const {reductionIndices} = maxAttrs;\n const x = saved[0];\n const y = saved[1];\n const origAxes = util.parseAxisParam(reductionIndices, x.shape);\n const maxGrad = gradForMinAndMax(dy, y, x, origAxes);\n return {\n x: () => {\n return maxGrad['x']();\n }\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Max_grad.js","sourceRoot":"","sources":["../../src/gradients/Max_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAW,MAAM,iBAAiB,CAAC;AAG9C,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,QAAQ,GAAa,KAAuB,CAAC;QACnD,MAAM,EAAC,gBAAgB,EAAC,GAAG,QAAQ,CAAC;QACpC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrD,OAAO;YACL,CAAC,EAAE,GAAG,EAAE;gBACN,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Maximum_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Maximum_grad.js.map index 81210a889..bfd304c59 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Maximum_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Maximum_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Maximum_grad.js","sourceRoot":"","sources":["../../src/gradients/Maximum_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QACxD,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,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 {Maximum} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cast} from '../ops/cast';\nimport {greaterEqual} from '../ops/greater_equal';\nimport {less} from '../ops/less';\nimport {mul} from '../ops/mul';\nimport {Tensor} from '../tensor';\n\nexport const maximumGradConfig: GradConfig = {\n kernelName: Maximum,\n inputsToSave: ['a', 'b'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [a, b] = saved;\n const derA = () => mul(dy, cast(greaterEqual(a, b), 'float32'));\n const derB = () => mul(dy, cast(less(a, b), 'float32'));\n return {a: derA, b: derB};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Maximum_grad.js","sourceRoot":"","sources":["../../src/gradients/Maximum_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QACxD,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Mean_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Mean_grad.js.map index 07079f12f..43d178c12 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Mean_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Mean_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Mean_grad.js","sourceRoot":"","sources":["../../src/gradients/Mean_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAY,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAC,yBAAyB,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAEvC,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,MAAM,EAAC,IAAI,EAAC,GAAG,KAAwB,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,yBAAyB,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAEnD,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAClB,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;YAChD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YACvE,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QAEF,OAAO,EAAC,CAAC,EAAE,IAAI,EAAC,CAAC;IACnB,CAAC;CACF,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 {Mean, MeanAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {computeOutAndReduceShapes} from '../ops/axis_util';\nimport {div} from '../ops/div';\nimport {mul} from '../ops/mul';\nimport {ones} from '../ops/ones';\nimport {reshape} from '../ops/reshape';\nimport {Tensor} from '../tensor';\nimport * as util from '../util';\n\nexport const meanGradConfig: GradConfig = {\n kernelName: Mean,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const [x] = saved;\n const {axis} = attrs as {} as MeanAttrs;\n const axes = util.parseAxisParam(axis, x.shape);\n const shapes = computeOutAndReduceShapes(x.shape, axes);\n const reduceShape = shapes[1];\n const reduceSize = util.sizeFromShape(reduceShape);\n\n const derX = () => {\n const expandedDyShape = x.shape.slice();\n axes.forEach(axis => {\n expandedDyShape[axis] = 1;\n });\n const expandedDy = reshape(dy, expandedDyShape);\n const res = div(mul(expandedDy, ones(x.shape, 'float32')), reduceSize);\n return res;\n };\n\n return {x: derX};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Mean_grad.js","sourceRoot":"","sources":["../../src/gradients/Mean_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAY,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAC,yBAAyB,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAEvC,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,MAAM,EAAC,IAAI,EAAC,GAAG,KAAwB,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,yBAAyB,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAEnD,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAClB,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;YAChD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YACvE,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QAEF,OAAO,EAAC,CAAC,EAAE,IAAI,EAAC,CAAC;IACnB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Min_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Min_grad.js.map index 57ed58438..fb779b92a 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Min_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Min_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Min_grad.js","sourceRoot":"","sources":["../../src/gradients/Min_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAW,MAAM,iBAAiB,CAAC;AAG9C,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,QAAQ,GAAa,KAAuB,CAAC;QACnD,MAAM,EAAC,IAAI,EAAC,GAAG,QAAQ,CAAC;QACxB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrD,OAAO;YACL,CAAC,EAAE,GAAG,EAAE;gBACN,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,CAAC;SACF,CAAC;IACJ,CAAC;CACF,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 {Min, MinAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {Tensor} from '../tensor';\nimport * as util from '../util';\n\nimport {gradForMinAndMax} from './min_max_grad_util';\n\nexport const minGradConfig: GradConfig = {\n kernelName: Min,\n inputsToSave: ['x'],\n outputsToSave: [true],\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const minAttrs: MinAttrs = attrs as {} as MinAttrs;\n const {axis} = minAttrs;\n const [x, y] = saved;\n const origAxes = util.parseAxisParam(axis, x.shape);\n const minGrad = gradForMinAndMax(dy, y, x, origAxes);\n return {\n x: () => {\n return minGrad['x']();\n }\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Min_grad.js","sourceRoot":"","sources":["../../src/gradients/Min_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAW,MAAM,iBAAiB,CAAC;AAG9C,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,QAAQ,GAAa,KAAuB,CAAC;QACnD,MAAM,EAAC,IAAI,EAAC,GAAG,QAAQ,CAAC;QACxB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrD,OAAO;YACL,CAAC,EAAE,GAAG,EAAE;gBACN,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Minimum_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Minimum_grad.js.map index 46c45ae2e..ef1cb0424 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Minimum_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Minimum_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Minimum_grad.js","sourceRoot":"","sources":["../../src/gradients/Minimum_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAC3D,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,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 {Minimum} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cast} from '../ops/cast';\nimport {greater} from '../ops/greater';\nimport {lessEqual} from '../ops/less_equal';\nimport {mul} from '../ops/mul';\nimport {Tensor} from '../tensor';\n\nexport const minimumGradConfig: GradConfig = {\n kernelName: Minimum,\n inputsToSave: ['a', 'b'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [a, b] = saved;\n const derA = () => mul(dy, cast(lessEqual(a, b), 'float32'));\n const derB = () => mul(dy, cast(greater(a, b), 'float32'));\n return {a: derA, b: derB};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Minimum_grad.js","sourceRoot":"","sources":["../../src/gradients/Minimum_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAC3D,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/MirrorPad_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/MirrorPad_grad.js.map index 3051710e9..7a35369c7 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/MirrorPad_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/MirrorPad_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"MirrorPad_grad.js","sourceRoot":"","sources":["../../src/gradients/MirrorPad_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AAGnC,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,oEAAoE;QACpE,iDAAiD;QACjD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,EAAC,QAAQ,EAAC,GAAG,KAAkC,CAAC;QACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,EAAC,CAAC;IAC9C,CAAC;CACF,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 {MirrorPad, MirrorPadAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {slice} from '../ops/slice';\nimport {Tensor} from '../tensor';\n\nexport const mirrorPadGradConfig: GradConfig = {\n kernelName: MirrorPad,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n // Pad introduces values around the original tensor, so the gradient\n // slices the original shape out of the gradient.\n const x = saved[0];\n const {paddings} = attrs as unknown as MirrorPadAttrs;\n const begin = paddings.map(p => p[0]);\n return {x: () => slice(dy, begin, x.shape)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"MirrorPad_grad.js","sourceRoot":"","sources":["../../src/gradients/MirrorPad_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AAGnC,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,oEAAoE;QACpE,iDAAiD;QACjD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,EAAC,QAAQ,EAAC,GAAG,KAAkC,CAAC;QACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,EAAC,CAAC;IAC9C,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Mod_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Mod_grad.js.map index 814dbfbd2..55332813b 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Mod_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Mod_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Mod_grad.js","sourceRoot":"","sources":["../../src/gradients/Mod_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,0BAA0B,EAAE,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AACnC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,QAAQ,GAAG,0BAA0B,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAE9D,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAC9C;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAC/C;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QACF,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,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 {Mod} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {assertAndGetBroadcastShape, getReductionAxes} from '../ops/broadcast_util';\nimport {div} from '../ops/div';\nimport {floor} from '../ops/floor';\nimport {mul} from '../ops/mul';\nimport {neg} from '../ops/neg';\nimport {reshape} from '../ops/reshape';\nimport {sum} from '../ops/sum';\nimport {Tensor} from '../tensor';\n\nexport const modGradConfig: GradConfig = {\n kernelName: Mod,\n inputsToSave: ['a', 'b'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [a, b] = saved;\n const outShape = assertAndGetBroadcastShape(a.shape, b.shape);\n\n const derA = () => {\n const reduceAxes = getReductionAxes(a.shape, outShape);\n if (reduceAxes.length > 0) {\n return reshape(sum(dy, reduceAxes), a.shape);\n }\n return dy;\n };\n const derB = () => {\n const res = mul(dy, neg(floor(div(a, b))));\n const reduceAxes = getReductionAxes(b.shape, outShape);\n if (reduceAxes.length > 0) {\n return reshape(sum(res, reduceAxes), b.shape);\n }\n return res;\n };\n return {a: derA, b: derB};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Mod_grad.js","sourceRoot":"","sources":["../../src/gradients/Mod_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,0BAA0B,EAAE,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AACnC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,QAAQ,GAAG,0BAA0B,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAE9D,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAC9C;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAC/C;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QACF,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Multiply_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Multiply_grad.js.map index 451e2ae97..883f9d404 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Multiply_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Multiply_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Multiply_grad.js","sourceRoot":"","sources":["../../src/gradients/Multiply_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAC,0BAA0B,EAAE,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,UAAU,EAAE,QAAQ;IACpB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,QAAQ,GAAG,0BAA0B,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAE9D,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAC/C;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAC/C;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QACF,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,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 {Multiply} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {assertAndGetBroadcastShape, getReductionAxes} from '../ops/broadcast_util';\nimport {cast} from '../ops/cast';\nimport {mul} from '../ops/mul';\nimport {reshape} from '../ops/reshape';\nimport {sum} from '../ops/sum';\nimport {Tensor} from '../tensor';\n\nexport const multiplyGradConfig: GradConfig = {\n kernelName: Multiply,\n inputsToSave: ['a', 'b'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [a, b] = saved;\n const outShape = assertAndGetBroadcastShape(a.shape, b.shape);\n\n const derA = () => {\n const res = mul(dy, cast(b, 'float32'));\n const reduceAxes = getReductionAxes(a.shape, outShape);\n if (reduceAxes.length > 0) {\n return reshape(sum(res, reduceAxes), a.shape);\n }\n return res;\n };\n const derB = () => {\n const res = mul(dy, cast(a, 'float32'));\n const reduceAxes = getReductionAxes(b.shape, outShape);\n if (reduceAxes.length > 0) {\n return reshape(sum(res, reduceAxes), b.shape);\n }\n return res;\n };\n return {a: derA, b: derB};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Multiply_grad.js","sourceRoot":"","sources":["../../src/gradients/Multiply_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAC,0BAA0B,EAAE,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,UAAU,EAAE,QAAQ;IACpB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,QAAQ,GAAG,0BAA0B,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAE9D,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAC/C;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAC/C;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QACF,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Neg_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Neg_grad.js.map index a3e88fc02..8eec73e72 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Neg_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Neg_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Neg_grad.js","sourceRoot":"","sources":["../../src/gradients/Neg_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAC,CAAC;IAC5B,CAAC;CACF,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 {Neg} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {neg} from '../ops/neg';\nimport {Tensor} from '../tensor';\n\nexport const negGradConfig: GradConfig = {\n kernelName: Neg,\n gradFunc: (dy: Tensor) => {\n return {x: () => neg(dy)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Neg_grad.js","sourceRoot":"","sources":["../../src/gradients/Neg_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAC,CAAC;IAC5B,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/OneHot_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/OneHot_grad.js.map index cfe5599bf..b17b50a51 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/OneHot_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/OneHot_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"OneHot_grad.js","sourceRoot":"","sources":["../../src/gradients/OneHot_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AAGnC,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,CAAC,SAAS,CAAC;IACzB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,EAAC,CAAC;IAC1D,CAAC;CACF,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 {OneHot} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {zeros} from '../ops/zeros';\nimport {Tensor} from '../tensor';\n\nexport const oneHotGradConfig: GradConfig = {\n kernelName: OneHot,\n inputsToSave: ['indices'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const indices = saved[0];\n return {indices: () => zeros(indices.shape, 'float32')};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"OneHot_grad.js","sourceRoot":"","sources":["../../src/gradients/OneHot_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AAGnC,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,CAAC,SAAS,CAAC;IACzB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,EAAC,CAAC;IAC1D,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/OnesLike_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/OnesLike_grad.js.map index bcd755028..4e5f06b27 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/OnesLike_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/OnesLike_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"OnesLike_grad.js","sourceRoot":"","sources":["../../src/gradients/OnesLike_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,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 {OnesLike} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {zerosLike} from '../ops/zeros_like';\nimport {Tensor} from '../tensor';\n\nexport const onesLikeGradConfig: GradConfig = {\n kernelName: OnesLike,\n gradFunc: (dy: Tensor) => {\n return {x: () => zerosLike(dy)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"OnesLike_grad.js","sourceRoot":"","sources":["../../src/gradients/OnesLike_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Pack_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Pack_grad.js.map index 819f26095..961b2e746 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Pack_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Pack_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Pack_grad.js","sourceRoot":"","sources":["../../src/gradients/Pack_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAY,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAGvC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,EAAC,IAAI,EAAC,GAAG,KAAwB,CAAC;QACxC,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACrC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAO,CAAC;IAC5C,CAAC;CACF,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 {Pack, PackAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {unstack} from '../ops/unstack';\nimport {Tensor} from '../tensor';\n\nexport const packGradConfig: GradConfig = {\n kernelName: Pack,\n saveAllInputs: true,\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const {axis} = attrs as {} as PackAttrs;\n const derTensors = unstack(dy, axis);\n return derTensors.map(t => () => t) as {};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Pack_grad.js","sourceRoot":"","sources":["../../src/gradients/Pack_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAY,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAGvC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,EAAC,IAAI,EAAC,GAAG,KAAwB,CAAC;QACxC,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACrC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAO,CAAC;IAC5C,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/PadV2_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/PadV2_grad.js.map index 2780a57b1..733dcd63d 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/PadV2_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/PadV2_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"PadV2_grad.js","sourceRoot":"","sources":["../../src/gradients/PadV2_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAa,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AAGnC,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,oEAAoE;QACpE,iDAAiD;QACjD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,EAAC,QAAQ,EAAC,GAAG,KAA8B,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,EAAC,CAAC;IAC9C,CAAC;CACF,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 {PadV2, PadV2Attrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {slice} from '../ops/slice';\nimport {Tensor} from '../tensor';\n\nexport const padV2GradConfig: GradConfig = {\n kernelName: PadV2,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n // Pad introduces values around the original tensor, so the gradient\n // slices the original shape out of the gradient.\n const x = saved[0];\n const {paddings} = attrs as unknown as PadV2Attrs;\n const begin = paddings.map(p => p[0]);\n return {x: () => slice(dy, begin, x.shape)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"PadV2_grad.js","sourceRoot":"","sources":["../../src/gradients/PadV2_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAa,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AAGnC,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,oEAAoE;QACpE,iDAAiD;QACjD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,EAAC,QAAQ,EAAC,GAAG,KAA8B,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,EAAC,CAAC;IAC9C,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Pow_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Pow_grad.js.map index bcd4b3e79..12f97b249 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Pow_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Pow_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Pow_grad.js","sourceRoot":"","sources":["../../src/gradients/Pow_grad.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 */\nimport {Pow} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport * as broadcast_util from '../ops/broadcast_util';\nimport {cast} from '../ops/cast';\nimport {greater} from '../ops/greater';\nimport {log} from '../ops/log';\nimport {mul} from '../ops/mul';\nimport {pow} from '../ops/pow';\nimport {reshape} from '../ops/reshape';\nimport {scalar} from '../ops/scalar';\nimport {sub} from '../ops/sub';\nimport {sum} from '../ops/sum';\nimport {where} from '../ops/where';\nimport {zerosLike} from '../ops/zeros_like';\nimport {Tensor} from '../tensor';\n\nexport const powGradConfig: GradConfig = {\n kernelName: Pow,\n inputsToSave: ['a', 'b'],\n outputsToSave: [true],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [a, b, y] = saved;\n const base = a;\n const exp = b;\n const outShape =\n broadcast_util.assertAndGetBroadcastShape(base.shape, exp.shape);\n\n const derBase = () => {\n const expFloat = cast(exp, 'float32');\n let res = mul(dy, mul(expFloat, pow(base, sub(expFloat, scalar(1)))));\n const reduceAxes = broadcast_util.getReductionAxes(base.shape, outShape);\n if (reduceAxes.length > 0) {\n res = sum(res, reduceAxes);\n }\n return reshape(res, base.shape);\n };\n const derExp = () => {\n const condition = greater(base, 0);\n const logBase = where(condition, log(base), zerosLike(base));\n let res = mul(dy, mul(y, logBase));\n const reduceAxes = broadcast_util.getReductionAxes(exp.shape, outShape);\n if (reduceAxes.length > 0) {\n res = sum(res, reduceAxes);\n }\n return reshape(res, exp.shape);\n };\n return {a: derBase, b: derExp};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Pow_grad.js","sourceRoot":"","sources":["../../src/gradients/Pow_grad.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Prelu_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Prelu_grad.js.map index 73366ca81..d6c5bf3f9 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Prelu_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Prelu_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Prelu_grad.js","sourceRoot":"","sources":["../../src/gradients/Prelu_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AACnC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3B,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACxC,KAAK,EAAE,GAAG,EAAE;gBACV,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC3D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;iBAC5B;gBACD,OAAO,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,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 */\nimport {Prelu} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {getReductionAxes} from '../ops/broadcast_util';\nimport {greater} from '../ops/greater';\nimport {mul} from '../ops/mul';\nimport {reshape} from '../ops/reshape';\nimport {sum} from '../ops/sum';\nimport {where} from '../ops/where';\nimport {zerosLike} from '../ops/zeros_like';\nimport {Tensor} from '../tensor';\n\nexport const preluGradConfig: GradConfig = {\n kernelName: Prelu,\n inputsToSave: ['x', 'alpha'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x, alpha] = saved;\n const mask = greater(x, 0);\n\n return {\n x: () => where(mask, dy, mul(dy, alpha)),\n alpha: () => {\n let res = where(mask, zerosLike(dy), mul(dy, x));\n const reduceAxes = getReductionAxes(alpha.shape, dy.shape);\n if (reduceAxes.length > 0) {\n res = sum(res, reduceAxes);\n }\n return reshape(res, alpha.shape);\n }\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Prelu_grad.js","sourceRoot":"","sources":["../../src/gradients/Prelu_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AACnC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3B,OAAO;YACL,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACxC,KAAK,EAAE,GAAG,EAAE;gBACV,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC3D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;iBAC5B;gBACD,OAAO,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/RealDiv_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/RealDiv_grad.js.map index 8c6fb0279..15a794583 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/RealDiv_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/RealDiv_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"RealDiv_grad.js","sourceRoot":"","sources":["../../src/gradients/RealDiv_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAExC,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,QAAQ,GACV,cAAc,CAAC,0BAA0B,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAC/C;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YACtC,MAAM,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAC9C;YACD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,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 {RealDiv} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport * as broadcast_util from '../ops/broadcast_util';\nimport {cast} from '../ops/cast';\nimport {div} from '../ops/div';\nimport {mul} from '../ops/mul';\nimport {neg} from '../ops/neg';\nimport {reshape} from '../ops/reshape';\nimport {square} from '../ops/square';\nimport {sum} from '../ops/sum';\nimport {Tensor} from '../tensor';\n\nexport const divGradConfig: GradConfig = {\n kernelName: RealDiv,\n inputsToSave: ['a', 'b'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [a, b] = saved;\n const outShape =\n broadcast_util.assertAndGetBroadcastShape(a.shape, b.shape);\n const derA = () => {\n const res = div(dy, cast(b, 'float32'));\n const reduceAxes = broadcast_util.getReductionAxes(a.shape, outShape);\n if (reduceAxes.length > 0) {\n return reshape(sum(res, reduceAxes), a.shape);\n }\n return res;\n };\n const derB = () => {\n let res = mul(dy, cast(a, 'float32'));\n const reduceAxes = broadcast_util.getReductionAxes(b.shape, outShape);\n if (reduceAxes.length > 0) {\n res = reshape(sum(res, reduceAxes), b.shape);\n }\n const tmp = square(b);\n return neg(div(res, cast(tmp, 'float32')));\n };\n return {a: derA, b: derB};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"RealDiv_grad.js","sourceRoot":"","sources":["../../src/gradients/RealDiv_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAExC,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,QAAQ,GACV,cAAc,CAAC,0BAA0B,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAC/C;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YACtC,MAAM,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAC9C;YACD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Reciprocal_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Reciprocal_grad.js.map index b84c49c82..4daaa38b7 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Reciprocal_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Reciprocal_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Reciprocal_grad.js","sourceRoot":"","sources":["../../src/gradients/Reciprocal_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAGrC,MAAM,CAAC,MAAM,oBAAoB,GAAe;IAC9C,UAAU,EAAE,UAAU;IACtB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;IAC5C,CAAC;CACF,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 {Reciprocal} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {div} from '../ops/div';\nimport {neg} from '../ops/neg';\nimport {square} from '../ops/square';\nimport {Tensor} from '../tensor';\n\nexport const reciprocalGradConfig: GradConfig = {\n kernelName: Reciprocal,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n return {x: () => div(dy, neg(square(x)))};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Reciprocal_grad.js","sourceRoot":"","sources":["../../src/gradients/Reciprocal_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAGrC,MAAM,CAAC,MAAM,oBAAoB,GAAe;IAC9C,UAAU,EAAE,UAAU;IACtB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;IAC5C,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Relu6_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Relu6_grad.js.map index 52c512609..fb97752fe 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Relu6_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Relu6_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Relu6_grad.js","sourceRoot":"","sources":["../../src/gradients/Relu6_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAGjC,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3C,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAC,CAAC;IACnD,CAAC;CACF,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 */\nimport {Relu6} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cast} from '../ops/cast';\nimport {lessEqual} from '../ops/less_equal';\nimport {mul} from '../ops/mul';\nimport {step} from '../ops/step';\nimport {Tensor} from '../tensor';\n\nexport const relu6GradConfig: GradConfig = {\n kernelName: Relu6,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n const mask = mul(lessEqual(x, 6), step(x));\n\n return {x: () => mul(dy, cast(mask, 'float32'))};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Relu6_grad.js","sourceRoot":"","sources":["../../src/gradients/Relu6_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAGjC,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3C,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAC,CAAC;IACnD,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Relu_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Relu_grad.js.map index 79bb98f51..b8ed1a514 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Relu_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Relu_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Relu_grad.js","sourceRoot":"","sources":["../../src/gradients/Relu_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAGjC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAC,CAAC;IACtD,CAAC;CACF,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 */\nimport {Relu} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cast} from '../ops/cast';\nimport {mul} from '../ops/mul';\nimport {step} from '../ops/step';\nimport {Tensor} from '../tensor';\n\nexport const reluGradConfig: GradConfig = {\n kernelName: Relu,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n return {x: () => mul(dy, cast(step(x), 'float32'))};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Relu_grad.js","sourceRoot":"","sources":["../../src/gradients/Relu_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAGjC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAC,CAAC;IACtD,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Reshape_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Reshape_grad.js.map index e6d47d881..93e01485a 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Reshape_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Reshape_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Reshape_grad.js","sourceRoot":"","sources":["../../src/gradients/Reshape_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAGvC,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAC,CAAC;IACzC,CAAC;CACF,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 */\nimport {Reshape} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {reshape} from '../ops/reshape';\nimport {Tensor} from '../tensor';\n\nexport const reshapeGradConfig: GradConfig = {\n kernelName: Reshape,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n return {x: () => reshape(dy, x.shape)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Reshape_grad.js","sourceRoot":"","sources":["../../src/gradients/Reshape_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAGvC,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAC,CAAC;IACzC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ResizeBilinear_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ResizeBilinear_grad.js.map index 60ea4ce59..8a240dd90 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ResizeBilinear_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ResizeBilinear_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"ResizeBilinear_grad.js","sourceRoot":"","sources":["../../src/gradients/ResizeBilinear_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAC;AACjC,OAAO,EAAC,cAAc,EAAE,kBAAkB,EAA2B,MAAM,iBAAiB,CAAC;AAM7F,MAAM,CAAC,MAAM,wBAAwB,GAAe;IAClD,UAAU,EAAE,cAAc;IAC1B,YAAY,EAAE,CAAC,QAAQ,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAY,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC/D,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QAEvB,MAAM,MAAM,GAA6B,EAAC,EAAE,EAAE,MAAM,EAAC,CAAC;QACtD,MAAM,SAAS,GAAG,GAAG,EAAE;QACnB,0DAA0D;QAC1D,MAAM,CAAC,SAAS,CACZ,kBAAkB,EAAE,MAA8B,EAAE,KAAK,CACrD,CAAC;QAEb,OAAO,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC;IAC7B,CAAC;CACF,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 */\nimport {ENGINE} from '../engine';\nimport {ResizeBilinear, ResizeBilinearGrad, ResizeBilinearGradInputs} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {NamedAttrMap} from '../kernel_registry';\nimport {Tensor, Tensor4D} from '../tensor';\nimport {NamedTensorMap} from '../tensor_types';\n\nexport const resizeBilinearGradConfig: GradConfig = {\n kernelName: ResizeBilinear,\n inputsToSave: ['images'],\n gradFunc: (dy: Tensor4D, saved: Tensor[], attrs: NamedAttrMap) => {\n const [images] = saved;\n\n const inputs: ResizeBilinearGradInputs = {dy, images};\n const imagesDer = () =>\n // tslint:disable-next-line: no-unnecessary-type-assertion\n ENGINE.runKernel(\n ResizeBilinearGrad, inputs as {} as NamedTensorMap, attrs) as\n Tensor4D;\n\n return {images: imagesDer};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"ResizeBilinear_grad.js","sourceRoot":"","sources":["../../src/gradients/ResizeBilinear_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAC;AACjC,OAAO,EAAC,cAAc,EAAE,kBAAkB,EAA2B,MAAM,iBAAiB,CAAC;AAM7F,MAAM,CAAC,MAAM,wBAAwB,GAAe;IAClD,UAAU,EAAE,cAAc;IAC1B,YAAY,EAAE,CAAC,QAAQ,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAY,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC/D,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QAEvB,MAAM,MAAM,GAA6B,EAAC,EAAE,EAAE,MAAM,EAAC,CAAC;QACtD,MAAM,SAAS,GAAG,GAAG,EAAE;QACnB,0DAA0D;QAC1D,MAAM,CAAC,SAAS,CACZ,kBAAkB,EAAE,MAA8B,EAAE,KAAK,CACrD,CAAC;QAEb,OAAO,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC;IAC7B,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ResizeNearestNeighbor_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ResizeNearestNeighbor_grad.js.map index 364b7f159..326755cb5 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ResizeNearestNeighbor_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ResizeNearestNeighbor_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"ResizeNearestNeighbor_grad.js","sourceRoot":"","sources":["../../src/gradients/ResizeNearestNeighbor_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAC;AACjC,OAAO,EAAC,qBAAqB,EAAE,yBAAyB,EAAkC,MAAM,iBAAiB,CAAC;AAMlH,MAAM,CAAC,MAAM,+BAA+B,GAAe;IACzD,UAAU,EAAE,qBAAqB;IACjC,YAAY,EAAE,CAAC,QAAQ,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAY,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC/D,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QAEvB,MAAM,MAAM,GAAoC,EAAC,EAAE,EAAE,MAAM,EAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,GAAG,EAAE;QACnB,0DAA0D;QAC1D,MAAM,CAAC,SAAS,CACZ,yBAAyB,EAAE,MAA8B,EAAE,KAAK,CAC5D,CAAC;QAEb,OAAO,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC;IAC7B,CAAC;CACF,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 */\nimport {ENGINE} from '../engine';\nimport {ResizeNearestNeighbor, ResizeNearestNeighborGrad, ResizeNearestNeighborGradInputs} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {NamedAttrMap} from '../kernel_registry';\nimport {Tensor, Tensor4D} from '../tensor';\nimport {NamedTensorMap} from '../tensor_types';\n\nexport const resizeNearestNeighborGradConfig: GradConfig = {\n kernelName: ResizeNearestNeighbor,\n inputsToSave: ['images'],\n gradFunc: (dy: Tensor4D, saved: Tensor[], attrs: NamedAttrMap) => {\n const [images] = saved;\n\n const inputs: ResizeNearestNeighborGradInputs = {dy, images};\n const imagesDer = () =>\n // tslint:disable-next-line: no-unnecessary-type-assertion\n ENGINE.runKernel(\n ResizeNearestNeighborGrad, inputs as {} as NamedTensorMap, attrs) as\n Tensor4D;\n\n return {images: imagesDer};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"ResizeNearestNeighbor_grad.js","sourceRoot":"","sources":["../../src/gradients/ResizeNearestNeighbor_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAC;AACjC,OAAO,EAAC,qBAAqB,EAAE,yBAAyB,EAAkC,MAAM,iBAAiB,CAAC;AAMlH,MAAM,CAAC,MAAM,+BAA+B,GAAe;IACzD,UAAU,EAAE,qBAAqB;IACjC,YAAY,EAAE,CAAC,QAAQ,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAY,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC/D,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QAEvB,MAAM,MAAM,GAAoC,EAAC,EAAE,EAAE,MAAM,EAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,GAAG,EAAE;QACnB,0DAA0D;QAC1D,MAAM,CAAC,SAAS,CACZ,yBAAyB,EAAE,MAA8B,EAAE,KAAK,CAC5D,CAAC;QAEb,OAAO,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC;IAC7B,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Reverse_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Reverse_grad.js.map index 86866a688..349ede40d 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Reverse_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Reverse_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Reverse_grad.js","sourceRoot":"","sources":["../../src/gradients/Reverse_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,OAAO,EAAe,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,UAAU,EAAE,OAAO;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,EAAC,IAAI,EAAC,GAAG,KAA2B,CAAC;QAC3C,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,EAAC,CAAC;IACtC,CAAC;CACF,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 */\nimport {Reverse, ReverseAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {reverse} from '../ops/reverse';\nimport {Tensor} from '../tensor';\nimport {parseAxisParam} from '../util';\n\nexport const reverseGradConfig: GradConfig = {\n kernelName: Reverse,\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const {dims} = attrs as {} as ReverseAttrs;\n const axes = parseAxisParam(dims, dy.shape);\n return {x: () => reverse(dy, axes)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Reverse_grad.js","sourceRoot":"","sources":["../../src/gradients/Reverse_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,OAAO,EAAe,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,UAAU,EAAE,OAAO;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,EAAC,IAAI,EAAC,GAAG,KAA2B,CAAC;QAC3C,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,EAAC,CAAC;IACtC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Round_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Round_grad.js.map index dde01224a..f0ec889e6 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Round_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Round_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Round_grad.js","sourceRoot":"","sources":["../../src/gradients/Round_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,wEAAwE;QACxE,kBAAkB;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,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 {Round} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {zerosLike} from '../ops/zeros_like';\nimport {Tensor} from '../tensor';\n\nexport const roundGradConfig: GradConfig = {\n kernelName: Round,\n gradFunc: (dy: Tensor) => {\n // TODO(nsthorat): Let gradients be null for cases where we want to stop\n // backpropgation.\n return {x: () => zerosLike(dy)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Round_grad.js","sourceRoot":"","sources":["../../src/gradients/Round_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,wEAAwE;QACxE,kBAAkB;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Rsqrt_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Rsqrt_grad.js.map index a4f4cec2f..859c60f5a 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Rsqrt_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Rsqrt_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Rsqrt_grad.js","sourceRoot":"","sources":["../../src/gradients/Rsqrt_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;IACtD,CAAC;CACF,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 {Rsqrt} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {div} from '../ops/div';\nimport {mul} from '../ops/mul';\nimport {neg} from '../ops/neg';\nimport {pow} from '../ops/pow';\nimport {Tensor} from '../tensor';\n\nexport const rsqrtGradConfig: GradConfig = {\n kernelName: Rsqrt,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n return {x: () => neg(div(dy, mul(pow(x, 1.5), 2)))};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Rsqrt_grad.js","sourceRoot":"","sources":["../../src/gradients/Rsqrt_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;IACtD,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Select_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Select_grad.js.map index fa5b5005c..14c98861f 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Select_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Select_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Select_grad.js","sourceRoot":"","sources":["../../src/gradients/Select_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,CAAC,WAAW,CAAC;IAC3B,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;QAC1B,OAAO;YACL,sDAAsD;YACtD,6BAA6B;YAC7B,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;YACtD,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;SACxD,CAAC;IACJ,CAAC;CACF,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 {Select} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cast} from '../ops/cast';\nimport {logicalNot} from '../ops/logical_not';\nimport {mul} from '../ops/mul';\nimport {zerosLike} from '../ops/zeros_like';\nimport {Tensor} from '../tensor';\n\nexport const selectGradConfig: GradConfig = {\n kernelName: Select,\n inputsToSave: ['condition'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [condition] = saved;\n return {\n // TODO(julianoks): Return null for condition gradient\n // when backprop supports it.\n condition: () => cast(zerosLike(condition), 'float32'),\n t: () => mul(dy, cast(condition, dy.dtype)),\n e: () => mul(dy, cast(logicalNot(condition), dy.dtype))\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Select_grad.js","sourceRoot":"","sources":["../../src/gradients/Select_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,CAAC,WAAW,CAAC;IAC3B,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;QAC1B,OAAO;YACL,sDAAsD;YACtD,6BAA6B;YAC7B,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;YACtD,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;SACxD,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Selu_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Selu_grad.js.map index 6800b63af..b4edb3fef 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Selu_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Selu_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Selu_grad.js","sourceRoot":"","sources":["../../src/gradients/Selu_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,UAAU,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AAGnC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO;YACL,CAAC,EAAE,GAAG,EAAE;gBACN,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEnC,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;gBAEjC,MAAM,kBAAkB,GAAG,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC1C,MAAM,gBAAgB,GAClB,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;gBAEtD,OAAO,KAAK,CAAC,IAAI,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;YAC3D,CAAC;SACF,CAAC;IACJ,CAAC;CACF,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 */\nimport {Selu} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cast} from '../ops/cast';\nimport {exp} from '../ops/exp';\nimport {greater} from '../ops/greater';\nimport {mul} from '../ops/mul';\nimport {scalar} from '../ops/scalar';\nimport {SELU_SCALE, SELU_SCALEALPHA} from '../ops/selu_util';\nimport {where} from '../ops/where';\nimport {Tensor} from '../tensor';\n\nexport const seluGradConfig: GradConfig = {\n kernelName: Selu,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n return {\n x: () => {\n const mask = greater(x, scalar(0));\n\n const scaleAlpha = scalar(SELU_SCALEALPHA);\n const scale = scalar(SELU_SCALE);\n\n const greaterThanZeroDer = mul(dy, scale);\n const lessEqualZeroDer =\n mul(mul(dy, scaleAlpha), exp(cast(x, 'float32')));\n\n return where(mask, greaterThanZeroDer, lessEqualZeroDer);\n }\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Selu_grad.js","sourceRoot":"","sources":["../../src/gradients/Selu_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,UAAU,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AAGnC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO;YACL,CAAC,EAAE,GAAG,EAAE;gBACN,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEnC,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;gBAEjC,MAAM,kBAAkB,GAAG,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC1C,MAAM,gBAAgB,GAClB,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;gBAEtD,OAAO,KAAK,CAAC,IAAI,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;YAC3D,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sigmoid_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sigmoid_grad.js.map index 8c1b571d8..16fab391c 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sigmoid_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sigmoid_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Sigmoid_grad.js","sourceRoot":"","sources":["../../src/gradients/Sigmoid_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,UAAU,EAAE,OAAO;IACnB,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;IACvD,CAAC;CACF,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 {Sigmoid} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {mul} from '../ops/mul';\nimport {scalar} from '../ops/scalar';\nimport {sub} from '../ops/sub';\nimport {Tensor} from '../tensor';\n\nexport const sigmoidGradConfig: GradConfig = {\n kernelName: Sigmoid,\n outputsToSave: [true],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [y] = saved;\n\n return {x: () => mul(dy, mul(y, sub(scalar(1), y)))};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Sigmoid_grad.js","sourceRoot":"","sources":["../../src/gradients/Sigmoid_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,UAAU,EAAE,OAAO;IACnB,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;IACvD,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sign_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sign_grad.js.map index a545235f1..1b8ec9a15 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sign_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sign_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Sign_grad.js","sourceRoot":"","sources":["../../src/gradients/Sign_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,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 {Sign} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {zerosLike} from '../ops/zeros_like';\nimport {Tensor} from '../tensor';\n\nexport const signGradConfig: GradConfig = {\n kernelName: Sign,\n gradFunc: (dy: Tensor) => {\n return {x: () => zerosLike(dy)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Sign_grad.js","sourceRoot":"","sources":["../../src/gradients/Sign_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sin_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sin_grad.js.map index 0b446aa03..185317e7d 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sin_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sin_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Sin_grad.js","sourceRoot":"","sources":["../../src/gradients/Sin_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAC,CAAC;IACrD,CAAC;CACF,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 {Sin} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cast} from '../ops/cast';\nimport {cos} from '../ops/cos';\nimport {mul} from '../ops/mul';\nimport {Tensor} from '../tensor';\n\nexport const sinGradConfig: GradConfig = {\n kernelName: Sin,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n return {x: () => mul(cos(cast(x, 'float32')), dy)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Sin_grad.js","sourceRoot":"","sources":["../../src/gradients/Sin_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAC,CAAC;IACrD,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sinh_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sinh_grad.js.map index d047d30ec..cd999f770 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sinh_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sinh_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Sinh_grad.js","sourceRoot":"","sources":["../../src/gradients/Sinh_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAC,CAAC;IACtD,CAAC;CACF,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 {Sinh} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cast} from '../ops/cast';\nimport {cosh} from '../ops/cosh';\nimport {mul} from '../ops/mul';\nimport {Tensor} from '../tensor';\n\nexport const sinhGradConfig: GradConfig = {\n kernelName: Sinh,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n\n return {x: () => mul(cosh(cast(x, 'float32')), dy)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Sinh_grad.js","sourceRoot":"","sources":["../../src/gradients/Sinh_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAC,CAAC;IACtD,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Slice_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Slice_grad.js.map index 1d203dc1c..3c6bab70e 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Slice_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Slice_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Slice_grad.js","sourceRoot":"","sources":["../../src/gradients/Slice_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAa,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAGnD,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,MAAM,EAAC,KAAK,EAAE,IAAI,EAAC,GAAG,KAAyB,CAAC;QAEhD,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC;QAC3B,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAEzD,mEAAmE;QACnE,oEAAoE;QACpE,yDAAyD;QAEzD,0DAA0D;QAC1D,oEAAoE;QACpE,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YAChC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAClE;QACD,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAC,CAAC;IACtC,CAAC;CACF,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 {Slice, SliceAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {pad} from '../ops/pad';\nimport {parseSliceParams} from '../ops/slice_util';\nimport {Tensor} from '../tensor';\n\nexport const sliceGradConfig: GradConfig = {\n kernelName: Slice,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const [x] = saved;\n const {begin, size} = attrs as {} as SliceAttrs;\n\n const inputShape = x.shape;\n const [begin_, size_] = parseSliceParams(x, begin, size);\n\n // Create an Nx2 padding where the first column represents how many\n // zeros are prepended (at start) for each dimension, and the second\n // column indicates how many zeros are appended (at end).\n\n // The number of zeros to append is the shape of the input\n // elementwise-subtracted by both the begin vector and sizes vector.\n const paddings: Array<[number, number]> = [];\n for (let i = 0; i < dy.rank; i++) {\n paddings.push([begin_[i], inputShape[i] - begin_[i] - size_[i]]);\n }\n return {x: () => pad(dy, paddings)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Slice_grad.js","sourceRoot":"","sources":["../../src/gradients/Slice_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,EAAa,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAGnD,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,MAAM,EAAC,KAAK,EAAE,IAAI,EAAC,GAAG,KAAyB,CAAC;QAEhD,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC;QAC3B,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAEzD,mEAAmE;QACnE,oEAAoE;QACpE,yDAAyD;QAEzD,0DAA0D;QAC1D,oEAAoE;QACpE,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YAChC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAClE;QACD,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAC,CAAC;IACtC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Softmax_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Softmax_grad.js.map index 336e32558..54c344289 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Softmax_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Softmax_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Softmax_grad.js","sourceRoot":"","sources":["../../src/gradients/Softmax_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,OAAO,EAAe,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,UAAU,EAAE,OAAO;IACnB,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,MAAM,EAAC,GAAG,EAAC,GAAG,KAA2B,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC;QAEtB,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO;YACL,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;SACpE,CAAC;IACJ,CAAC;CACF,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 {Softmax, SoftmaxAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {mul} from '../ops/mul';\nimport {sub} from '../ops/sub';\nimport {sum} from '../ops/sum';\nimport {Tensor} from '../tensor';\n\nexport const softmaxGradConfig: GradConfig = {\n kernelName: Softmax,\n outputsToSave: [true],\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const [y] = saved;\n const {dim} = attrs as {} as SoftmaxAttrs;\n const keepDims = true;\n\n const dyTimesY = mul(dy, y);\n return {\n logits: () => sub(dyTimesY, mul(sum(dyTimesY, [dim], keepDims), y))\n };\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Softmax_grad.js","sourceRoot":"","sources":["../../src/gradients/Softmax_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,OAAO,EAAe,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,UAAU,EAAE,OAAO;IACnB,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,MAAM,EAAC,GAAG,EAAC,GAAG,KAA2B,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC;QAEtB,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO;YACL,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;SACpE,CAAC;IACJ,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Softplus_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Softplus_grad.js.map index 903f56197..86a130ab9 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Softplus_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Softplus_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Softplus_grad.js","sourceRoot":"","sources":["../../src/gradients/Softplus_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAGvC,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,UAAU,EAAE,QAAQ;IACpB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;IACxC,CAAC;CACF,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 {Softplus} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {mul} from '../ops/mul';\nimport {sigmoid} from '../ops/sigmoid';\nimport {Tensor} from '../tensor';\n\nexport const softplusGradConfig: GradConfig = {\n kernelName: Softplus,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n\n return {x: () => mul(dy, sigmoid(x))};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Softplus_grad.js","sourceRoot":"","sources":["../../src/gradients/Softplus_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAGvC,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,UAAU,EAAE,QAAQ;IACpB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;IACxC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/SpaceToBatchND_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/SpaceToBatchND_grad.js.map index 2fd0b632f..1219a1a42 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/SpaceToBatchND_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/SpaceToBatchND_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"SpaceToBatchND_grad.js","sourceRoot":"","sources":["../../src/gradients/SpaceToBatchND_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAEpE,OAAO,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAGxD,MAAM,CAAC,MAAM,wBAAwB,GAAe;IAClD,UAAU,EAAE,cAAc;IAC1B,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,EAAC,UAAU,EAAE,QAAQ,EAAC,GAAG,KAAkC,CAAC;QAClE,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAC,CAAC;IAC7D,CAAC;CACF,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 {SpaceToBatchND, SpaceToBatchNDAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {batchToSpaceND} from '../ops/batch_to_space_nd';\nimport {Tensor} from '../tensor';\n\nexport const spaceToBatchNDGradConfig: GradConfig = {\n kernelName: SpaceToBatchND,\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const {blockShape, paddings} = attrs as {} as SpaceToBatchNDAttrs;\n return {x: () => batchToSpaceND(dy, blockShape, paddings)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"SpaceToBatchND_grad.js","sourceRoot":"","sources":["../../src/gradients/SpaceToBatchND_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAEpE,OAAO,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAGxD,MAAM,CAAC,MAAM,wBAAwB,GAAe;IAClD,UAAU,EAAE,cAAc;IAC1B,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,EAAC,UAAU,EAAE,QAAQ,EAAC,GAAG,KAAkC,CAAC;QAClE,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAC,CAAC;IAC7D,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/SplitV_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/SplitV_grad.js.map index 3d3b1da5b..e166a1a04 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/SplitV_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/SplitV_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"SplitV_grad.js","sourceRoot":"","sources":["../../src/gradients/SplitV_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,MAAM,EAAc,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAGrC,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,CAAC,EAAY,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC/D,MAAM,EAAC,IAAI,EAAC,GAAG,KAA0B,CAAC;QAE1C,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAAC,CAAC;IACrC,CAAC;CACF,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 */\nimport {SplitV, SplitVAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {concat} from '../ops/concat';\nimport {Tensor} from '../tensor';\n\nexport const splitVGradConfig: GradConfig = {\n kernelName: SplitV,\n gradFunc: (dy: Tensor[], saved: Tensor[], attrs: NamedAttrMap) => {\n const {axis} = attrs as {} as SplitVAttrs;\n\n return {x: () => concat(dy, axis)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"SplitV_grad.js","sourceRoot":"","sources":["../../src/gradients/SplitV_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,MAAM,EAAc,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAGrC,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,CAAC,EAAY,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC/D,MAAM,EAAC,IAAI,EAAC,GAAG,KAA0B,CAAC;QAE1C,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAAC,CAAC;IACrC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sqrt_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sqrt_grad.js.map index 0b8502161..8919b0a76 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sqrt_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sqrt_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Sqrt_grad.js","sourceRoot":"","sources":["../../src/gradients/Sqrt_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAGjC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC;IAC9D,CAAC;CACF,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 {Sqrt} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cast} from '../ops/cast';\nimport {div} from '../ops/div';\nimport {mul} from '../ops/mul';\nimport {sqrt} from '../ops/sqrt';\nimport {Tensor} from '../tensor';\n\nexport const sqrtGradConfig: GradConfig = {\n kernelName: Sqrt,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n\n return {x: () => div(dy, mul(sqrt(cast(x, 'float32')), 2))};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Sqrt_grad.js","sourceRoot":"","sources":["../../src/gradients/Sqrt_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAGjC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC;IAC9D,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Square_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Square_grad.js.map index fe9c786ca..1799840a3 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Square_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Square_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Square_grad.js","sourceRoot":"","sources":["../../src/gradients/Square_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC;IACxD,CAAC;CACF,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 {Square} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cast} from '../ops/cast';\nimport {mul} from '../ops/mul';\nimport {Tensor} from '../tensor';\n\nexport const squareGradConfig: GradConfig = {\n kernelName: Square,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n return {x: () => mul(dy, mul(cast(x, 'float32'), 2))};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Square_grad.js","sourceRoot":"","sources":["../../src/gradients/Square_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC;IACxD,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/SquaredDifference_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/SquaredDifference_grad.js.map index dbdd6f58c..400442546 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/SquaredDifference_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/SquaredDifference_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"SquaredDifference_grad.js","sourceRoot":"","sources":["../../src/gradients/SquaredDifference_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,2BAA2B,GAAe;IACrD,UAAU,EAAE,iBAAiB;IAC7B,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,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 {SquaredDifference} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {mul} from '../ops/mul';\nimport {scalar} from '../ops/scalar';\nimport {sub} from '../ops/sub';\nimport {Tensor} from '../tensor';\n\nexport const squaredDifferenceGradConfig: GradConfig = {\n kernelName: SquaredDifference,\n inputsToSave: ['a', 'b'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [a, b] = saved;\n const two = scalar(2);\n const derA = () => mul(dy, mul(two, sub(a, b)));\n const derB = () => mul(dy, mul(two, sub(b, a)));\n return {a: derA, b: derB};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"SquaredDifference_grad.js","sourceRoot":"","sources":["../../src/gradients/SquaredDifference_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,2BAA2B,GAAe;IACrD,UAAU,EAAE,iBAAiB;IAC7B,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Step_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Step_grad.js.map index 9fd52bbb9..722b309d8 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Step_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Step_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Step_grad.js","sourceRoot":"","sources":["../../src/gradients/Step_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,uEAAuE;QACvE,MAAM;QACN,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,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 {Step} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {zerosLike} from '../ops/zeros_like';\nimport {Tensor} from '../tensor';\n\nexport const stepGradConfig: GradConfig = {\n kernelName: Step,\n gradFunc: (dy: Tensor) => {\n // TODO(manrajgrover): Return null for gradients when backprop supports\n // it.\n return {x: () => zerosLike(dy)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Step_grad.js","sourceRoot":"","sources":["../../src/gradients/Step_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,uEAAuE;QACvE,MAAM;QACN,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sub_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sub_grad.js.map index 969d2055a..d26a4cf0c 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sub_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sub_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Sub_grad.js","sourceRoot":"","sources":["../../src/gradients/Sub_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,QAAQ,GACV,cAAc,CAAC,0BAA0B,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAEhE,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;aAC5B;YACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;aAC5B;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC;QAEF,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,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 */\nimport {Sub} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport * as broadcast_util from '../ops/broadcast_util';\nimport {neg} from '../ops/neg';\nimport {reshape} from '../ops/reshape';\nimport {sum} from '../ops/sum';\nimport {Tensor} from '../tensor';\n\nexport const subGradConfig: GradConfig = {\n kernelName: Sub,\n inputsToSave: ['a', 'b'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [a, b] = saved;\n const outShape =\n broadcast_util.assertAndGetBroadcastShape(a.shape, b.shape);\n\n const derA = () => {\n let res = dy;\n const reduceAxes = broadcast_util.getReductionAxes(a.shape, outShape);\n if (reduceAxes.length > 0) {\n res = sum(res, reduceAxes);\n }\n return reshape(res, a.shape);\n };\n const derB = () => {\n let res = dy;\n const reduceAxes = broadcast_util.getReductionAxes(b.shape, outShape);\n if (reduceAxes.length > 0) {\n res = sum(res, reduceAxes);\n }\n return reshape(neg(res), b.shape);\n };\n\n return {a: derA, b: derB};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Sub_grad.js","sourceRoot":"","sources":["../../src/gradients/Sub_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,QAAQ,GACV,cAAc,CAAC,0BAA0B,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAEhE,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;aAC5B;YACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;aAC5B;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC;QAEF,OAAO,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sum_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sum_grad.js.map index 5447cf806..9b76f925e 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sum_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Sum_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Sum_grad.js","sourceRoot":"","sources":["../../src/gradients/Sum_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAW,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,EAAC,IAAI,EAAC,GAAG,KAAuB,CAAC;QAEvC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAClB,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QAEvD,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAC,CAAC;IACzB,CAAC;CACF,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\nimport {Sum, SumAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {mul} from '../ops/mul';\nimport {ones} from '../ops/ones';\nimport {reshape} from '../ops/reshape';\nimport {Tensor} from '../tensor';\nimport {parseAxisParam} from '../util';\n\nexport const sumGradConfig: GradConfig = {\n kernelName: Sum,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const [x] = saved;\n const expandedDyShape = x.shape.slice();\n const {axis} = attrs as {} as SumAttrs;\n\n const axes = parseAxisParam(axis, x.shape);\n axes.forEach(axis => {\n expandedDyShape[axis] = 1;\n });\n const expandedDy = reshape(dy, expandedDyShape);\n const derX = mul(expandedDy, ones(x.shape, 'float32'));\n\n return {x: () => derX};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Sum_grad.js","sourceRoot":"","sources":["../../src/gradients/Sum_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAW,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,EAAC,IAAI,EAAC,GAAG,KAAuB,CAAC;QAEvC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAClB,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QAEvD,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAC,CAAC;IACzB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Tan_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Tan_grad.js.map index cbb5b205f..6166d27f4 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Tan_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Tan_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Tan_grad.js","sourceRoot":"","sources":["../../src/gradients/Tan_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAGrC,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;IAC5C,CAAC;CACF,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 {Tan} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {cos} from '../ops/cos';\nimport {div} from '../ops/div';\nimport {square} from '../ops/square';\nimport {Tensor} from '../tensor';\n\nexport const tanGradConfig: GradConfig = {\n kernelName: Tan,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [x] = saved;\n\n return {x: () => div(dy, square(cos(x)))};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Tan_grad.js","sourceRoot":"","sources":["../../src/gradients/Tan_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAGrC,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,GAAG,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;IAC5C,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Tanh_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Tanh_grad.js.map index 5987c8056..8e2bbe84e 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Tanh_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Tanh_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Tanh_grad.js","sourceRoot":"","sources":["../../src/gradients/Tanh_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAC,CAAC;IACvD,CAAC;CACF,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 {Tanh} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {mul} from '../ops/mul';\nimport {scalar} from '../ops/scalar';\nimport {square} from '../ops/square';\nimport {sub} from '../ops/sub';\nimport {Tensor} from '../tensor';\n\nexport const tanhGradConfig: GradConfig = {\n kernelName: Tanh,\n outputsToSave: [true],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [y] = saved;\n\n return {x: () => mul(sub(scalar(1), square(y)), dy)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Tanh_grad.js","sourceRoot":"","sources":["../../src/gradients/Tanh_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAG/B,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAC,CAAC;IACvD,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Tile_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Tile_grad.js.map index c43cd4723..132784139 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Tile_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Tile_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Tile_grad.js","sourceRoot":"","sources":["../../src/gradients/Tile_grad.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 {Tile, TileAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {add} from '../ops/add';\nimport {slice} from '../ops/slice';\nimport {zerosLike} from '../ops/zeros_like';\nimport {Tensor} from '../tensor';\n\nexport const tileGradConfig: GradConfig = {\n kernelName: Tile,\n inputsToSave: ['x'],\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const [x] = saved;\n const {reps} = attrs as unknown as TileAttrs;\n\n const derX = () => {\n let xGrad = zerosLike(x);\n // TODO(cais): Maybe reduce memory footprint by avoiding repeated\n // slicing.\n if (x.rank === 1) {\n for (let i = 0; i < reps[0]; ++i) {\n xGrad = add(xGrad, slice(dy, [i * x.shape[0]], [x.shape[0]]));\n }\n } else if (x.rank === 2) {\n for (let i = 0; i < reps[0]; ++i) {\n for (let j = 0; j < reps[1]; ++j) {\n xGrad = add(xGrad, slice(dy, [i * x.shape[0], j * x.shape[1]], [\n x.shape[0], x.shape[1]\n ]));\n }\n }\n } else if (x.rank === 3) {\n for (let i = 0; i < reps[0]; ++i) {\n for (let j = 0; j < reps[1]; ++j) {\n for (let k = 0; k < reps[2]; ++k) {\n xGrad =\n add(xGrad,\n slice(\n dy, [i * x.shape[0], j * x.shape[1], k * x.shape[2]],\n [x.shape[0], x.shape[1], x.shape[2]]));\n }\n }\n }\n } else if (x.rank === 4) {\n for (let i = 0; i < reps[0]; ++i) {\n for (let j = 0; j < reps[1]; ++j) {\n for (let k = 0; k < reps[2]; ++k) {\n for (let l = 0; l < reps[3]; ++l) {\n xGrad =\n add(xGrad,\n slice(\n dy,\n [\n i * x.shape[0], j * x.shape[1], k * x.shape[2],\n l * x.shape[3]\n ],\n [x.shape[0], x.shape[1], x.shape[2], x.shape[3]]));\n }\n }\n }\n }\n } else {\n throw new Error(\n `Gradient for tile operation is not implemented for rank-` +\n `${x.rank} tensors yet.`);\n }\n return xGrad;\n };\n return {x: derX};\n },\n};\n"]} \ No newline at end of file +{"version":3,"file":"Tile_grad.js","sourceRoot":"","sources":["../../src/gradients/Tile_grad.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Transpose_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Transpose_grad.js.map index f66ea9155..7e56d243a 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Transpose_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Transpose_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Transpose_grad.js","sourceRoot":"","sources":["../../src/gradients/Transpose_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAE1D,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAG3C,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,cAAc,GAAmB,KAA6B,CAAC;QACrE,MAAM,EAAC,IAAI,EAAC,GAAG,cAAc,CAAC;QAC9B,MAAM,QAAQ,GAAG,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAC,CAAC;IAC5C,CAAC;CACF,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 {Transpose, TransposeAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport * as axis_util from '../ops/axis_util';\nimport {transpose} from '../ops/transpose';\nimport {Tensor} from '../tensor';\n\nexport const transposeGradConfig: GradConfig = {\n kernelName: Transpose,\n gradFunc: (dy: Tensor, saved: Tensor[], attrs: NamedAttrMap) => {\n const transposeAttrs: TransposeAttrs = attrs as {} as TransposeAttrs;\n const {perm} = transposeAttrs;\n const undoPerm = axis_util.getUndoAxesPermutation(perm);\n return {x: () => transpose(dy, undoPerm)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Transpose_grad.js","sourceRoot":"","sources":["../../src/gradients/Transpose_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAE1D,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAG3C,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC7D,MAAM,cAAc,GAAmB,KAA6B,CAAC;QACrE,MAAM,EAAC,IAAI,EAAC,GAAG,cAAc,CAAC;QAC9B,MAAM,QAAQ,GAAG,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAC,CAAC;IAC5C,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Unpack_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Unpack_grad.js.map index 9591056d7..3faea6e85 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Unpack_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/Unpack_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"Unpack_grad.js","sourceRoot":"","sources":["../../src/gradients/Unpack_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,MAAM,EAAc,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AAGnC,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,CAAC,EAAY,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC/D,MAAM,WAAW,GAAgB,KAA0B,CAAC;QAC5D,MAAM,EAAC,IAAI,EAAC,GAAG,WAAW,CAAC;QAC3B,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,EAAC,CAAC;IACxC,CAAC;CACF,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 */\nimport {Unpack, UnpackAttrs} from '../kernel_names';\nimport {GradConfig, NamedAttrMap} from '../kernel_registry';\nimport {stack} from '../ops/stack';\nimport {Tensor} from '../tensor';\n\nexport const unpackGradConfig: GradConfig = {\n kernelName: Unpack,\n gradFunc: (dy: Tensor[], saved: Tensor[], attrs: NamedAttrMap) => {\n const unpackAttrs: UnpackAttrs = attrs as {} as UnpackAttrs;\n const {axis} = unpackAttrs;\n return {value: () => stack(dy, axis)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"Unpack_grad.js","sourceRoot":"","sources":["../../src/gradients/Unpack_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,MAAM,EAAc,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AAGnC,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,CAAC,EAAY,EAAE,KAAe,EAAE,KAAmB,EAAE,EAAE;QAC/D,MAAM,WAAW,GAAgB,KAA0B,CAAC;QAC5D,MAAM,EAAC,IAAI,EAAC,GAAG,WAAW,CAAC;QAC3B,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,EAAC,CAAC;IACxC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/UnsortedSegmentSum_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/UnsortedSegmentSum_grad.js.map index 619d2b3bf..acfc51090 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/UnsortedSegmentSum_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/UnsortedSegmentSum_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"UnsortedSegmentSum_grad.js","sourceRoot":"","sources":["../../src/gradients/UnsortedSegmentSum_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AACnC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,4BAA4B,GAAe;IACtD,UAAU,EAAE,kBAAkB;IAC9B,YAAY,EAAE,CAAC,YAAY,CAAC;IAC5B,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;QAE3B,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,OAAO,mBAAmB,CAAC,EAAE,EAAE,UAAsB,CAAC,CAAC;QACzD,CAAC,CAAC;QACF,OAAO,EAAC,CAAC,EAAE,IAAI,EAAC,CAAC;IACnB,CAAC;CACF,CAAC;AAEF,SAAS,mBAAmB,CAAmB,CAAI,EAAE,OAAiB;IACpE,+DAA+D;IAC/D,0EAA0E;IAC1E,uEAAuE;IACvE,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,EAAE,kBAA8B,CAAC,CAAC;IAC3D,IAAI,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,CAAC,EAAE;QACjC,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC5C;IACD,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAChD,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 {UnsortedSegmentSum} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {expandDims} from '../ops/expand_dims';\nimport {gather} from '../ops/gather';\nimport {greaterEqual} from '../ops/greater_equal';\nimport {logicalAnd} from '../ops/logical_and';\nimport {maximum} from '../ops/maximum';\nimport {ones} from '../ops/ones';\nimport {scalar} from '../ops/scalar';\nimport {where} from '../ops/where';\nimport {zerosLike} from '../ops/zeros_like';\nimport {Tensor, Tensor1D} from '../tensor';\n\nexport const unsortedSegmentSumGradConfig: GradConfig = {\n kernelName: UnsortedSegmentSum,\n inputsToSave: ['segmentIds'],\n gradFunc: (dy: Tensor, saved: Tensor[]) => {\n const [segmentIds] = saved;\n\n const derX = () => {\n return gatherDropNegatives(dy, segmentIds as Tensor1D);\n };\n return {x: derX};\n }\n};\n\nfunction gatherDropNegatives(x: T, indices: Tensor1D) {\n // Helper function for unsorted segment ops. Gathers params for\n // positive segment ids and gathers 0 for inputs with negative segment id.\n // Mirrors _GatherDropNegatives from tensorflow/python/ops/math_grad.py\n const zeroClippedIndices = maximum(indices, zerosLike(indices));\n const gathered = gather(x, zeroClippedIndices as Tensor1D);\n let isPositive = greaterEqual(indices, scalar(0, 'int32'));\n const numIters = gathered.rank - isPositive.rank;\n for (let i = 0; i < numIters; ++i) {\n isPositive = expandDims(isPositive, i + 1);\n }\n isPositive = logicalAnd(isPositive, ones(gathered.shape, 'bool'));\n const zeroSlice = zerosLike(gathered);\n return where(isPositive, gathered, zeroSlice);\n}\n"]} \ No newline at end of file +{"version":3,"file":"UnsortedSegmentSum_grad.js","sourceRoot":"","sources":["../../src/gradients/UnsortedSegmentSum_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AACnC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,4BAA4B,GAAe;IACtD,UAAU,EAAE,kBAAkB;IAC9B,YAAY,EAAE,CAAC,YAAY,CAAC;IAC5B,QAAQ,EAAE,CAAC,EAAU,EAAE,KAAe,EAAE,EAAE;QACxC,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;QAE3B,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,OAAO,mBAAmB,CAAC,EAAE,EAAE,UAAsB,CAAC,CAAC;QACzD,CAAC,CAAC;QACF,OAAO,EAAC,CAAC,EAAE,IAAI,EAAC,CAAC;IACnB,CAAC;CACF,CAAC;AAEF,SAAS,mBAAmB,CAAmB,CAAI,EAAE,OAAiB;IACpE,+DAA+D;IAC/D,0EAA0E;IAC1E,uEAAuE;IACvE,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,EAAE,kBAA8B,CAAC,CAAC;IAC3D,IAAI,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,CAAC,EAAE;QACjC,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC5C;IACD,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAChD,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ZerosLike_grad.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ZerosLike_grad.js.map index 879be385b..ba9ae22ff 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ZerosLike_grad.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/ZerosLike_grad.js.map @@ -1 +1 @@ -{"version":3,"file":"ZerosLike_grad.js","sourceRoot":"","sources":["../../src/gradients/ZerosLike_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,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 {ZerosLike} from '../kernel_names';\nimport {GradConfig} from '../kernel_registry';\nimport {zerosLike} from '../ops/zeros_like';\nimport {Tensor} from '../tensor';\n\nexport const zerosLikeGradConfig: GradConfig = {\n kernelName: ZerosLike,\n gradFunc: (dy: Tensor) => {\n return {x: () => zerosLike(dy)};\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"ZerosLike_grad.js","sourceRoot":"","sources":["../../src/gradients/ZerosLike_grad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,CAAC;IAClC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/min_max_grad_util.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/min_max_grad_util.js.map index c32fb0293..90be08fc8 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/min_max_grad_util.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients/min_max_grad_util.js.map @@ -1 +1 @@ -{"version":3,"file":"min_max_grad_util.js","sourceRoot":"","sources":["../../src/gradients/min_max_grad_util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AACnC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAGvC;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC5B,EAAK,EAAE,CAAI,EAAE,KAAa,EAAE,QAAkB;IAChD,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE;QACvB,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAM,CAAC;KACxE;IACD,IAAI,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE;QACxB,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAM,CAAC;KAC3E;IACD,OAAO;QACL,CAAC,EAAE,GAAG,EAAE;YACN,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC;QACZ,CAAC;KACF,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 * as axis_util from '../ops/axis_util';\nimport {cast} from '../ops/cast';\nimport {equal} from '../ops/equal';\nimport {mul} from '../ops/mul';\nimport {reshape} from '../ops/reshape';\nimport {Tensor} from '../tensor';\n\n/**\n * Gradient helper function for the min and max operations.\n */\nexport function gradForMinAndMax(\n dy: T, y: T, xOrig: Tensor, origAxes: number[]) {\n if (y.rank < xOrig.rank) {\n y = reshape(y, axis_util.expandShapeToKeepDim(y.shape, origAxes)) as T;\n }\n if (dy.rank < xOrig.rank) {\n dy = reshape(dy, axis_util.expandShapeToKeepDim(dy.shape, origAxes)) as T;\n }\n return {\n x: () => {\n const dx = mul(dy, cast(equal(xOrig, y), dy.dtype));\n return dx;\n }\n };\n}\n"]} \ No newline at end of file +{"version":3,"file":"min_max_grad_util.js","sourceRoot":"","sources":["../../src/gradients/min_max_grad_util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AACnC,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAGvC;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC5B,EAAK,EAAE,CAAI,EAAE,KAAa,EAAE,QAAkB;IAChD,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE;QACvB,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAM,CAAC;KACxE;IACD,IAAI,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE;QACxB,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAM,CAAC;KAC3E;IACD,OAAO;QACL,CAAC,EAAE,GAAG,EAAE;YACN,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC;QACZ,CAAC;KACF,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients_test.js.map index db60cd1b0..6d346ea9f 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/gradients_test.js.map @@ -1 +1 @@ -{"version":3,"file":"gradients_test.js","sourceRoot":"","sources":["../src/gradients_test.ts"],"names":[],"mappings":"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","sourcesContent":["\n/**\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 {ENGINE} from './engine';\nimport * as tf from './index';\nimport {ALL_ENVS, describeWithFlags} from './jasmine_util';\nimport {Tensor} from './tensor';\nimport {expectArraysClose} from './test_util';\n\ndescribeWithFlags('gradients', ALL_ENVS, () => {\n it('matmul + relu', async () => {\n const a = tf.tensor2d([-1, 2, -3, 10, -20, 30], [2, 3]);\n const b = tf.tensor2d([2, -3, 4, -1, 2, -3], [3, 2]);\n\n const [da, db] = tf.grads((a: tf.Tensor2D, b: tf.Tensor2D) => {\n // m = dot(a, b)\n // y = relu(m)\n // e = sum(y)\n const m = tf.matMul(a, b);\n const y = tf.relu(m);\n return tf.sum(y);\n })([a, b]);\n\n // de/dy = 1\n // dy/dm = step(m)\n // de/dm = de/dy * dy/dm = step(m)\n const dedm = tf.step(tf.matMul(a, b));\n\n // de/da = dot(de/dy, bT)\n expect(da.shape).toEqual(a.shape);\n let transposeA = false;\n let transposeB = true;\n expectArraysClose(\n await da.data(),\n await tf.matMul(dedm, b, transposeA, transposeB).data());\n\n // de/db = dot(aT, de/dy)\n expect(db.shape).toEqual(b.shape);\n transposeA = true;\n transposeB = false;\n expectArraysClose(\n await db.data(),\n await tf.matMul(a, dedm, transposeA, transposeB).data());\n });\n\n it('grad(f)', async () => {\n const grad = tf.grad(x => x.square());\n const result = grad(tf.tensor1d([.1, .2]));\n expectArraysClose(await result.data(), [.2, .4]);\n });\n\n it('calling grad(f) twice works', async () => {\n const grad = tf.grad(x => x.square());\n\n const result = grad(tf.tensor1d([.1, .2]));\n const result2 = grad(tf.tensor1d([.1, .4]));\n expectArraysClose(await result.data(), [.2, .4]);\n expectArraysClose(await result2.data(), [.2, .8]);\n });\n\n it('grad(f): throwing an error during forward pass', () => {\n const grad = tf.grad(x => {\n throw new Error('failed forward pass');\n });\n expect(() => grad(tf.zeros([]))).toThrowError();\n expect(ENGINE.isTapeOn()).toBe(false);\n });\n\n it('grad(f): throwing an error during backwards pass', () => {\n const customOp = tf.customGrad((x: tf.Tensor) => {\n return {\n value: x,\n gradFunc: () => {\n throw new Error('failed backward pass');\n }\n };\n });\n const grad = tf.grad(x => customOp(x));\n expect(() => grad(tf.zeros([]))).toThrowError();\n expect(ENGINE.isTapeOn()).toBe(false);\n });\n\n it('grads(f)', async () => {\n const grads = tf.grads(x => x.square());\n const result = grads([tf.tensor1d([.1, .2])]);\n expectArraysClose(await result[0].data(), [.2, .4]);\n });\n\n it('calling grads(f) twice works', async () => {\n const grads = tf.grads(x => x.square());\n\n const result = grads([tf.tensor1d([.1, .2])]);\n const result2 = grads([tf.tensor1d([.1, .4])]);\n expectArraysClose(await result[0].data(), [.2, .4]);\n expectArraysClose(await result2[0].data(), [.2, .8]);\n });\n\n it('works with reshape', async () => {\n const a = tf.tensor2d([1, 2, 3, 4], [2, 2]);\n const exponent = tf.tensor1d([2, 2, 2, 2], 'int32');\n\n const da = tf.grad(a => {\n const b = a.flatten();\n const m = tf.pow(b, exponent);\n return tf.sum(m);\n })(a);\n\n expect(da.shape).toEqual([2, 2]);\n expectArraysClose(await da.data(), [2, 4, 6, 8]);\n });\n\n it('reshape outside tf.grads() throws error', () => {\n const a = tf.tensor2d([1, 2, 3, 4], [2, 2]);\n const b = a.flatten();\n const exponent = tf.tensor1d([2, 2, 2, 2], 'int32');\n\n const f = () => {\n tf.grads((a, b) => {\n const m = tf.pow(b, exponent);\n return tf.sum(m);\n })([a, b]);\n };\n expect(f).toThrowError();\n });\n\n it('does not error if irrelevant (pruned) ops are missing grads',\n async () => {\n const a = tf.tensor1d([true, true], 'bool');\n const b = tf.tensor1d([false, true], 'bool');\n const da = tf.grad(a => {\n // Logical has no gradients, but it is irrelevant.\n a.logicalAnd(b);\n return a.sum();\n })(a);\n expectArraysClose(await da.data(), [1, 1]);\n });\n\n it('errors if relevant ops are missing grads', () => {\n const a = tf.tensor1d([true, true], 'bool');\n const b = tf.tensor1d([false, true], 'bool');\n const dfda = tf.grad(a => {\n // Logical has no gradients, but it's relevant to the output.\n return a.logicalAnd(b);\n });\n expect(() => dfda(a)).toThrowError();\n });\n\n it('works with asType', async () => {\n const a = tf.tensor2d([1, 2, 3, 4], [2, 2], 'int32');\n const exponent = tf.tensor2d([2, 2, 2, 2], [2, 2], 'int32');\n\n const da = tf.grad(a => {\n const b = a.toFloat();\n const m = tf.pow(b, exponent);\n return tf.sum(m);\n })(a);\n\n expect(da.shape).toEqual([2, 2]);\n expect(da.dtype).toEqual('float32');\n expectArraysClose(await da.data(), [2, 4, 6, 8]);\n });\n\n it('asType outside of tf.grads() throws error', () => {\n const a = tf.tensor2d([1, 2, 3, 4], [2, 2], 'int32');\n const b = a.toFloat();\n const exponent = tf.tensor2d([2, 2, 2, 2], [2, 2], 'int32');\n\n const f = () => {\n tf.grad(a => {\n const m = tf.pow(b, exponent);\n return tf.sum(m);\n })(a);\n };\n expect(f).toThrowError();\n });\n\n it('saves tensors from the forward pass as expected', () => {\n const x = tf.scalar(1).variable();\n const optimizer = tf.train.sgd(0.1);\n optimizer.minimize(() => {\n const y = x.square();\n const z = y.square();\n y.dispose();\n return z;\n });\n });\n\n it('custom ops do not leak', () => {\n const before = tf.memory().numTensors;\n const x = tf.softmax([1, 2, 3, 4]);\n x.dispose();\n const now = tf.memory().numTensors;\n expect(now).toBe(before);\n });\n});\n\ndescribeWithFlags('valueAndGradients', ALL_ENVS, () => {\n it('matmul + relu', async () => {\n const a = tf.tensor2d([-1, 2, -3, 10, -20, 30], [2, 3]);\n const b = tf.tensor2d([2, -3, 4, -1, 2, -3], [3, 2]);\n\n const {value, grads} =\n tf.valueAndGrads((a: tf.Tensor2D, b: tf.Tensor2D) => {\n // m = dot(a, b)\n // y = relu(m)\n // e = sum(y)\n const m = tf.matMul(a, b);\n const y = tf.relu(m);\n return tf.sum(y);\n })([a, b]);\n\n expectArraysClose(await value.data(), 10);\n\n // de/dy = 1\n // dy/dm = step(m)\n // de/dm = de/dy * dy/dm = step(m)\n const dedm = tf.step(tf.matMul(a, b));\n\n const [da, db] = grads;\n // de/da = dot(de/dy, bT)\n let transposeA = false;\n let transposeB = true;\n expectArraysClose(\n await da.data(),\n await tf.matMul(dedm, b, transposeA, transposeB).data());\n\n // de/db = dot(aT, de/dy)\n transposeA = true;\n transposeB = false;\n expectArraysClose(\n await db.data(),\n await tf.matMul(a, dedm, transposeA, transposeB).data());\n });\n\n it('matmul + relu + inner tidy', async () => {\n const a = tf.tensor2d([-1, 2, -3, 10, -20, 30], [2, 3]);\n const b = tf.tensor2d([2, -3, 4, -1, 2, -3], [3, 2]);\n\n const {value, grads} =\n tf.valueAndGrads((a: tf.Tensor2D, b: tf.Tensor2D) => {\n // m = dot(a, b)\n // y = relu(m)\n // e = sum(y)\n const m = tf.matMul(a, b);\n return tf.tidy(() => {\n const y = tf.relu(m);\n return tf.sum(y);\n });\n })([a, b]);\n\n expectArraysClose(await value.data(), 10);\n\n // de/dy = 1\n // dy/dm = step(m)\n // de/dm = de/dy * dy/dm = step(m)\n const dedm = tf.step(tf.matMul(a, b));\n\n const [da, db] = grads;\n // de/da = dot(de/dy, bT)\n let transposeA = false;\n let transposeB = true;\n expectArraysClose(\n await da.data(),\n await tf.matMul(dedm, b, transposeA, transposeB).data());\n\n // de/db = dot(aT, de/dy)\n transposeA = true;\n transposeB = false;\n expectArraysClose(\n await db.data(),\n await tf.matMul(a, dedm, transposeA, transposeB).data());\n });\n});\n\ndescribeWithFlags('higher-order gradients', ALL_ENVS, () => {\n it('grad(grad(f))', async () => {\n const x = tf.tensor1d([.1, .2]);\n const before = tf.memory().numTensors;\n const gradgrad = tf.grad(tf.grad(x => x.mul(x).mul(x)));\n const result = gradgrad(x);\n expect(tf.memory().numTensors).toBe(before + 1);\n expectArraysClose(await result.data(), [.6, 1.2]);\n });\n\n it('grad(grad(x^2))', async () => {\n const x = tf.scalar(3);\n const gradgrad = tf.grad(tf.grad(x => x.square()));\n const result = gradgrad(x);\n // grad(grad(x^2)) = grad(2x) = 2\n expectArraysClose(await result.data(), [2]);\n });\n\n it('grads(grads(f))', async () => {\n const grads = tf.grads(x => x.mul(x).mul(x));\n const gradsgrads = tf.grads(x => grads([x])[0]);\n const result = gradsgrads([tf.tensor1d([.1, .2])]);\n expectArraysClose(await result[0].data(), [.6, 1.2]);\n });\n});\n\ndescribeWithFlags('customGradient', ALL_ENVS, () => {\n it('basic', async () => {\n const a = tf.scalar(3);\n const b = tf.scalar(2, 'int32');\n const dy = tf.scalar(4);\n\n const customPow = tf.customGrad((a: tf.Tensor) => {\n const value = tf.pow(a, b);\n const gradFunc = (dy: tf.Tensor) => dy.mul(tf.scalar(0.1));\n return {value, gradFunc};\n });\n\n const {value, grad} = tf.valueAndGrad(a => customPow(a))(a, dy);\n expect(value.shape).toEqual(a.shape);\n expectArraysClose(await value.data(), [9]);\n expect(grad.shape).toEqual(a.shape);\n expectArraysClose(await grad.data(), [.4]);\n });\n\n it('second order derivative through customGradient', async () => {\n const a = tf.scalar(3);\n const b = tf.scalar(2, 'int32');\n\n const dy = tf.scalar(5);\n\n const customPow = tf.customGrad((a: tf.Tensor, save: tf.GradSaveFunc) => {\n const value = tf.pow(a, b);\n save([a]);\n const gradFunc = (dy: tf.Tensor, saved: Tensor[]) => {\n const [a] = saved;\n return dy.mul(a);\n };\n return {value, gradFunc};\n });\n\n const dda = tf.grad(tf.grad(a => customPow(a)))(a, dy);\n expect(dda.shape).toEqual(a.shape);\n\n // First order: dy * a. Second order: dy.\n expectArraysClose(await dda.data(), await dy.data());\n });\n\n it('calling gradient of custom op twice works', async () => {\n const customOp = tf.customGrad((x: tf.Tensor, save: tf.GradSaveFunc) => {\n // Override gradient of our custom x ^ 2 op to be dy * abs(x);\n save([x]);\n return {\n value: x.square(),\n gradFunc: (dy, saved: Tensor[]) => {\n const [x] = saved;\n return dy.mul(x.abs());\n }\n };\n });\n const x = tf.tensor1d([-1, -2, 3]);\n const grad = tf.grad(x => customOp(x));\n\n expectArraysClose(await grad(x).data(), [1, 2, 3]);\n expectArraysClose(await grad(x).data(), [1, 2, 3]);\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"gradients_test.js","sourceRoot":"","sources":["../src/gradients_test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/image_test_util.d.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/image_test_util.d.ts deleted file mode 100644 index 123cf8164..000000000 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/image_test_util.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * @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 * as tf from './index'; -/** - * Returns an image used in various image related tests as a 4d tensor. - * - * The image is 8x8 and looks like this: - * https://drive.google.com/file/d/1Y0AsFZ2w9HsWgJfm8f2uDOGY7A4IHjcK/view?usp=sharing - * - */ -export declare function getTestImageAsTensor4d(): tf.Tensor; diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/image_test_util.js b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/image_test_util.js deleted file mode 100644 index 79a7a2650..000000000 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/image_test_util.js +++ /dev/null @@ -1,48 +0,0 @@ -/** - * @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 * as tf from './index'; -/** - * Returns an image used in various image related tests as a 4d tensor. - * - * The image is 8x8 and looks like this: - * https://drive.google.com/file/d/1Y0AsFZ2w9HsWgJfm8f2uDOGY7A4IHjcK/view?usp=sharing - * - */ -export function getTestImageAsTensor4d() { - return tf.tensor4d([ - 156, 100, 111, 255, 171, 120, 117, 255, 183, 138, 109, 255, 200, 155, - 98, 255, 212, 157, 75, 255, 224, 156, 55, 255, 241, 153, 43, 255, - 230, 133, 18, 255, 168, 129, 130, 255, 186, 152, 140, 255, 202, 174, - 137, 255, 220, 190, 128, 255, 230, 193, 104, 255, 241, 188, 82, 255, - 250, 177, 64, 255, 233, 148, 31, 255, 179, 176, 159, 255, 199, 198, - 168, 255, 211, 216, 162, 255, 225, 228, 151, 255, 235, 227, 128, 255, - 243, 220, 106, 255, 247, 201, 81, 255, 222, 164, 41, 255, 163, 208, - 187, 255, 179, 226, 194, 255, 184, 234, 181, 255, 191, 239, 165, 255, - 201, 236, 142, 255, 213, 230, 126, 255, 218, 210, 103, 255, 191, 170, - 61, 255, 108, 214, 202, 255, 119, 226, 206, 255, 121, 231, 192, 255, - 130, 235, 179, 255, 141, 232, 162, 255, 155, 226, 146, 255, 162, 206, - 127, 255, 135, 166, 86, 255, 55, 207, 212, 255, 62, 217, 213, 255, - 64, 219, 201, 255, 76, 225, 193, 255, 87, 220, 175, 255, 94, 206, - 156, 255, 98, 181, 135, 255, 71, 143, 97, 255, 18, 200, 224, 255, - 19, 204, 222, 255, 19, 203, 211, 255, 30, 209, 205, 255, 35, 200, - 186, 255, 37, 177, 164, 255, 39, 150, 141, 255, 15, 115, 105, 255, - 0, 193, 228, 255, 0, 192, 221, 255, 0, 189, 209, 255, 0, 194, - 204, 255, 4, 182, 186, 255, 3, 158, 162, 255, 6, 133, 140, 255, - 0, 102, 113, 255 - ], [1, 8, 8, 4]); -} -//# sourceMappingURL=image_test_util.js.map \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/image_test_util.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/image_test_util.js.map deleted file mode 100644 index 54083fa84..000000000 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/image_test_util.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"image_test_util.js","sourceRoot":"","sources":["../src/image_test_util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,EAAE,CAAC,QAAQ,CACd;QACE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QACpE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG;QACpE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QACpE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG;QACpE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QACpE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QACpE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG;QACpE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QACpE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QACpE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QACpE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QACpE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG;QACpE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG;QACpE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG;QACpE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG;QACpE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAG,GAAG,EAAE,GAAG,EAAE,GAAG;QACpE,CAAC,EAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAI,GAAG;QACpE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAI,GAAG,EAAE,GAAG,EAAE,GAAG;QACpE,CAAC,EAAI,GAAG,EAAE,GAAG,EAAE,GAAG;KACnB,EACD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2021 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 * as tf from './index';\n\n/**\n * Returns an image used in various image related tests as a 4d tensor.\n *\n * The image is 8x8 and looks like this:\n * https://drive.google.com/file/d/1Y0AsFZ2w9HsWgJfm8f2uDOGY7A4IHjcK/view?usp=sharing\n *\n */\nexport function getTestImageAsTensor4d() {\n return tf.tensor4d(\n [\n 156, 100, 111, 255, 171, 120, 117, 255, 183, 138, 109, 255, 200, 155,\n 98, 255, 212, 157, 75, 255, 224, 156, 55, 255, 241, 153, 43, 255,\n 230, 133, 18, 255, 168, 129, 130, 255, 186, 152, 140, 255, 202, 174,\n 137, 255, 220, 190, 128, 255, 230, 193, 104, 255, 241, 188, 82, 255,\n 250, 177, 64, 255, 233, 148, 31, 255, 179, 176, 159, 255, 199, 198,\n 168, 255, 211, 216, 162, 255, 225, 228, 151, 255, 235, 227, 128, 255,\n 243, 220, 106, 255, 247, 201, 81, 255, 222, 164, 41, 255, 163, 208,\n 187, 255, 179, 226, 194, 255, 184, 234, 181, 255, 191, 239, 165, 255,\n 201, 236, 142, 255, 213, 230, 126, 255, 218, 210, 103, 255, 191, 170,\n 61, 255, 108, 214, 202, 255, 119, 226, 206, 255, 121, 231, 192, 255,\n 130, 235, 179, 255, 141, 232, 162, 255, 155, 226, 146, 255, 162, 206,\n 127, 255, 135, 166, 86, 255, 55, 207, 212, 255, 62, 217, 213, 255,\n 64, 219, 201, 255, 76, 225, 193, 255, 87, 220, 175, 255, 94, 206,\n 156, 255, 98, 181, 135, 255, 71, 143, 97, 255, 18, 200, 224, 255,\n 19, 204, 222, 255, 19, 203, 211, 255, 30, 209, 205, 255, 35, 200,\n 186, 255, 37, 177, 164, 255, 39, 150, 141, 255, 15, 115, 105, 255,\n 0, 193, 228, 255, 0, 192, 221, 255, 0, 189, 209, 255, 0, 194,\n 204, 255, 4, 182, 186, 255, 3, 158, 162, 255, 6, 133, 140, 255,\n 0, 102, 113, 255\n ],\n [1, 8, 8, 4]);\n}\n"]} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/index.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/index.js.map index e9d0e7fe3..5dbe282ed 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/index.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,gCAAgC;AAChC,OAAO,qBAAqB,CAAC;AAC7B,mDAAmD;AACnD,cAAc,QAAQ,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\n// Required side effectful code.\nimport './base_side_effects';\n// All exports from this package should be in base.\nexport * from './base';\n"]} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,gCAAgC;AAChC,OAAO,qBAAqB,CAAC;AAC7B,mDAAmD;AACnD,cAAc,QAAQ,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/browser_files.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/browser_files.js.map index 3c6d8fab2..57cab0b08 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/browser_files.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/browser_files.js.map @@ -1 +1 @@ -{"version":3,"file":"browser_files.js","sourceRoot":"","sources":["../../src/io/browser_files.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\n/**\n * IOHandlers related to files, such as browser-triggered file downloads,\n * user-selected files in browser.\n */\n\nimport '../flags';\nimport {env} from '../environment';\n\nimport {basename, concatenateArrayBuffers, getModelArtifactsInfoForJSON} from './io_utils';\nimport {IORouter, IORouterRegistry} from './router_registry';\nimport {IOHandler, ModelArtifacts, ModelJSON, SaveResult, WeightsManifestConfig, WeightsManifestEntry} from './types';\n\nconst DEFAULT_FILE_NAME_PREFIX = 'model';\nconst DEFAULT_JSON_EXTENSION_NAME = '.json';\nconst DEFAULT_WEIGHT_DATA_EXTENSION_NAME = '.weights.bin';\n\nfunction defer(f: () => T): Promise {\n return new Promise(resolve => setTimeout(resolve)).then(f);\n}\n\nexport class BrowserDownloads implements IOHandler {\n private readonly modelTopologyFileName: string;\n private readonly weightDataFileName: string;\n private readonly jsonAnchor: HTMLAnchorElement;\n private readonly weightDataAnchor: HTMLAnchorElement;\n\n static readonly URL_SCHEME = 'downloads://';\n\n constructor(fileNamePrefix?: string) {\n if (!env().getBool('IS_BROWSER')) {\n // TODO(cais): Provide info on what IOHandlers are available under the\n // current environment.\n throw new Error(\n 'browserDownloads() cannot proceed because the current environment ' +\n 'is not a browser.');\n }\n\n if (fileNamePrefix.startsWith(BrowserDownloads.URL_SCHEME)) {\n fileNamePrefix = fileNamePrefix.slice(BrowserDownloads.URL_SCHEME.length);\n }\n if (fileNamePrefix == null || fileNamePrefix.length === 0) {\n fileNamePrefix = DEFAULT_FILE_NAME_PREFIX;\n }\n\n this.modelTopologyFileName = fileNamePrefix + DEFAULT_JSON_EXTENSION_NAME;\n this.weightDataFileName =\n fileNamePrefix + DEFAULT_WEIGHT_DATA_EXTENSION_NAME;\n }\n\n async save(modelArtifacts: ModelArtifacts): Promise {\n if (typeof (document) === 'undefined') {\n throw new Error(\n 'Browser downloads are not supported in ' +\n 'this environment since `document` is not present');\n }\n const weightsURL = window.URL.createObjectURL(new Blob(\n [modelArtifacts.weightData], {type: 'application/octet-stream'}));\n\n if (modelArtifacts.modelTopology instanceof ArrayBuffer) {\n throw new Error(\n 'BrowserDownloads.save() does not support saving model topology ' +\n 'in binary formats yet.');\n } else {\n const weightsManifest: WeightsManifestConfig = [{\n paths: ['./' + this.weightDataFileName],\n weights: modelArtifacts.weightSpecs\n }];\n const modelTopologyAndWeightManifest: ModelJSON = {\n modelTopology: modelArtifacts.modelTopology,\n format: modelArtifacts.format,\n generatedBy: modelArtifacts.generatedBy,\n convertedBy: modelArtifacts.convertedBy,\n weightsManifest\n };\n if (modelArtifacts.signature != null) {\n modelTopologyAndWeightManifest.signature = modelArtifacts.signature;\n }\n if (modelArtifacts.userDefinedMetadata != null) {\n modelTopologyAndWeightManifest.userDefinedMetadata =\n modelArtifacts.userDefinedMetadata;\n }\n if (modelArtifacts.modelInitializer != null) {\n modelTopologyAndWeightManifest.modelInitializer =\n modelArtifacts.modelInitializer;\n }\n const modelTopologyAndWeightManifestURL =\n window.URL.createObjectURL(new Blob(\n [JSON.stringify(modelTopologyAndWeightManifest)],\n {type: 'application/json'}));\n\n // If anchor elements are not provided, create them without attaching them\n // to parents, so that the downloaded file names can be controlled.\n const jsonAnchor = this.jsonAnchor == null ? document.createElement('a') :\n this.jsonAnchor;\n jsonAnchor.download = this.modelTopologyFileName;\n jsonAnchor.href = modelTopologyAndWeightManifestURL;\n // Trigger downloads by evoking a click event on the download anchors.\n // When multiple downloads are started synchronously, Firefox will only\n // save the last one.\n await defer(() => jsonAnchor.dispatchEvent(new MouseEvent('click')));\n\n if (modelArtifacts.weightData != null) {\n const weightDataAnchor = this.weightDataAnchor == null ?\n document.createElement('a') :\n this.weightDataAnchor;\n weightDataAnchor.download = this.weightDataFileName;\n weightDataAnchor.href = weightsURL;\n await defer(\n () => weightDataAnchor.dispatchEvent(new MouseEvent('click')));\n }\n\n return {modelArtifactsInfo: getModelArtifactsInfoForJSON(modelArtifacts)};\n }\n }\n}\n\nclass BrowserFiles implements IOHandler {\n private readonly files: File[];\n\n constructor(files: File[]) {\n if (files == null || files.length < 1) {\n throw new Error(\n `When calling browserFiles, at least 1 file is required, ` +\n `but received ${files}`);\n }\n this.files = files;\n }\n\n async load(): Promise {\n const jsonFile = this.files[0];\n const weightFiles = this.files.slice(1);\n\n return new Promise((resolve, reject) => {\n const jsonReader = new FileReader();\n jsonReader.onload = (event: Event) => {\n // tslint:disable-next-line:no-any\n const modelJSON = JSON.parse((event.target as any).result) as ModelJSON;\n const modelTopology = modelJSON.modelTopology;\n if (modelTopology == null) {\n reject(new Error(\n `modelTopology field is missing from file ${jsonFile.name}`));\n return;\n }\n\n if (weightFiles.length === 0) {\n resolve({modelTopology});\n }\n\n const weightsManifest = modelJSON.weightsManifest;\n if (weightsManifest == null) {\n reject(new Error(\n `weightManifest field is missing from file ${jsonFile.name}`));\n return;\n }\n\n let pathToFile: {[path: string]: File};\n try {\n pathToFile =\n this.checkManifestAndWeightFiles(weightsManifest, weightFiles);\n } catch (err) {\n reject(err);\n return;\n }\n\n const weightSpecs: WeightsManifestEntry[] = [];\n const paths: string[] = [];\n const perFileBuffers: ArrayBuffer[] = [];\n weightsManifest.forEach(weightsGroup => {\n weightsGroup.paths.forEach(path => {\n paths.push(path);\n perFileBuffers.push(null);\n });\n weightSpecs.push(...weightsGroup.weights);\n });\n\n weightsManifest.forEach(weightsGroup => {\n weightsGroup.paths.forEach(path => {\n const weightFileReader = new FileReader();\n weightFileReader.onload = (event: Event) => {\n // tslint:disable-next-line:no-any\n const weightData = (event.target as any).result as ArrayBuffer;\n const index = paths.indexOf(path);\n perFileBuffers[index] = weightData;\n if (perFileBuffers.indexOf(null) === -1) {\n const result: ModelArtifacts = {\n modelTopology,\n weightSpecs,\n weightData: concatenateArrayBuffers(perFileBuffers),\n format: modelJSON.format,\n generatedBy: modelJSON.generatedBy,\n convertedBy: modelJSON.convertedBy\n };\n if (modelJSON.signature != null) {\n result.signature = modelJSON.signature;\n }\n if (modelJSON.userDefinedMetadata != null) {\n result.userDefinedMetadata = modelJSON.userDefinedMetadata;\n }\n if (modelJSON.modelInitializer != null) {\n result.modelInitializer = modelJSON.modelInitializer;\n }\n resolve(result);\n }\n };\n weightFileReader.onerror = error =>\n reject(`Failed to weights data from file of path '${path}'.`);\n weightFileReader.readAsArrayBuffer(pathToFile[path]);\n });\n });\n };\n jsonReader.onerror = error => reject(\n `Failed to read model topology and weights manifest JSON ` +\n `from file '${jsonFile.name}'. BrowserFiles supports loading ` +\n `Keras-style tf.Model artifacts only.`);\n jsonReader.readAsText(jsonFile);\n });\n }\n\n /**\n * Check the compatibility between weights manifest and weight files.\n */\n private checkManifestAndWeightFiles(\n manifest: WeightsManifestConfig, files: File[]): {[path: string]: File} {\n const basenames: string[] = [];\n const fileNames = files.map(file => basename(file.name));\n const pathToFile: {[path: string]: File} = {};\n for (const group of manifest) {\n group.paths.forEach(path => {\n const pathBasename = basename(path);\n if (basenames.indexOf(pathBasename) !== -1) {\n throw new Error(\n `Duplicate file basename found in weights manifest: ` +\n `'${pathBasename}'`);\n }\n basenames.push(pathBasename);\n if (fileNames.indexOf(pathBasename) === -1) {\n throw new Error(\n `Weight file with basename '${pathBasename}' is not provided.`);\n } else {\n pathToFile[path] = files[fileNames.indexOf(pathBasename)];\n }\n });\n }\n\n if (basenames.length !== files.length) {\n throw new Error(\n `Mismatch in the number of files in weights manifest ` +\n `(${basenames.length}) and the number of weight files provided ` +\n `(${files.length}).`);\n }\n return pathToFile;\n }\n}\n\nexport const browserDownloadsRouter: IORouter = (url: string|string[]) => {\n if (!env().getBool('IS_BROWSER')) {\n return null;\n } else {\n if (!Array.isArray(url) && url.startsWith(BrowserDownloads.URL_SCHEME)) {\n return browserDownloads(url.slice(BrowserDownloads.URL_SCHEME.length));\n } else {\n return null;\n }\n }\n};\nIORouterRegistry.registerSaveRouter(browserDownloadsRouter);\n\n/**\n * Creates an IOHandler that triggers file downloads from the browser.\n *\n * The returned `IOHandler` instance can be used as model exporting methods such\n * as `tf.Model.save` and supports only saving.\n *\n * ```js\n * const model = tf.sequential();\n * model.add(tf.layers.dense(\n * {units: 1, inputShape: [10], activation: 'sigmoid'}));\n * const saveResult = await model.save('downloads://mymodel');\n * // This will trigger downloading of two files:\n * // 'mymodel.json' and 'mymodel.weights.bin'.\n * console.log(saveResult);\n * ```\n *\n * @param fileNamePrefix Prefix name of the files to be downloaded. For use with\n * `tf.Model`, `fileNamePrefix` should follow either of the following two\n * formats:\n * 1. `null` or `undefined`, in which case the default file\n * names will be used:\n * - 'model.json' for the JSON file containing the model topology and\n * weights manifest.\n * - 'model.weights.bin' for the binary file containing the binary weight\n * values.\n * 2. A single string or an Array of a single string, as the file name prefix.\n * For example, if `'foo'` is provided, the downloaded JSON\n * file and binary weights file will be named 'foo.json' and\n * 'foo.weights.bin', respectively.\n * @param config Additional configuration for triggering downloads.\n * @returns An instance of `BrowserDownloads` `IOHandler`.\n *\n * @doc {\n * heading: 'Models',\n * subheading: 'Loading',\n * namespace: 'io',\n * ignoreCI: true\n * }\n */\nexport function browserDownloads(fileNamePrefix = 'model'): IOHandler {\n return new BrowserDownloads(fileNamePrefix);\n}\n\n/**\n * Creates an IOHandler that loads model artifacts from user-selected files.\n *\n * This method can be used for loading from files such as user-selected files\n * in the browser.\n * When used in conjunction with `tf.loadLayersModel`, an instance of\n * `tf.LayersModel` (Keras-style) can be constructed from the loaded artifacts.\n *\n * ```js\n * // Note: This code snippet won't run properly without the actual file input\n * // elements in the HTML DOM.\n *\n * // Suppose there are two HTML file input (``)\n * // elements.\n * const uploadJSONInput = document.getElementById('upload-json');\n * const uploadWeightsInput = document.getElementById('upload-weights');\n * const model = await tf.loadLayersModel(tf.io.browserFiles(\n * [uploadJSONInput.files[0], uploadWeightsInput.files[0]]));\n * ```\n *\n * @param files `File`s to load from. Currently, this function supports only\n * loading from files that contain Keras-style models (i.e., `tf.Model`s), for\n * which an `Array` of `File`s is expected (in that order):\n * - A JSON file containing the model topology and weight manifest.\n * - Optionally, One or more binary files containing the binary weights.\n * These files must have names that match the paths in the `weightsManifest`\n * contained by the aforementioned JSON file, or errors will be thrown\n * during loading. These weights files have the same format as the ones\n * generated by `tensorflowjs_converter` that comes with the `tensorflowjs`\n * Python PIP package. If no weights files are provided, only the model\n * topology will be loaded from the JSON file above.\n * @returns An instance of `Files` `IOHandler`.\n *\n * @doc {\n * heading: 'Models',\n * subheading: 'Loading',\n * namespace: 'io',\n * ignoreCI: true\n * }\n */\nexport function browserFiles(files: File[]): IOHandler {\n return new BrowserFiles(files);\n}\n"]} \ No newline at end of file +{"version":3,"file":"browser_files.js","sourceRoot":"","sources":["../../src/io/browser_files.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/browser_files_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/browser_files_test.js.map index 72baa7119..d27ea25b3 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/browser_files_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/browser_files_test.js.map @@ -1 +1 @@ -{"version":3,"file":"browser_files_test.js","sourceRoot":"","sources":["../../src/io/browser_files_test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAC,YAAY,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAE,sBAAsB,EAAC,MAAM,iBAAiB,CAAC;AAG3F,MAAM,cAAc,GAAO;IACzB,YAAY,EAAE,YAAY;IAC1B,eAAe,EAAE,OAAO;IACxB,QAAQ,EAAE,CAAC;YACT,YAAY,EAAE,OAAO;YACrB,QAAQ,EAAE;gBACR,oBAAoB,EAAE;oBACpB,YAAY,EAAE,iBAAiB;oBAC/B,QAAQ,EAAE;wBACR,cAAc,EAAE,SAAS;wBACzB,OAAO,EAAE,GAAG;wBACZ,MAAM,EAAE,IAAI;wBACZ,MAAM,EAAE,SAAS;qBAClB;iBACF;gBACD,MAAM,EAAE,OAAO;gBACf,mBAAmB,EAAE,IAAI;gBACzB,kBAAkB,EAAE,IAAI;gBACxB,iBAAiB,EAAE,IAAI;gBACvB,OAAO,EAAE,SAAS;gBAClB,YAAY,EAAE,QAAQ;gBACtB,WAAW,EAAE,IAAI;gBACjB,oBAAoB,EAAE,IAAI;gBAC1B,kBAAkB,EAAE,EAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAC;gBACzD,OAAO,EAAE,CAAC;gBACV,mBAAmB,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9B,UAAU,EAAE,IAAI;gBAChB,sBAAsB,EAAE,IAAI;aAC7B;SACF,CAAC;IACF,SAAS,EAAE,YAAY;CACxB,CAAC;AACF,MAAM,YAAY,GAAiC;IACjD;QACE,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACb,KAAK,EAAE,SAAS;KACjB;IACD;QACE,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,CAAC,CAAC,CAAC;QACV,KAAK,EAAE,SAAS;KACjB;CACF,CAAC;AACF,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;AACxC,MAAM,UAAU,GAAyB;IACvC,aAAa,EAAE,cAAc;IAC7B,WAAW,EAAE,YAAY;IACzB,UAAU,EAAE,WAAW;IACvB,MAAM,EAAE,cAAc;IACtB,WAAW,EAAE,sBAAsB;IACnC,WAAW,EAAE,IAAI;IACjB,gBAAgB,EAAE,EAAE;CACrB,CAAC;AAEF,iBAAiB,CAAC,kBAAkB,EAAE,YAAY,EAAE,GAAG,EAAE;IACvD,MAAM,qBAAqB;QAKzB;YACE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACnB,CAAC;QAED,aAAa;YACX,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;KACF;IAED,IAAI,WAAW,GAA4B,EAAE,CAAC;IAC9C,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,UAAU,CAAC,GAAG,EAAE;QACd,eAAe,GAAG,CAAC,CAAC;QACpB,WAAW,GAAG,CAAC,IAAI,qBAAqB,EAAE,EAAE,IAAI,qBAAqB,EAAE,CAAC,CAAC;QACzE,KAAK,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAW,EAAE,EAAE;YAC5D,OAAO,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACpD,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aACpC,sBAAsB,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;aACnD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;aACjD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAElE,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACvD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAEpE,uCAAuC;QACvC,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,+BAA+B,GACjC,IAAI,CAAC,KAAK,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,+BAA+B,CAAC,aAAa,CAAC;aAChD,OAAO,CAAC,cAAc,CAAC,CAAC;QAC7B,MAAM,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACvE,MAAM,CAAC,+BAA+B,CAAC,WAAW,CAAC;aAC9C,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACrC,MAAM,CAAC,+BAA+B,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,CAAC,+BAA+B,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrE,MAAM,eAAe,GAAG,+BAA+B,CAAC,eAC/B,CAAC;QAC1B,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACvE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAEzD,iDAAiD;QACjD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEpC,0DAA0D;QAC1D,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACpD,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aACpC,sBAAsB,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;aACnD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;aACjD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAElE,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACvD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAEpE,uCAAuC;QACvC,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,+BAA+B,GACjC,IAAI,CAAC,KAAK,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,+BAA+B,CAAC,aAAa,CAAC;aAChD,OAAO,CAAC,cAAc,CAAC,CAAC;QAC7B,MAAM,eAAe,GAAG,+BAA+B,CAAC,eAC/B,CAAC;QAC1B,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACvE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAEzD,iDAAiD;QACjD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEpC,0DAA0D;QAC1D,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,gBAAgB,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACpD,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aACpC,sBAAsB,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;aACnD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;aACjD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAElE,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAExC,+CAA+C;QAC/C,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAClD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAE/D,uCAAuC;QACvC,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,+BAA+B,GACjC,IAAI,CAAC,KAAK,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,+BAA+B,CAAC,aAAa,CAAC;aAChD,OAAO,CAAC,cAAc,CAAC,CAAC;QAC7B,MAAM,eAAe,GAAG,+BAA+B,CAAC,eAC/B,CAAC;QAC1B,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAClE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAEzD,iDAAiD;QACjD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,gBAAgB,EAAE,CAAC;QAC3C,MAAM,0BAA0B,GAAyB;YACvD,aAAa,EAAE,cAAc;SAC9B,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC1E,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACpD,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aACpC,sBAAsB,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;aACnD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEjE,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAExC,+CAA+C;QAC/C,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAClD,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtC,kDAAkD;QAClD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE5C,uCAAuC;QACvC,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,+BAA+B,GACjC,IAAI,CAAC,KAAK,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,+BAA+B,CAAC,aAAa,CAAC;aAChD,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CACF,sBAAsB,CAAC,iBAAiB,CAAC,YAAY,gBAAgB,CAAC;aACrE,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpE,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iBAAiB,CAAC,cAAc,EAAE,YAAY,EAAE,GAAG,EAAE;IACnD,MAAM,WAAW,GAAG,IAAI,IAAI,CACxB,CAAC,WAAW,CAAC,EAAE,mBAAmB,EAAE,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAAC,CAAC;IAE5E,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,eAAe,GAA0B,CAAC;gBAC9C,KAAK,EAAE,CAAC,qBAAqB,CAAC;gBAC9B,OAAO,EAAE,YAAY;aACtB,CAAC,CAAC;QACH,MAAM,0BAA0B,GAAG;YACjC,aAAa,EAAE,cAAc;YAC7B,eAAe;YACf,MAAM,EAAE,cAAc;YACtB,WAAW,EAAE,sBAAsB;YACnC,WAAW,EAAE,QAAQ;YACrB,gBAAgB,EAAE,EAAE;SACrB,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,IAAI,CACrB,CAAC,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,EAAE,YAAY,EAC1D,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC,CAAC;QAEhC,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QACjE,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC7D,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACnE,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEpD,MAAM,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;aAC5C,OAAO,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,WAAW,GAA2B;YAC1C;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACb,KAAK,EAAE,SAAS;aACjB;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACb,KAAK,EAAE,SAAS;aACjB;SACF,CAAC;QACF,MAAM,eAAe,GAA0B,CAAC;gBAC9C,KAAK,EAAE,CAAC,4BAA4B,EAAE,4BAA4B,CAAC;gBACnE,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;QACH,MAAM,0BAA0B,GAAG;YACjC,aAAa,EAAE,cAAc;YAC7B,eAAe;SAChB,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,IAAI,CACzB,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAC5D,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,IAAI,CACzB,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAChE,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAAC,CAAC;QAExC,MAAM,QAAQ,GAAG,IAAI,IAAI,CACrB,CAAC,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,EAAE,YAAY,EAC1D,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC,CAAC;QAEhC,MAAM,YAAY,GACd,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;QAC/D,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC7D,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC;YACvE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;SAC3B,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,YAAY,GAA2B;YAC3C;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACb,KAAK,EAAE,SAAS;aACjB;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACb,KAAK,EAAE,SAAS;aACjB;SACF,CAAC;QACF,MAAM,YAAY,GAA2B;YAC3C;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACb,KAAK,EAAE,SAAS;aACjB;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACb,KAAK,EAAE,SAAS;aACjB;SACF,CAAC;QACF,MAAM,eAAe,GAA0B;YAC7C;gBACE,KAAK,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;gBACzD,OAAO,EAAE,YAAY;aACtB;YACD;gBACE,KAAK,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;gBACzD,OAAO,EAAE,YAAY;aACtB;SACF,CAAC;QACF,MAAM,0BAA0B,GAAG;YACjC,aAAa,EAAE,cAAc;YAC7B,eAAe;SAChB,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,IAAI,CACzB,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAC5D,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,IAAI,CACzB,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAChE,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,IAAI,CACzB,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAC5D,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,IAAI,CACzB,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAChE,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAAC,CAAC;QAExC,MAAM,QAAQ,GAAG,IAAI,IAAI,CACrB,CAAC,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,EAAE,YAAY,EAC1D,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC,CAAC;QAEhC,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,CAAC,YAAY,CACnC,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;QACxE,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC7D,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC;aAC7B,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC;YACvE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;SACvD,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,YAAY,GAA2B;YAC3C;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACb,KAAK,EAAE,SAAS;aACjB;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACb,KAAK,EAAE,SAAS;aACjB;SACF,CAAC;QACF,MAAM,YAAY,GAA2B;YAC3C;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACb,KAAK,EAAE,SAAS;aACjB;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACb,KAAK,EAAE,SAAS;aACjB;SACF,CAAC;QACF,MAAM,eAAe,GAA0B;YAC7C;gBACE,KAAK,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;gBACzD,OAAO,EAAE,YAAY;aACtB;YACD;gBACE,KAAK,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;gBACzD,OAAO,EAAE,YAAY;aACtB;SACF,CAAC;QACF,MAAM,0BAA0B,GAAG;YACjC,aAAa,EAAE,cAAc;YAC7B,eAAe;SAChB,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,IAAI,CACzB,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAC5D,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,IAAI,CACzB,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAChE,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,IAAI,CACzB,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAC5D,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,IAAI,CACzB,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAChE,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAAC,CAAC;QAExC,MAAM,QAAQ,GAAG,IAAI,IAAI,CACrB,CAAC,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,EAAE,YAAY,EAC1D,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC,CAAC;QAEhC,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,CAAC,YAAY,CACnC,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;QACxE,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC7D,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC;aAC7B,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC;YACvE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;SACvD,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,eAAe,GAA0B,CAAC;gBAC9C,KAAK,EAAE,CAAC,qBAAqB,CAAC;gBAC9B,OAAO,EAAE,YAAY;aACtB,CAAC,CAAC;QACH,MAAM,0BAA0B,GAAG;YACjC,aAAa,EAAE,cAAc;YAC7B,eAAe;SAChB,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,IAAI,CACrB,CAAC,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,EAAE,YAAY,EAC1D,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC,CAAC;QAEhC,2BAA2B;QAC3B,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC7D,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,eAAe,GAA0B,CAAC;gBAC9C,KAAK,EAAE,CAAC,uBAAuB,CAAC;gBAChC,OAAO,EAAE,YAAY;aACtB,CAAC,CAAC;QACH,MAAM,0BAA0B,GAAG;YACjC,aAAa,EAAE,YAAY;YAC3B,eAAe;SAChB,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,IAAI,CACzB,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAC5D,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,IAAI,CACzB,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAChE,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAAC,CAAC;QAExC,MAAM,QAAQ,GAAG,IAAI,IAAI,CACrB,CAAC,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,EAAE,YAAY,EAC1D,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC,CAAC;QAEhC,yEAAyE;QACzE,oBAAoB;QACpB,MAAM,YAAY,GACd,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;QAC/D,IAAI;YACF,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,CACA,+DAA+D;gBAC/D,yBAAyB,CAAC,CAAC;SAChC;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;iBACd,OAAO,CACJ,0DAA0D;gBAC1D,8CAA8C,CAAC,CAAC;SACzD;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,WAAW,GAA2B;YAC1C;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACb,KAAK,EAAE,SAAS;aACjB;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACb,KAAK,EAAE,SAAS;aACjB;SACF,CAAC;QACF,MAAM,eAAe,GAA0B,CAAC;gBAC9C,KAAK,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;gBACzD,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;QACH,MAAM,0BAA0B,GAAG;YACjC,aAAa,EAAE,cAAc;YAC7B,eAAe;SAChB,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,IAAI,CACzB,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAC5D,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,IAAI,CACzB,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAChE,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAAC,CAAC;QACxC,qEAAqE;QACrE,QAAQ;QAER,MAAM,QAAQ,GAAG,IAAI,IAAI,CACrB,CAAC,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,EAAE,YAAY,EAC1D,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC,CAAC;QAEhC,MAAM,YAAY,GACd,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;QAC/D,IAAI;YACF,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,CACA,gDAAgD;gBAChD,yBAAyB,CAAC,CAAC;SAChC;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;iBACd,OAAO,CACJ,2DAA2D;gBAC3D,WAAW,CAAC,CAAC;SACtB;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,WAAW,GAA2B;YAC1C;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACb,KAAK,EAAE,SAAS;aACjB;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACb,KAAK,EAAE,SAAS;aACjB;SACF,CAAC;QACF,yEAAyE;QACzE,uCAAuC;QACvC,MAAM,eAAe,GAA0B,CAAC;gBAC9C,KAAK,EAAE,CAAC,4BAA4B,EAAE,4BAA4B,CAAC;gBACnE,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;QACH,MAAM,0BAA0B,GAAG;YACjC,aAAa,EAAE,cAAc;YAC7B,eAAe;SAChB,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,IAAI,CACzB,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAC5D,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,IAAI,CACzB,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAChE,EAAC,IAAI,EAAE,0BAA0B,EAAC,CAAC,CAAC;QACxC,qEAAqE;QACrE,QAAQ;QAER,MAAM,QAAQ,GAAG,IAAI,IAAI,CACrB,CAAC,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,EAAE,YAAY,EAC1D,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC,CAAC;QAEhC,MAAM,YAAY,GACd,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;QAC/D,IAAI;YACF,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,mEAAmE,CAAC,CAAC;SAC3E;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;iBACd,OAAO,CACJ,qDAAqD;gBACrD,yBAAyB,CAAC,CAAC;SACpC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,eAAe,GAA0B,CAAC;gBAC9C,KAAK,EAAE,CAAC,qBAAqB,CAAC;gBAC9B,OAAO,EAAE,YAAY;aACtB,CAAC,CAAC;QACH,MAAM,0BAA0B,GAAG;YACjC,eAAe;SAChB,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,IAAI,CACrB,CAAC,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,EAAE,YAAY,EAC1D,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC,CAAC;QAEhC,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QACjE,IAAI;YACF,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,CACA,0DAA0D;gBAC1D,yBAAyB,CAAC,CAAC;SAChC;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;iBACd,OAAO,CAAC,sDAAsD,CAAC,CAAC;SACtE;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACvE,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IACvE,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 */\n\n/**\n * Unit tests for file-related IOHandlers.\n */\n\nimport * as tf from '../index';\nimport {BROWSER_ENVS, describeWithFlags} from '../jasmine_util';\nimport {browserDownloads, BrowserDownloads, browserDownloadsRouter} from './browser_files';\nimport {WeightsManifestConfig, WeightsManifestEntry} from './types';\n\nconst modelTopology1: {} = {\n 'class_name': 'Sequential',\n 'keras_version': '2.1.4',\n 'config': [{\n 'class_name': 'Dense',\n 'config': {\n 'kernel_initializer': {\n 'class_name': 'VarianceScaling',\n 'config': {\n 'distribution': 'uniform',\n 'scale': 1.0,\n 'seed': null,\n 'mode': 'fan_avg'\n }\n },\n 'name': 'dense',\n 'kernel_constraint': null,\n 'bias_regularizer': null,\n 'bias_constraint': null,\n 'dtype': 'float32',\n 'activation': 'linear',\n 'trainable': true,\n 'kernel_regularizer': null,\n 'bias_initializer': {'class_name': 'Zeros', 'config': {}},\n 'units': 1,\n 'batch_input_shape': [null, 3],\n 'use_bias': true,\n 'activity_regularizer': null\n }\n }],\n 'backend': 'tensorflow'\n};\nconst weightSpecs1: tf.io.WeightsManifestEntry[] = [\n {\n name: 'dense/kernel',\n shape: [3, 1],\n dtype: 'float32',\n },\n {\n name: 'dense/bias',\n shape: [1],\n dtype: 'float32',\n }\n];\nconst weightData1 = new ArrayBuffer(16);\nconst artifacts1: tf.io.ModelArtifacts = {\n modelTopology: modelTopology1,\n weightSpecs: weightSpecs1,\n weightData: weightData1,\n format: 'layers-model',\n generatedBy: 'TensorFlow.js v0.0.0',\n convertedBy: null,\n modelInitializer: {}\n};\n\ndescribeWithFlags('browserDownloads', BROWSER_ENVS, () => {\n class FakeHTMLAnchorElement {\n download: string;\n href: string;\n clicked: number;\n\n constructor() {\n this.clicked = 0;\n }\n\n dispatchEvent() {\n this.clicked++;\n }\n }\n\n let fakeAnchors: FakeHTMLAnchorElement[] = [];\n let fakeAnchorCount = 0;\n\n beforeEach(() => {\n fakeAnchorCount = 0;\n fakeAnchors = [new FakeHTMLAnchorElement(), new FakeHTMLAnchorElement()];\n spyOn(document, 'createElement').and.callFake((tag: string) => {\n return fakeAnchors[fakeAnchorCount++];\n });\n });\n\n it('Explicit file name prefix, with existing anchors', async () => {\n const testStartDate = new Date();\n const downloadTrigger = tf.io.getSaveHandlers('downloads://test-model')[0];\n const saveResult = await downloadTrigger.save(artifacts1);\n expect(saveResult.errors).toEqual(undefined);\n const artifactsInfo = saveResult.modelArtifactsInfo;\n expect(artifactsInfo.dateSaved.getTime())\n .toBeGreaterThanOrEqual(testStartDate.getTime());\n expect(saveResult.modelArtifactsInfo.modelTopologyBytes)\n .toEqual(JSON.stringify(modelTopology1).length);\n expect(saveResult.modelArtifactsInfo.weightSpecsBytes)\n .toEqual(JSON.stringify(weightSpecs1).length);\n expect(saveResult.modelArtifactsInfo.weightDataBytes).toEqual(16);\n\n const jsonAnchor = fakeAnchors[0];\n const weightDataAnchor = fakeAnchors[1];\n expect(jsonAnchor.download).toEqual('test-model.json');\n expect(weightDataAnchor.download).toEqual('test-model.weights.bin');\n\n // Verify the content of the JSON file.\n const jsonContent = await fetch(jsonAnchor.href);\n const modelTopologyAndWeightsManifest =\n JSON.parse(await jsonContent.text());\n expect(modelTopologyAndWeightsManifest.modelTopology)\n .toEqual(modelTopology1);\n expect(modelTopologyAndWeightsManifest.format).toEqual('layers-model');\n expect(modelTopologyAndWeightsManifest.generatedBy)\n .toEqual('TensorFlow.js v0.0.0');\n expect(modelTopologyAndWeightsManifest.convertedBy).toEqual(null);\n expect(modelTopologyAndWeightsManifest.modelInitializer).toEqual({});\n const weightsManifest = modelTopologyAndWeightsManifest.weightsManifest as\n WeightsManifestConfig;\n expect(weightsManifest.length).toEqual(1);\n expect(weightsManifest[0].paths).toEqual(['./test-model.weights.bin']);\n expect(weightsManifest[0].weights).toEqual(weightSpecs1);\n\n // Verify the content of the binary weights file.\n const response = await fetch(weightDataAnchor.href);\n const buffer = await response.arrayBuffer();\n expect(buffer).toEqual(weightData1);\n\n // Verify that the downloads are triggered through clicks.\n expect(jsonAnchor.clicked).toEqual(1);\n expect(weightDataAnchor.clicked).toEqual(1);\n });\n\n it('URL scheme in explicit name gets stripped', async () => {\n const testStartDate = new Date();\n const downloadTrigger = browserDownloads('downloads://test-model');\n const saveResult = await downloadTrigger.save(artifacts1);\n expect(saveResult.errors).toEqual(undefined);\n const artifactsInfo = saveResult.modelArtifactsInfo;\n expect(artifactsInfo.dateSaved.getTime())\n .toBeGreaterThanOrEqual(testStartDate.getTime());\n expect(saveResult.modelArtifactsInfo.modelTopologyBytes)\n .toEqual(JSON.stringify(modelTopology1).length);\n expect(saveResult.modelArtifactsInfo.weightSpecsBytes)\n .toEqual(JSON.stringify(weightSpecs1).length);\n expect(saveResult.modelArtifactsInfo.weightDataBytes).toEqual(16);\n\n const jsonAnchor = fakeAnchors[0];\n const weightDataAnchor = fakeAnchors[1];\n expect(jsonAnchor.download).toEqual('test-model.json');\n expect(weightDataAnchor.download).toEqual('test-model.weights.bin');\n\n // Verify the content of the JSON file.\n const jsonContent = await fetch(jsonAnchor.href);\n const modelTopologyAndWeightsManifest =\n JSON.parse(await jsonContent.text());\n expect(modelTopologyAndWeightsManifest.modelTopology)\n .toEqual(modelTopology1);\n const weightsManifest = modelTopologyAndWeightsManifest.weightsManifest as\n WeightsManifestConfig;\n expect(weightsManifest.length).toEqual(1);\n expect(weightsManifest[0].paths).toEqual(['./test-model.weights.bin']);\n expect(weightsManifest[0].weights).toEqual(weightSpecs1);\n\n // Verify the content of the binary weights file.\n const response = await fetch(weightDataAnchor.href);\n const buffer = await response.arrayBuffer();\n expect(buffer).toEqual(weightData1);\n\n // Verify that the downloads are triggered through clicks.\n expect(jsonAnchor.clicked).toEqual(1);\n expect(weightDataAnchor.clicked).toEqual(1);\n });\n\n it('No file name provided, with existing anchors', async () => {\n const testStartDate = new Date();\n const downloadTrigger = browserDownloads();\n const saveResult = await downloadTrigger.save(artifacts1);\n expect(saveResult.errors).toEqual(undefined);\n const artifactsInfo = saveResult.modelArtifactsInfo;\n expect(artifactsInfo.dateSaved.getTime())\n .toBeGreaterThanOrEqual(testStartDate.getTime());\n expect(saveResult.modelArtifactsInfo.modelTopologyBytes)\n .toEqual(JSON.stringify(modelTopology1).length);\n expect(saveResult.modelArtifactsInfo.weightSpecsBytes)\n .toEqual(JSON.stringify(weightSpecs1).length);\n expect(saveResult.modelArtifactsInfo.weightDataBytes).toEqual(16);\n\n const jsonAnchor = fakeAnchors[0];\n const weightDataAnchor = fakeAnchors[1];\n\n // Verify that the default file names are used.\n expect(jsonAnchor.download).toEqual('model.json');\n expect(weightDataAnchor.download).toEqual('model.weights.bin');\n\n // Verify the content of the JSON file.\n const jsonContent = await fetch(jsonAnchor.href);\n const modelTopologyAndWeightsManifest =\n JSON.parse(await jsonContent.text());\n expect(modelTopologyAndWeightsManifest.modelTopology)\n .toEqual(modelTopology1);\n const weightsManifest = modelTopologyAndWeightsManifest.weightsManifest as\n WeightsManifestConfig;\n expect(weightsManifest.length).toEqual(1);\n expect(weightsManifest[0].paths).toEqual(['./model.weights.bin']);\n expect(weightsManifest[0].weights).toEqual(weightSpecs1);\n\n // Verify the content of the binary weights file.\n const response = await fetch(weightDataAnchor.href);\n const buffer = await response.arrayBuffer();\n expect(buffer).toEqual(weightData1);\n });\n\n it('Download only model topology', async () => {\n const testStartDate = new Date();\n const downloadTrigger = browserDownloads();\n const modelTopologyOnlyArtifacts: tf.io.ModelArtifacts = {\n modelTopology: modelTopology1,\n };\n const saveResult = await downloadTrigger.save(modelTopologyOnlyArtifacts);\n expect(saveResult.errors).toEqual(undefined);\n const artifactsInfo = saveResult.modelArtifactsInfo;\n expect(artifactsInfo.dateSaved.getTime())\n .toBeGreaterThanOrEqual(testStartDate.getTime());\n expect(saveResult.modelArtifactsInfo.modelTopologyBytes)\n .toEqual(JSON.stringify(modelTopology1).length);\n expect(saveResult.modelArtifactsInfo.weightSpecsBytes).toEqual(0);\n expect(saveResult.modelArtifactsInfo.weightDataBytes).toEqual(0);\n\n const jsonAnchor = fakeAnchors[0];\n const weightDataAnchor = fakeAnchors[1];\n\n // Verify that the default file names are used.\n expect(jsonAnchor.download).toEqual('model.json');\n expect(jsonAnchor.clicked).toEqual(1);\n // The weight file should not have been downoaded.\n expect(weightDataAnchor.download).toEqual(undefined);\n expect(weightDataAnchor.clicked).toEqual(0);\n\n // Verify the content of the JSON file.\n const jsonContent = await fetch(jsonAnchor.href);\n const modelTopologyAndWeightsManifest =\n JSON.parse(await jsonContent.text());\n expect(modelTopologyAndWeightsManifest.modelTopology)\n .toEqual(modelTopology1);\n });\n\n it('browserDownloadsRouter', () => {\n expect(\n browserDownloadsRouter('downloads://foo') instanceof BrowserDownloads)\n .toEqual(true);\n expect(browserDownloadsRouter('invaliddownloads://foo')).toBeNull();\n expect(browserDownloadsRouter('foo')).toBeNull();\n });\n});\n\ndescribeWithFlags('browserFiles', BROWSER_ENVS, () => {\n const weightsFile = new File(\n [weightData1], 'model.weights.bin', {type: 'application/octet-stream'});\n\n it('One group, one path', async () => {\n const weightsManifest: WeightsManifestConfig = [{\n paths: ['./model.weights.bin'],\n weights: weightSpecs1,\n }];\n const weightsTopologyAndManifest = {\n modelTopology: modelTopology1,\n weightsManifest,\n format: 'layers-model',\n generatedBy: 'TensorFlow.js v0.0.0',\n convertedBy: '1.13.1',\n modelInitializer: {}\n };\n const jsonFile = new File(\n [JSON.stringify(weightsTopologyAndManifest)], 'model.json',\n {type: 'application/json'});\n\n const filesHandler = tf.io.browserFiles([jsonFile, weightsFile]);\n const modelArtifacts = await filesHandler.load();\n expect(modelArtifacts.modelTopology).toEqual(modelTopology1);\n expect(modelArtifacts.weightSpecs).toEqual(weightSpecs1);\n expect(modelArtifacts.format).toEqual('layers-model');\n expect(modelArtifacts.generatedBy).toEqual('TensorFlow.js v0.0.0');\n expect(modelArtifacts.convertedBy).toEqual('1.13.1');\n expect(modelArtifacts.modelInitializer).toEqual({});\n\n expect(new Uint8Array(modelArtifacts.weightData))\n .toEqual(new Uint8Array(weightData1));\n });\n\n it(`One group, two paths`, async () => {\n const weightSpecs: WeightsManifestEntry[] = [\n {\n name: 'foo',\n shape: [1, 1],\n dtype: 'float32',\n },\n {\n name: 'bar',\n shape: [1, 1],\n dtype: 'float32',\n }\n ];\n const weightsManifest: WeightsManifestConfig = [{\n paths: ['./dir1/model.weights.1.bin', './dir2/model.weights.2.bin'],\n weights: weightSpecs,\n }];\n const weightsTopologyAndManifest = {\n modelTopology: modelTopology1,\n weightsManifest,\n };\n const weightsFile1 = new File(\n [new Uint8Array([1, 2, 3, 4]).buffer], 'model.weights.1.bin',\n {type: 'application/octet-stream'});\n const weightsFile2 = new File(\n [new Uint8Array([10, 20, 30, 40]).buffer], 'model.weights.2.bin',\n {type: 'application/octet-stream'});\n\n const jsonFile = new File(\n [JSON.stringify(weightsTopologyAndManifest)], 'model.json',\n {type: 'application/json'});\n\n const filesHandler =\n tf.io.browserFiles([jsonFile, weightsFile1, weightsFile2]);\n const modelArtifacts = await filesHandler.load();\n expect(modelArtifacts.modelTopology).toEqual(modelTopology1);\n expect(modelArtifacts.weightSpecs).toEqual(weightSpecs);\n expect(new Uint8Array(modelArtifacts.weightData)).toEqual(new Uint8Array([\n 1, 2, 3, 4, 10, 20, 30, 40\n ]));\n });\n\n it(`Two groups, four paths, reverseOrder=false`, async () => {\n const weightSpecs1: WeightsManifestEntry[] = [\n {\n name: 'foo',\n shape: [1, 1],\n dtype: 'float32',\n },\n {\n name: 'bar',\n shape: [1, 1],\n dtype: 'float32',\n }\n ];\n const weightSpecs2: WeightsManifestEntry[] = [\n {\n name: 'baz',\n shape: [1, 1],\n dtype: 'float32',\n },\n {\n name: 'qux',\n shape: [1, 1],\n dtype: 'float32',\n }\n ];\n const weightsManifest: WeightsManifestConfig = [\n {\n paths: ['./model.weights.1.bin', './model.weights.2.bin'],\n weights: weightSpecs1,\n },\n {\n paths: ['./model.weights.3.bin', './model.weights.4.bin'],\n weights: weightSpecs2,\n }\n ];\n const weightsTopologyAndManifest = {\n modelTopology: modelTopology1,\n weightsManifest,\n };\n const weightsFile1 = new File(\n [new Uint8Array([1, 3, 5, 7]).buffer], 'model.weights.1.bin',\n {type: 'application/octet-stream'});\n const weightsFile2 = new File(\n [new Uint8Array([10, 30, 50, 70]).buffer], 'model.weights.2.bin',\n {type: 'application/octet-stream'});\n const weightsFile3 = new File(\n [new Uint8Array([2, 4, 6, 8]).buffer], 'model.weights.3.bin',\n {type: 'application/octet-stream'});\n const weightsFile4 = new File(\n [new Uint8Array([20, 40, 60, 80]).buffer], 'model.weights.4.bin',\n {type: 'application/octet-stream'});\n\n const jsonFile = new File(\n [JSON.stringify(weightsTopologyAndManifest)], 'model.json',\n {type: 'application/json'});\n\n const filesHandler = tf.io.browserFiles(\n [jsonFile, weightsFile1, weightsFile2, weightsFile3, weightsFile4]);\n const modelArtifacts = await filesHandler.load();\n expect(modelArtifacts.modelTopology).toEqual(modelTopology1);\n expect(modelArtifacts.weightSpecs)\n .toEqual(weightSpecs1.concat(weightSpecs2));\n expect(new Uint8Array(modelArtifacts.weightData)).toEqual(new Uint8Array([\n 1, 3, 5, 7, 10, 30, 50, 70, 2, 4, 6, 8, 20, 40, 60, 80\n ]));\n });\n\n it(`Two groups, four paths, reverseOrder=true`, async () => {\n const weightSpecs1: WeightsManifestEntry[] = [\n {\n name: 'foo',\n shape: [1, 1],\n dtype: 'float32',\n },\n {\n name: 'bar',\n shape: [1, 1],\n dtype: 'float32',\n }\n ];\n const weightSpecs2: WeightsManifestEntry[] = [\n {\n name: 'baz',\n shape: [1, 1],\n dtype: 'float32',\n },\n {\n name: 'qux',\n shape: [1, 1],\n dtype: 'float32',\n }\n ];\n const weightsManifest: WeightsManifestConfig = [\n {\n paths: ['./model.weights.1.bin', './model.weights.2.bin'],\n weights: weightSpecs1,\n },\n {\n paths: ['./model.weights.3.bin', './model.weights.4.bin'],\n weights: weightSpecs2,\n }\n ];\n const weightsTopologyAndManifest = {\n modelTopology: modelTopology1,\n weightsManifest,\n };\n const weightsFile1 = new File(\n [new Uint8Array([1, 3, 5, 7]).buffer], 'model.weights.1.bin',\n {type: 'application/octet-stream'});\n const weightsFile2 = new File(\n [new Uint8Array([10, 30, 50, 70]).buffer], 'model.weights.2.bin',\n {type: 'application/octet-stream'});\n const weightsFile3 = new File(\n [new Uint8Array([2, 4, 6, 8]).buffer], 'model.weights.3.bin',\n {type: 'application/octet-stream'});\n const weightsFile4 = new File(\n [new Uint8Array([20, 40, 60, 80]).buffer], 'model.weights.4.bin',\n {type: 'application/octet-stream'});\n\n const jsonFile = new File(\n [JSON.stringify(weightsTopologyAndManifest)], 'model.json',\n {type: 'application/json'});\n\n const filesHandler = tf.io.browserFiles(\n [jsonFile, weightsFile4, weightsFile3, weightsFile2, weightsFile1]);\n const modelArtifacts = await filesHandler.load();\n expect(modelArtifacts.modelTopology).toEqual(modelTopology1);\n expect(modelArtifacts.weightSpecs)\n .toEqual(weightSpecs1.concat(weightSpecs2));\n expect(new Uint8Array(modelArtifacts.weightData)).toEqual(new Uint8Array([\n 1, 3, 5, 7, 10, 30, 50, 70, 2, 4, 6, 8, 20, 40, 60, 80\n ]));\n });\n\n it('Upload model topology only', async () => {\n const weightsManifest: WeightsManifestConfig = [{\n paths: ['./model.weights.bin'],\n weights: weightSpecs1,\n }];\n const weightsTopologyAndManifest = {\n modelTopology: modelTopology1,\n weightsManifest,\n };\n const jsonFile = new File(\n [JSON.stringify(weightsTopologyAndManifest)], 'model.json',\n {type: 'application/json'});\n\n // Select only a JSON file.\n const filesHandler = tf.io.browserFiles([jsonFile]);\n const modelArtifacts = await filesHandler.load();\n expect(modelArtifacts.modelTopology).toEqual(modelTopology1);\n expect(modelArtifacts.weightSpecs).toEqual(undefined);\n });\n\n it('Mismatch in number of paths and number of files', async () => {\n const weightsManifest: WeightsManifestConfig = [{\n paths: ['./model.weights.1.bin'],\n weights: weightSpecs1,\n }];\n const weightsTopologyAndManifest = {\n modelTopology: weightSpecs1,\n weightsManifest,\n };\n const weightsFile1 = new File(\n [new Uint8Array([1, 2, 3, 4]).buffer], 'model.weights.1.bin',\n {type: 'application/octet-stream'});\n const weightsFile2 = new File(\n [new Uint8Array([10, 20, 30, 40]).buffer], 'model.weights.2.bin',\n {type: 'application/octet-stream'});\n\n const jsonFile = new File(\n [JSON.stringify(weightsTopologyAndManifest)], 'model.json',\n {type: 'application/json'});\n\n // Supply two weights files while the manifest has only one path. This is\n // expected to fail.\n const filesHandler =\n tf.io.browserFiles([jsonFile, weightsFile2, weightsFile1]);\n try {\n await filesHandler.load();\n fail(\n 'Loading with mismatch in number of paths and number of files ' +\n 'succeeded unexpectedly.');\n } catch (err) {\n expect(err.message)\n .toEqual(\n 'Mismatch in the number of files in weights manifest (1) ' +\n 'and the number of weight files provided (2).');\n }\n });\n\n it('Mismatch in manifest paths and file names', async () => {\n const weightSpecs: WeightsManifestEntry[] = [\n {\n name: 'foo',\n shape: [1, 1],\n dtype: 'float32',\n },\n {\n name: 'bar',\n shape: [1, 1],\n dtype: 'float32',\n }\n ];\n const weightsManifest: WeightsManifestConfig = [{\n paths: ['./model.weights.1.bin', './model.weights.2.bin'],\n weights: weightSpecs,\n }];\n const weightsTopologyAndManifest = {\n modelTopology: modelTopology1,\n weightsManifest,\n };\n const weightsFile1 = new File(\n [new Uint8Array([1, 2, 3, 4]).buffer], 'model.weights.1.bin',\n {type: 'application/octet-stream'});\n const weightsFile2 = new File(\n [new Uint8Array([10, 20, 30, 40]).buffer], 'model.weights.3.bin',\n {type: 'application/octet-stream'});\n // Notice the wrong file name here. It is expected to cause load() to\n // fail.\n\n const jsonFile = new File(\n [JSON.stringify(weightsTopologyAndManifest)], 'model.json',\n {type: 'application/json'});\n\n const filesHandler =\n tf.io.browserFiles([jsonFile, weightsFile1, weightsFile2]);\n try {\n await filesHandler.load();\n fail(\n 'Loading with mismatching paths and file names ' +\n 'succeeded unexpectedly.');\n } catch (err) {\n expect(err.message)\n .toEqual(\n 'Weight file with basename \\'model.weights.2.bin\\' is not ' +\n 'provided.');\n }\n });\n\n it('Duplicate basenames in paths fails', async () => {\n const weightSpecs: WeightsManifestEntry[] = [\n {\n name: 'foo',\n shape: [1, 1],\n dtype: 'float32',\n },\n {\n name: 'bar',\n shape: [1, 1],\n dtype: 'float32',\n }\n ];\n // Notice the duplicate basenames here (albeit distinct full paths). This\n // is expected to cause load() to fail.\n const weightsManifest: WeightsManifestConfig = [{\n paths: ['./dir1/model.weights.1.bin', './dir2/model.weights.1.bin'],\n weights: weightSpecs,\n }];\n const weightsTopologyAndManifest = {\n modelTopology: modelTopology1,\n weightsManifest,\n };\n const weightsFile1 = new File(\n [new Uint8Array([1, 2, 3, 4]).buffer], 'model.weights.1.bin',\n {type: 'application/octet-stream'});\n const weightsFile2 = new File(\n [new Uint8Array([10, 20, 30, 40]).buffer], 'model.weights.2.bin',\n {type: 'application/octet-stream'});\n // Notice the wrong file name here. It is expected to cause load() to\n // fail.\n\n const jsonFile = new File(\n [JSON.stringify(weightsTopologyAndManifest)], 'model.json',\n {type: 'application/json'});\n\n const filesHandler =\n tf.io.browserFiles([jsonFile, weightsFile1, weightsFile2]);\n try {\n await filesHandler.load();\n fail('Loading with duplicate basenames in paths succeeded unexpectedly.');\n } catch (err) {\n expect(err.message)\n .toEqual(\n 'Duplicate file basename found in weights manifest: ' +\n '\\'model.weights.1.bin\\'');\n }\n });\n\n it('Missing modelTopology from JSON leads to Error', async () => {\n const weightsManifest: WeightsManifestConfig = [{\n paths: ['./model.weights.bin'],\n weights: weightSpecs1,\n }];\n const weightsTopologyAndManifest = {\n weightsManifest,\n };\n const jsonFile = new File(\n [JSON.stringify(weightsTopologyAndManifest)], 'model.json',\n {type: 'application/json'});\n\n const filesHandler = tf.io.browserFiles([jsonFile, weightsFile]);\n try {\n await filesHandler.load();\n fail(\n 'Loading with Files IOHandler with missing modelTopology ' +\n 'succeeded unexpectedly.');\n } catch (err) {\n expect(err.message)\n .toMatch(/modelTopology field is missing from file model\\.json/);\n }\n });\n\n it('Incorrect number of files leads to Error', () => {\n expect(() => tf.io.browserFiles(null)).toThrowError(/at least 1 file/);\n expect(() => tf.io.browserFiles([])).toThrowError(/at least 1 file/);\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"browser_files_test.js","sourceRoot":"","sources":["../../src/io/browser_files_test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/http.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/http.js.map index b3ba61403..13416a732 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/http.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/http.js.map @@ -1 +1 @@ -{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/io/http.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\n/**\n * IOHandler implementations based on HTTP requests in the web browser.\n *\n * Uses [`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API).\n */\n\nimport {env} from '../environment';\n\nimport {assert} from '../util';\nimport {concatenateArrayBuffers, getModelArtifactsInfoForJSON} from './io_utils';\nimport {IORouter, IORouterRegistry} from './router_registry';\nimport {IOHandler, LoadOptions, ModelArtifacts, ModelJSON, OnProgressCallback, SaveResult, WeightsManifestConfig, WeightsManifestEntry} from './types';\nimport {loadWeightsAsArrayBuffer} from './weights_loader';\n\nconst OCTET_STREAM_MIME_TYPE = 'application/octet-stream';\nconst JSON_TYPE = 'application/json';\nexport class HTTPRequest implements IOHandler {\n protected readonly path: string;\n protected readonly requestInit: RequestInit;\n\n private readonly fetch: Function;\n private readonly weightUrlConverter: (weightName: string) => Promise;\n\n readonly DEFAULT_METHOD = 'POST';\n\n static readonly URL_SCHEME_REGEX = /^https?:\\/\\//;\n\n private readonly weightPathPrefix: string;\n private readonly onProgress: OnProgressCallback;\n\n constructor(path: string, loadOptions?: LoadOptions) {\n if (loadOptions == null) {\n loadOptions = {};\n }\n this.weightPathPrefix = loadOptions.weightPathPrefix;\n this.onProgress = loadOptions.onProgress;\n this.weightUrlConverter = loadOptions.weightUrlConverter;\n\n if (loadOptions.fetchFunc != null) {\n assert(\n typeof loadOptions.fetchFunc === 'function',\n () => 'Must pass a function that matches the signature of ' +\n '`fetch` (see ' +\n 'https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)');\n this.fetch = loadOptions.fetchFunc;\n } else {\n this.fetch = env().platform.fetch;\n }\n\n assert(\n path != null && path.length > 0,\n () => 'URL path for http must not be null, undefined or ' +\n 'empty.');\n\n if (Array.isArray(path)) {\n assert(\n path.length === 2,\n () => 'URL paths for http must have a length of 2, ' +\n `(actual length is ${path.length}).`);\n }\n this.path = path;\n\n if (loadOptions.requestInit != null &&\n loadOptions.requestInit.body != null) {\n throw new Error(\n 'requestInit is expected to have no pre-existing body, but has one.');\n }\n this.requestInit = loadOptions.requestInit || {};\n }\n\n async save(modelArtifacts: ModelArtifacts): Promise {\n if (modelArtifacts.modelTopology instanceof ArrayBuffer) {\n throw new Error(\n 'BrowserHTTPRequest.save() does not support saving model topology ' +\n 'in binary formats yet.');\n }\n\n const init = Object.assign({method: this.DEFAULT_METHOD}, this.requestInit);\n init.body = new FormData();\n\n const weightsManifest: WeightsManifestConfig = [{\n paths: ['./model.weights.bin'],\n weights: modelArtifacts.weightSpecs,\n }];\n const modelTopologyAndWeightManifest: ModelJSON = {\n modelTopology: modelArtifacts.modelTopology,\n format: modelArtifacts.format,\n generatedBy: modelArtifacts.generatedBy,\n convertedBy: modelArtifacts.convertedBy,\n weightsManifest\n };\n if (modelArtifacts.signature != null) {\n modelTopologyAndWeightManifest.signature = modelArtifacts.signature;\n }\n if (modelArtifacts.userDefinedMetadata != null) {\n modelTopologyAndWeightManifest.userDefinedMetadata =\n modelArtifacts.userDefinedMetadata;\n }\n if (modelArtifacts.modelInitializer != null) {\n modelTopologyAndWeightManifest.modelInitializer =\n modelArtifacts.modelInitializer;\n }\n\n init.body.append(\n 'model.json',\n new Blob(\n [JSON.stringify(modelTopologyAndWeightManifest)],\n {type: JSON_TYPE}),\n 'model.json');\n\n if (modelArtifacts.weightData != null) {\n init.body.append(\n 'model.weights.bin',\n new Blob([modelArtifacts.weightData], {type: OCTET_STREAM_MIME_TYPE}),\n 'model.weights.bin');\n }\n\n const response = await this.fetch(this.path, init);\n\n if (response.ok) {\n return {\n modelArtifactsInfo: getModelArtifactsInfoForJSON(modelArtifacts),\n responses: [response],\n };\n } else {\n throw new Error(\n `BrowserHTTPRequest.save() failed due to HTTP response status ` +\n `${response.status}.`);\n }\n }\n\n /**\n * Load model artifacts via HTTP request(s).\n *\n * See the documentation to `tf.io.http` for details on the saved\n * artifacts.\n *\n * @returns The loaded model artifacts (if loading succeeds).\n */\n async load(): Promise {\n const modelConfigRequest = await this.fetch(this.path, this.requestInit);\n\n if (!modelConfigRequest.ok) {\n throw new Error(\n `Request to ${this.path} failed with status code ` +\n `${modelConfigRequest.status}. Please verify this URL points to ` +\n `the model JSON of the model to load.`);\n }\n let modelConfig: ModelJSON;\n try {\n modelConfig = await modelConfigRequest.json();\n } catch (e) {\n let message = `Failed to parse model JSON of response from ${this.path}.`;\n // TODO(nsthorat): Remove this after some time when we're comfortable that\n // .pb files are mostly gone.\n if (this.path.endsWith('.pb')) {\n message += ' Your path contains a .pb file extension. ' +\n 'Support for .pb models have been removed in TensorFlow.js 1.0 ' +\n 'in favor of .json models. You can re-convert your Python ' +\n 'TensorFlow model using the TensorFlow.js 1.0 conversion scripts ' +\n 'or you can convert your.pb models with the \\'pb2json\\'' +\n 'NPM script in the tensorflow/tfjs-converter repository.';\n } else {\n message += ' Please make sure the server is serving valid ' +\n 'JSON for this request.';\n }\n throw new Error(message);\n }\n const modelTopology = modelConfig.modelTopology;\n const weightsManifest = modelConfig.weightsManifest;\n const generatedBy = modelConfig.generatedBy;\n const convertedBy = modelConfig.convertedBy;\n const format = modelConfig.format;\n const signature = modelConfig.signature;\n const userDefinedMetadata = modelConfig.userDefinedMetadata;\n\n // We do not allow both modelTopology and weightsManifest to be missing.\n if (modelTopology == null && weightsManifest == null) {\n throw new Error(\n `The JSON from HTTP path ${this.path} contains neither model ` +\n `topology or manifest for weights.`);\n }\n\n let weightSpecs: WeightsManifestEntry[];\n let weightData: ArrayBuffer;\n if (weightsManifest != null) {\n const results = await this.loadWeights(weightsManifest);\n [weightSpecs, weightData] = results;\n }\n\n const artifacts: ModelArtifacts = {\n modelTopology,\n weightSpecs,\n weightData,\n generatedBy,\n convertedBy,\n format\n };\n\n if (signature != null) {\n artifacts.signature = signature;\n }\n if (userDefinedMetadata != null) {\n artifacts.userDefinedMetadata = userDefinedMetadata;\n }\n\n const initializer = modelConfig.modelInitializer;\n if (initializer) {\n artifacts.modelInitializer = initializer;\n }\n\n return artifacts;\n }\n\n private async loadWeights(weightsManifest: WeightsManifestConfig):\n Promise<[WeightsManifestEntry[], ArrayBuffer]> {\n const weightPath = Array.isArray(this.path) ? this.path[1] : this.path;\n const [prefix, suffix] = parseUrl(weightPath);\n const pathPrefix = this.weightPathPrefix || prefix;\n\n const weightSpecs = [];\n for (const entry of weightsManifest) {\n weightSpecs.push(...entry.weights);\n }\n\n const fetchURLs: string[] = [];\n const urlPromises: Array> = [];\n for (const weightsGroup of weightsManifest) {\n for (const path of weightsGroup.paths) {\n if (this.weightUrlConverter != null) {\n urlPromises.push(this.weightUrlConverter(path));\n } else {\n fetchURLs.push(pathPrefix + path + suffix);\n }\n }\n }\n\n if (this.weightUrlConverter) {\n fetchURLs.push(...await Promise.all(urlPromises));\n }\n\n const buffers = await loadWeightsAsArrayBuffer(fetchURLs, {\n requestInit: this.requestInit,\n fetchFunc: this.fetch,\n onProgress: this.onProgress\n });\n return [weightSpecs, concatenateArrayBuffers(buffers)];\n }\n}\n\n/**\n * Extract the prefix and suffix of the url, where the prefix is the path before\n * the last file, and suffix is the search params after the last file.\n * ```\n * const url = 'http://tfhub.dev/model/1/tensorflowjs_model.pb?tfjs-format=file'\n * [prefix, suffix] = parseUrl(url)\n * // prefix = 'http://tfhub.dev/model/1/'\n * // suffix = '?tfjs-format=file'\n * ```\n * @param url the model url to be parsed.\n */\nexport function parseUrl(url: string): [string, string] {\n const lastSlash = url.lastIndexOf('/');\n const lastSearchParam = url.lastIndexOf('?');\n const prefix = url.substring(0, lastSlash);\n const suffix =\n lastSearchParam > lastSlash ? url.substring(lastSearchParam) : '';\n return [prefix + '/', suffix];\n}\n\nexport function isHTTPScheme(url: string): boolean {\n return url.match(HTTPRequest.URL_SCHEME_REGEX) != null;\n}\n\nexport const httpRouter: IORouter =\n (url: string, loadOptions?: LoadOptions) => {\n if (typeof fetch === 'undefined' &&\n (loadOptions == null || loadOptions.fetchFunc == null)) {\n // `http` uses `fetch` or `node-fetch`, if one wants to use it in\n // an environment that is not the browser or node they have to setup a\n // global fetch polyfill.\n return null;\n } else {\n let isHTTP = true;\n if (Array.isArray(url)) {\n isHTTP = url.every(urlItem => isHTTPScheme(urlItem));\n } else {\n isHTTP = isHTTPScheme(url);\n }\n if (isHTTP) {\n return http(url, loadOptions);\n }\n }\n return null;\n };\nIORouterRegistry.registerSaveRouter(httpRouter);\nIORouterRegistry.registerLoadRouter(httpRouter);\n\n/**\n * Creates an IOHandler subtype that sends model artifacts to HTTP server.\n *\n * An HTTP request of the `multipart/form-data` mime type will be sent to the\n * `path` URL. The form data includes artifacts that represent the topology\n * and/or weights of the model. In the case of Keras-style `tf.Model`, two\n * blobs (files) exist in form-data:\n * - A JSON file consisting of `modelTopology` and `weightsManifest`.\n * - A binary weights file consisting of the concatenated weight values.\n * These files are in the same format as the one generated by\n * [tfjs_converter](https://js.tensorflow.org/tutorials/import-keras.html).\n *\n * The following code snippet exemplifies the client-side code that uses this\n * function:\n *\n * ```js\n * const model = tf.sequential();\n * model.add(\n * tf.layers.dense({units: 1, inputShape: [100], activation: 'sigmoid'}));\n *\n * const saveResult = await model.save(tf.io.http(\n * 'http://model-server:5000/upload', {requestInit: {method: 'PUT'}}));\n * console.log(saveResult);\n * ```\n *\n * If the default `POST` method is to be used, without any custom parameters\n * such as headers, you can simply pass an HTTP or HTTPS URL to `model.save`:\n *\n * ```js\n * const saveResult = await model.save('http://model-server:5000/upload');\n * ```\n *\n * The following GitHub Gist\n * https://gist.github.com/dsmilkov/1b6046fd6132d7408d5257b0976f7864\n * implements a server based on [flask](https://github.com/pallets/flask) that\n * can receive the request. Upon receiving the model artifacts via the requst,\n * this particular server reconsistutes instances of [Keras\n * Models](https://keras.io/models/model/) in memory.\n *\n *\n * @param path A URL path to the model.\n * Can be an absolute HTTP path (e.g.,\n * 'http://localhost:8000/model-upload)') or a relative path (e.g.,\n * './model-upload').\n * @param requestInit Request configurations to be used when sending\n * HTTP request to server using `fetch`. It can contain fields such as\n * `method`, `credentials`, `headers`, `mode`, etc. See\n * https://developer.mozilla.org/en-US/docs/Web/API/Request/Request\n * for more information. `requestInit` must not have a body, because the\n * body will be set by TensorFlow.js. File blobs representing the model\n * topology (filename: 'model.json') and the weights of the model (filename:\n * 'model.weights.bin') will be appended to the body. If `requestInit` has a\n * `body`, an Error will be thrown.\n * @param loadOptions Optional configuration for the loading. It includes the\n * following fields:\n * - weightPathPrefix Optional, this specifies the path prefix for weight\n * files, by default this is calculated from the path param.\n * - fetchFunc Optional, custom `fetch` function. E.g., in Node.js,\n * the `fetch` from node-fetch can be used here.\n * - onProgress Optional, progress callback function, fired periodically\n * before the load is completed.\n * @returns An instance of `IOHandler`.\n *\n * @doc {\n * heading: 'Models',\n * subheading: 'Loading',\n * namespace: 'io',\n * ignoreCI: true\n * }\n */\nexport function http(path: string, loadOptions?: LoadOptions): IOHandler {\n return new HTTPRequest(path, loadOptions);\n}\n\n/**\n * Deprecated. Use `tf.io.http`.\n * @param path\n * @param loadOptions\n */\nexport function browserHTTPRequest(\n path: string, loadOptions?: LoadOptions): IOHandler {\n return http(path, loadOptions);\n}\n"]} \ No newline at end of file +{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/io/http.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/http_test.js b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/http_test.js index faebdfc79..81e7a927f 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/http_test.js +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/http_test.js @@ -654,22 +654,23 @@ describeWithFlags('http-load', BROWSER_ENVS, () => { expect(new Float32Array(modelArtifacts.weightData.slice(12, 20))) .toEqual(new Float32Array([-7, -4])); }); - it('Missing modelTopology and weightsManifest leads to error', async () => { + it('Missing modelTopology and weightsManifest leads to error', async (done) => { setupFakeWeightFiles({ 'path1/model.json': { data: JSON.stringify({}), contentType: 'application/json' } }, requestInits); const handler = tf.io.http('path1/model.json'); handler.load() .then(modelTopology1 => { - fail('Loading from missing modelTopology and weightsManifest ' + + done.fail('Loading from missing modelTopology and weightsManifest ' + 'succeeded unexpectedly.'); }) .catch(err => { expect(err.message) .toMatch(/contains neither model topology or manifest/); + done(); }); }); - it('with fetch rejection leads to error', async () => { + it('with fetch rejection leads to error', async (done) => { setupFakeWeightFiles({ 'path1/model.json': { data: JSON.stringify({}), contentType: 'text/html' } }, requestInits); @@ -677,11 +678,10 @@ describeWithFlags('http-load', BROWSER_ENVS, () => { try { const data = await handler.load(); expect(data).toBeDefined(); - fail('Loading with fetch rejection succeeded unexpectedly.'); + done.fail('Loading with fetch rejection succeeded unexpectedly.'); } catch (err) { - // This error is mocked in beforeEach - expect(err).toEqual('path not found'); + done(); } }); it('Provide WeightFileTranslateFunc', async () => { diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/http_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/http_test.js.map index 0e02d9483..106209976 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/http_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/http_test.js.map @@ -1 +1 @@ -{"version":3,"file":"http_test.js","sourceRoot":"","sources":["../../src/io/http_test.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\nimport * as tf from '../index';\nimport {BROWSER_ENVS, CHROME_ENVS, describeWithFlags, NODE_ENVS} from '../jasmine_util';\nimport {HTTPRequest, httpRouter, parseUrl} from './http';\n\n// Test data.\nconst modelTopology1: {} = {\n 'class_name': 'Sequential',\n 'keras_version': '2.1.4',\n 'config': [{\n 'class_name': 'Dense',\n 'config': {\n 'kernel_initializer': {\n 'class_name': 'VarianceScaling',\n 'config': {\n 'distribution': 'uniform',\n 'scale': 1.0,\n 'seed': null,\n 'mode': 'fan_avg'\n }\n },\n 'name': 'dense',\n 'kernel_constraint': null,\n 'bias_regularizer': null,\n 'bias_constraint': null,\n 'dtype': 'float32',\n 'activation': 'linear',\n 'trainable': true,\n 'kernel_regularizer': null,\n 'bias_initializer': {'class_name': 'Zeros', 'config': {}},\n 'units': 1,\n 'batch_input_shape': [null, 3],\n 'use_bias': true,\n 'activity_regularizer': null\n }\n }],\n 'backend': 'tensorflow'\n};\n\nlet fetchSpy: jasmine.Spy;\n\ntype TypedArrays = Float32Array|Int32Array|Uint8Array|Uint16Array;\nconst fakeResponse =\n (body: string|TypedArrays|ArrayBuffer, contentType: string, path: string) =>\n ({\n ok: true,\n json() {\n return Promise.resolve(JSON.parse(body as string));\n },\n arrayBuffer() {\n const buf: ArrayBuffer = (body as TypedArrays).buffer ?\n (body as TypedArrays).buffer :\n body as ArrayBuffer;\n return Promise.resolve(buf);\n },\n headers: {get: (key: string) => contentType},\n url: path\n });\n\nconst setupFakeWeightFiles =\n (fileBufferMap: {\n [filename: string]: {\n data: string|Float32Array|Int32Array|ArrayBuffer|Uint8Array|Uint16Array,\n contentType: string\n }\n },\n requestInits: {[key: string]: RequestInit}) => {\n fetchSpy = spyOn(tf.env().platform, 'fetch')\n .and.callFake((path: string, init: RequestInit) => {\n if (fileBufferMap[path]) {\n requestInits[path] = init;\n return Promise.resolve(fakeResponse(\n fileBufferMap[path].data,\n fileBufferMap[path].contentType, path));\n } else {\n return Promise.reject('path not found');\n }\n });\n };\n\ndescribeWithFlags('http-load fetch', NODE_ENVS, () => {\n let requestInits: {[key: string]: {headers: {[key: string]: string}}};\n // tslint:disable-next-line:no-any\n let originalFetch: any;\n // simulate a fetch polyfill, this needs to be non-null for spyOn to work\n beforeEach(() => {\n // tslint:disable-next-line:no-any\n originalFetch = (global as any).fetch;\n // tslint:disable-next-line:no-any\n (global as any).fetch = () => {};\n requestInits = {};\n });\n\n afterAll(() => {\n // tslint:disable-next-line:no-any\n (global as any).fetch = originalFetch;\n });\n\n it('1 group, 2 weights, 1 path', async () => {\n const weightManifest1: tf.io.WeightsManifestConfig = [{\n paths: ['weightfile0'],\n weights: [\n {\n name: 'dense/kernel',\n shape: [3, 1],\n dtype: 'float32',\n },\n {\n name: 'dense/bias',\n shape: [2],\n dtype: 'float32',\n }\n ]\n }];\n const floatData = new Float32Array([1, 3, 3, 7, 4]);\n setupFakeWeightFiles(\n {\n './model.json': {\n data: JSON.stringify({\n modelTopology: modelTopology1,\n weightsManifest: weightManifest1,\n format: 'tfjs-layers',\n generatedBy: '1.15',\n convertedBy: '1.3.1',\n signature: null,\n userDefinedMetadata: {}\n }),\n contentType: 'application/json'\n },\n './weightfile0':\n {data: floatData, contentType: 'application/octet-stream'},\n },\n requestInits);\n\n const handler = tf.io.http('./model.json');\n const modelArtifacts = await handler.load();\n expect(modelArtifacts.modelTopology).toEqual(modelTopology1);\n expect(modelArtifacts.weightSpecs).toEqual(weightManifest1[0].weights);\n expect(modelArtifacts.format).toEqual('tfjs-layers');\n expect(modelArtifacts.generatedBy).toEqual('1.15');\n expect(modelArtifacts.convertedBy).toEqual('1.3.1');\n expect(modelArtifacts.userDefinedMetadata).toEqual({});\n expect(new Float32Array(modelArtifacts.weightData)).toEqual(floatData);\n });\n\n it('throw exception if no fetch polyfill', () => {\n // tslint:disable-next-line:no-any\n delete (global as any).fetch;\n try {\n tf.io.http('./model.json');\n } catch (err) {\n expect(err.message).toMatch(/Unable to find fetch polyfill./);\n }\n });\n});\n\n// Turned off for other browsers due to:\n// https://github.com/tensorflow/tfjs/issues/426\ndescribeWithFlags('http-save', CHROME_ENVS, () => {\n // Test data.\n const weightSpecs1: tf.io.WeightsManifestEntry[] = [\n {\n name: 'dense/kernel',\n shape: [3, 1],\n dtype: 'float32',\n },\n {\n name: 'dense/bias',\n shape: [1],\n dtype: 'float32',\n }\n ];\n const weightData1 = new ArrayBuffer(16);\n const artifacts1: tf.io.ModelArtifacts = {\n modelTopology: modelTopology1,\n weightSpecs: weightSpecs1,\n weightData: weightData1,\n format: 'layers-model',\n generatedBy: 'TensorFlow.js v0.0.0',\n convertedBy: null,\n signature: null,\n userDefinedMetadata: {},\n modelInitializer: {}\n };\n\n let requestInits: RequestInit[] = [];\n\n beforeEach(() => {\n requestInits = [];\n spyOn(tf.env().platform, 'fetch')\n .and.callFake((path: string, init: RequestInit) => {\n if (path === 'model-upload-test' ||\n path === 'http://model-upload-test') {\n requestInits.push(init);\n return Promise.resolve(new Response(null, {status: 200}));\n } else {\n return Promise.reject(new Response(null, {status: 404}));\n }\n });\n });\n\n it('Save topology and weights, default POST method', (done) => {\n const testStartDate = new Date();\n const handler = tf.io.getSaveHandlers('http://model-upload-test')[0];\n handler.save(artifacts1)\n .then(saveResult => {\n expect(saveResult.modelArtifactsInfo.dateSaved.getTime())\n .toBeGreaterThanOrEqual(testStartDate.getTime());\n // Note: The following two assertions work only because there is no\n // non-ASCII characters in `modelTopology1` and `weightSpecs1`.\n expect(saveResult.modelArtifactsInfo.modelTopologyBytes)\n .toEqual(JSON.stringify(modelTopology1).length);\n expect(saveResult.modelArtifactsInfo.weightSpecsBytes)\n .toEqual(JSON.stringify(weightSpecs1).length);\n expect(saveResult.modelArtifactsInfo.weightDataBytes)\n .toEqual(weightData1.byteLength);\n\n expect(requestInits.length).toEqual(1);\n const init = requestInits[0];\n expect(init.method).toEqual('POST');\n const body = init.body as FormData;\n const jsonFile = body.get('model.json') as File;\n const jsonFileReader = new FileReader();\n jsonFileReader.onload = (event: Event) => {\n // tslint:disable-next-line:no-any\n const modelJSON = JSON.parse((event.target as any).result);\n expect(modelJSON.modelTopology).toEqual(modelTopology1);\n expect(modelJSON.weightsManifest.length).toEqual(1);\n expect(modelJSON.weightsManifest[0].weights).toEqual(weightSpecs1);\n\n const weightsFile = body.get('model.weights.bin') as File;\n const weightsFileReader = new FileReader();\n weightsFileReader.onload = (event: Event) => {\n // tslint:disable-next-line:no-any\n const weightData = (event.target as any).result as ArrayBuffer;\n expect(new Uint8Array(weightData))\n .toEqual(new Uint8Array(weightData1));\n done();\n };\n weightsFileReader.onerror = ev => {\n done.fail(weightsFileReader.error.message);\n };\n weightsFileReader.readAsArrayBuffer(weightsFile);\n };\n jsonFileReader.onerror = ev => {\n done.fail(jsonFileReader.error.message);\n };\n jsonFileReader.readAsText(jsonFile);\n })\n .catch(err => {\n done.fail(err.stack);\n });\n });\n\n it('Save topology only, default POST method', (done) => {\n const testStartDate = new Date();\n const handler = tf.io.getSaveHandlers('http://model-upload-test')[0];\n const topologyOnlyArtifacts = {modelTopology: modelTopology1};\n handler.save(topologyOnlyArtifacts)\n .then(saveResult => {\n expect(saveResult.modelArtifactsInfo.dateSaved.getTime())\n .toBeGreaterThanOrEqual(testStartDate.getTime());\n // Note: The following two assertions work only because there is no\n // non-ASCII characters in `modelTopology1` and `weightSpecs1`.\n expect(saveResult.modelArtifactsInfo.modelTopologyBytes)\n .toEqual(JSON.stringify(modelTopology1).length);\n expect(saveResult.modelArtifactsInfo.weightSpecsBytes).toEqual(0);\n expect(saveResult.modelArtifactsInfo.weightDataBytes).toEqual(0);\n\n expect(requestInits.length).toEqual(1);\n const init = requestInits[0];\n expect(init.method).toEqual('POST');\n const body = init.body as FormData;\n const jsonFile = body.get('model.json') as File;\n const jsonFileReader = new FileReader();\n jsonFileReader.onload = (event: Event) => {\n // tslint:disable-next-line:no-any\n const modelJSON = JSON.parse((event.target as any).result);\n expect(modelJSON.modelTopology).toEqual(modelTopology1);\n // No weights should have been sent to the server.\n expect(body.get('model.weights.bin')).toEqual(null);\n done();\n };\n jsonFileReader.onerror = event => {\n done.fail(jsonFileReader.error.message);\n };\n jsonFileReader.readAsText(jsonFile);\n })\n .catch(err => {\n done.fail(err.stack);\n });\n });\n\n it('Save topology and weights, PUT method, extra headers', (done) => {\n const testStartDate = new Date();\n const handler = tf.io.http('model-upload-test', {\n requestInit: {\n method: 'PUT',\n headers:\n {'header_key_1': 'header_value_1', 'header_key_2': 'header_value_2'}\n }\n });\n handler.save(artifacts1)\n .then(saveResult => {\n expect(saveResult.modelArtifactsInfo.dateSaved.getTime())\n .toBeGreaterThanOrEqual(testStartDate.getTime());\n // Note: The following two assertions work only because there is no\n // non-ASCII characters in `modelTopology1` and `weightSpecs1`.\n expect(saveResult.modelArtifactsInfo.modelTopologyBytes)\n .toEqual(JSON.stringify(modelTopology1).length);\n expect(saveResult.modelArtifactsInfo.weightSpecsBytes)\n .toEqual(JSON.stringify(weightSpecs1).length);\n expect(saveResult.modelArtifactsInfo.weightDataBytes)\n .toEqual(weightData1.byteLength);\n\n expect(requestInits.length).toEqual(1);\n const init = requestInits[0];\n expect(init.method).toEqual('PUT');\n\n // Check headers.\n expect(init.headers).toEqual({\n 'header_key_1': 'header_value_1',\n 'header_key_2': 'header_value_2'\n });\n\n const body = init.body as FormData;\n const jsonFile = body.get('model.json') as File;\n const jsonFileReader = new FileReader();\n jsonFileReader.onload = (event: Event) => {\n // tslint:disable-next-line:no-any\n const modelJSON = JSON.parse((event.target as any).result);\n expect(modelJSON.format).toEqual('layers-model');\n expect(modelJSON.generatedBy).toEqual('TensorFlow.js v0.0.0');\n expect(modelJSON.convertedBy).toEqual(null);\n expect(modelJSON.modelTopology).toEqual(modelTopology1);\n expect(modelJSON.modelInitializer).toEqual({});\n expect(modelJSON.weightsManifest.length).toEqual(1);\n expect(modelJSON.weightsManifest[0].weights).toEqual(weightSpecs1);\n\n const weightsFile = body.get('model.weights.bin') as File;\n const weightsFileReader = new FileReader();\n weightsFileReader.onload = (event: Event) => {\n // tslint:disable-next-line:no-any\n const weightData = (event.target as any).result as ArrayBuffer;\n expect(new Uint8Array(weightData))\n .toEqual(new Uint8Array(weightData1));\n done();\n };\n weightsFileReader.onerror = event => {\n done.fail(weightsFileReader.error.message);\n };\n weightsFileReader.readAsArrayBuffer(weightsFile);\n };\n jsonFileReader.onerror = event => {\n done.fail(jsonFileReader.error.message);\n };\n jsonFileReader.readAsText(jsonFile);\n })\n .catch(err => {\n done.fail(err.stack);\n });\n });\n\n it('404 response causes Error', (done) => {\n const handler = tf.io.getSaveHandlers('http://invalid/path')[0];\n handler.save(artifacts1)\n .then(saveResult => {\n done.fail(\n 'Calling http at invalid URL succeeded ' +\n 'unexpectedly');\n })\n .catch(err => {\n done();\n });\n });\n\n it('getLoadHandlers with one URL string', () => {\n const handlers = tf.io.getLoadHandlers('http://foo/model.json');\n expect(handlers.length).toEqual(1);\n expect(handlers[0] instanceof HTTPRequest).toEqual(true);\n });\n\n it('Existing body leads to Error', () => {\n expect(() => tf.io.http('model-upload-test', {\n requestInit: {body: 'existing body'}\n })).toThrowError(/requestInit is expected to have no pre-existing body/);\n });\n\n it('Empty, null or undefined URL paths lead to Error', () => {\n expect(() => tf.io.http(null))\n .toThrowError(/must not be null, undefined or empty/);\n expect(() => tf.io.http(undefined))\n .toThrowError(/must not be null, undefined or empty/);\n expect(() => tf.io.http(''))\n .toThrowError(/must not be null, undefined or empty/);\n });\n\n it('router', () => {\n expect(httpRouter('http://bar/foo') instanceof HTTPRequest).toEqual(true);\n expect(httpRouter('https://localhost:5000/upload') instanceof HTTPRequest)\n .toEqual(true);\n expect(httpRouter('localhost://foo')).toBeNull();\n expect(httpRouter('foo:5000/bar')).toBeNull();\n });\n});\n\ndescribeWithFlags('parseUrl', BROWSER_ENVS, () => {\n it('should parse url with no suffix', () => {\n const url = 'http://google.com/file';\n const [prefix, suffix] = parseUrl(url);\n expect(prefix).toEqual('http://google.com/');\n expect(suffix).toEqual('');\n });\n it('should parse url with suffix', () => {\n const url = 'http://google.com/file?param=1';\n const [prefix, suffix] = parseUrl(url);\n expect(prefix).toEqual('http://google.com/');\n expect(suffix).toEqual('?param=1');\n });\n it('should parse url with multiple serach params', () => {\n const url = 'http://google.com/a?x=1/file?param=1';\n const [prefix, suffix] = parseUrl(url);\n expect(prefix).toEqual('http://google.com/a?x=1/');\n expect(suffix).toEqual('?param=1');\n });\n});\n\ndescribeWithFlags('http-load', BROWSER_ENVS, () => {\n describe('JSON model', () => {\n let requestInits: {[key: string]: {headers: {[key: string]: string}}};\n\n beforeEach(() => {\n requestInits = {};\n });\n\n it('1 group, 2 weights, 1 path', async () => {\n const weightManifest1: tf.io.WeightsManifestConfig = [{\n paths: ['weightfile0'],\n weights: [\n {\n name: 'dense/kernel',\n shape: [3, 1],\n dtype: 'float32',\n },\n {\n name: 'dense/bias',\n shape: [2],\n dtype: 'float32',\n }\n ]\n }];\n const floatData = new Float32Array([1, 3, 3, 7, 4]);\n setupFakeWeightFiles(\n {\n './model.json': {\n data: JSON.stringify({\n modelTopology: modelTopology1,\n weightsManifest: weightManifest1,\n format: 'tfjs-graph-model',\n generatedBy: '1.15',\n convertedBy: '1.3.1',\n signature: null,\n userDefinedMetadata: {},\n modelInitializer: {}\n }),\n contentType: 'application/json'\n },\n './weightfile0':\n {data: floatData, contentType: 'application/octet-stream'},\n },\n requestInits);\n\n const handler = tf.io.http('./model.json');\n const modelArtifacts = await handler.load();\n expect(modelArtifacts.modelTopology).toEqual(modelTopology1);\n expect(modelArtifacts.weightSpecs).toEqual(weightManifest1[0].weights);\n expect(modelArtifacts.format).toEqual('tfjs-graph-model');\n expect(modelArtifacts.generatedBy).toEqual('1.15');\n expect(modelArtifacts.convertedBy).toEqual('1.3.1');\n expect(modelArtifacts.userDefinedMetadata).toEqual({});\n expect(modelArtifacts.modelInitializer).toEqual({});\n\n expect(new Float32Array(modelArtifacts.weightData)).toEqual(floatData);\n expect(Object.keys(requestInits).length).toEqual(2);\n // Assert that fetch is invoked with `window` as the context.\n expect(fetchSpy.calls.mostRecent().object).toEqual(window);\n });\n\n it('1 group, 2 weights, 1 path, with requestInit', async () => {\n const weightManifest1: tf.io.WeightsManifestConfig = [{\n paths: ['weightfile0'],\n weights: [\n {\n name: 'dense/kernel',\n shape: [3, 1],\n dtype: 'float32',\n },\n {\n name: 'dense/bias',\n shape: [2],\n dtype: 'float32',\n }\n ]\n }];\n const floatData = new Float32Array([1, 3, 3, 7, 4]);\n setupFakeWeightFiles(\n {\n './model.json': {\n data: JSON.stringify({\n modelTopology: modelTopology1,\n weightsManifest: weightManifest1\n }),\n contentType: 'application/json'\n },\n './weightfile0':\n {data: floatData, contentType: 'application/octet-stream'},\n },\n requestInits);\n\n const handler = tf.io.http(\n './model.json',\n {requestInit: {headers: {'header_key_1': 'header_value_1'}}});\n const modelArtifacts = await handler.load();\n expect(modelArtifacts.modelTopology).toEqual(modelTopology1);\n expect(modelArtifacts.weightSpecs).toEqual(weightManifest1[0].weights);\n expect(new Float32Array(modelArtifacts.weightData)).toEqual(floatData);\n expect(Object.keys(requestInits).length).toEqual(2);\n expect(Object.keys(requestInits).length).toEqual(2);\n expect(requestInits['./model.json'].headers['header_key_1'])\n .toEqual('header_value_1');\n expect(requestInits['./weightfile0'].headers['header_key_1'])\n .toEqual('header_value_1');\n\n expect(fetchSpy.calls.mostRecent().object).toEqual(window);\n });\n\n it('1 group, 2 weight, 2 paths', async () => {\n const weightManifest1: tf.io.WeightsManifestConfig = [{\n paths: ['weightfile0', 'weightfile1'],\n weights: [\n {\n name: 'dense/kernel',\n shape: [3, 1],\n dtype: 'float32',\n },\n {\n name: 'dense/bias',\n shape: [2],\n dtype: 'float32',\n }\n ]\n }];\n const floatData1 = new Float32Array([1, 3, 3]);\n const floatData2 = new Float32Array([7, 4]);\n setupFakeWeightFiles(\n {\n './model.json': {\n data: JSON.stringify({\n modelTopology: modelTopology1,\n weightsManifest: weightManifest1\n }),\n contentType: 'application/json'\n },\n './weightfile0':\n {data: floatData1, contentType: 'application/octet-stream'},\n './weightfile1':\n {data: floatData2, contentType: 'application/octet-stream'}\n },\n requestInits);\n\n const handler = tf.io.http('./model.json');\n const modelArtifacts = await handler.load();\n expect(modelArtifacts.modelTopology).toEqual(modelTopology1);\n expect(modelArtifacts.weightSpecs).toEqual(weightManifest1[0].weights);\n expect(new Float32Array(modelArtifacts.weightData))\n .toEqual(new Float32Array([1, 3, 3, 7, 4]));\n });\n\n it('2 groups, 2 weight, 2 paths', async () => {\n const weightsManifest: tf.io.WeightsManifestConfig = [\n {\n paths: ['weightfile0'],\n weights: [{\n name: 'dense/kernel',\n shape: [3, 1],\n dtype: 'float32',\n }]\n },\n {\n paths: ['weightfile1'],\n weights: [{\n name: 'dense/bias',\n shape: [2],\n dtype: 'float32',\n }],\n }\n ];\n const floatData1 = new Float32Array([1, 3, 3]);\n const floatData2 = new Float32Array([7, 4]);\n setupFakeWeightFiles(\n {\n './model.json': {\n data: JSON.stringify(\n {modelTopology: modelTopology1, weightsManifest}),\n contentType: 'application/json'\n },\n './weightfile0':\n {data: floatData1, contentType: 'application/octet-stream'},\n './weightfile1':\n {data: floatData2, contentType: 'application/octet-stream'}\n },\n requestInits);\n\n const handler = tf.io.http('./model.json');\n const modelArtifacts = await handler.load();\n expect(modelArtifacts.modelTopology).toEqual(modelTopology1);\n expect(modelArtifacts.weightSpecs)\n .toEqual(\n weightsManifest[0].weights.concat(weightsManifest[1].weights));\n expect(new Float32Array(modelArtifacts.weightData))\n .toEqual(new Float32Array([1, 3, 3, 7, 4]));\n });\n\n it('2 groups, 2 weight, 2 paths, Int32 and Uint8 Data', async () => {\n const weightsManifest: tf.io.WeightsManifestConfig = [\n {\n paths: ['weightfile0'],\n weights: [{\n name: 'fooWeight',\n shape: [3, 1],\n dtype: 'int32',\n }]\n },\n {\n paths: ['weightfile1'],\n weights: [{\n name: 'barWeight',\n shape: [2],\n dtype: 'bool',\n }],\n }\n ];\n const floatData1 = new Int32Array([1, 3, 3]);\n const floatData2 = new Uint8Array([7, 4]);\n setupFakeWeightFiles(\n {\n 'path1/model.json': {\n data: JSON.stringify(\n {modelTopology: modelTopology1, weightsManifest}),\n contentType: 'application/json'\n },\n 'path1/weightfile0':\n {data: floatData1, contentType: 'application/octet-stream'},\n 'path1/weightfile1':\n {data: floatData2, contentType: 'application/octet-stream'}\n },\n requestInits);\n\n const handler = tf.io.http('path1/model.json');\n const modelArtifacts = await handler.load();\n expect(modelArtifacts.modelTopology).toEqual(modelTopology1);\n expect(modelArtifacts.weightSpecs)\n .toEqual(\n weightsManifest[0].weights.concat(weightsManifest[1].weights));\n expect(new Int32Array(modelArtifacts.weightData.slice(0, 12)))\n .toEqual(new Int32Array([1, 3, 3]));\n expect(new Uint8Array(modelArtifacts.weightData.slice(12, 14)))\n .toEqual(new Uint8Array([7, 4]));\n });\n\n it('topology only', async () => {\n setupFakeWeightFiles(\n {\n './model.json': {\n data: JSON.stringify({modelTopology: modelTopology1}),\n contentType: 'application/json'\n },\n },\n requestInits);\n\n const handler = tf.io.http('./model.json');\n const modelArtifacts = await handler.load();\n expect(modelArtifacts.modelTopology).toEqual(modelTopology1);\n expect(modelArtifacts.weightSpecs).toBeUndefined();\n expect(modelArtifacts.weightData).toBeUndefined();\n });\n\n it('weights only', async () => {\n const weightsManifest: tf.io.WeightsManifestConfig = [\n {\n paths: ['weightfile0'],\n weights: [{\n name: 'fooWeight',\n shape: [3, 1],\n dtype: 'int32',\n }]\n },\n {\n paths: ['weightfile1'],\n weights: [{\n name: 'barWeight',\n shape: [2],\n dtype: 'float32',\n }],\n }\n ];\n const floatData1 = new Int32Array([1, 3, 3]);\n const floatData2 = new Float32Array([-7, -4]);\n setupFakeWeightFiles(\n {\n 'path1/model.json': {\n data: JSON.stringify({weightsManifest}),\n contentType: 'application/json'\n },\n 'path1/weightfile0':\n {data: floatData1, contentType: 'application/octet-stream'},\n 'path1/weightfile1':\n {data: floatData2, contentType: 'application/octet-stream'}\n },\n requestInits);\n\n const handler = tf.io.http('path1/model.json');\n const modelArtifacts = await handler.load();\n expect(modelArtifacts.modelTopology).toBeUndefined();\n expect(modelArtifacts.weightSpecs)\n .toEqual(\n weightsManifest[0].weights.concat(weightsManifest[1].weights));\n expect(new Int32Array(modelArtifacts.weightData.slice(0, 12)))\n .toEqual(new Int32Array([1, 3, 3]));\n expect(new Float32Array(modelArtifacts.weightData.slice(12, 20)))\n .toEqual(new Float32Array([-7, -4]));\n });\n\n it('Missing modelTopology and weightsManifest leads to error',\n async () => {\n setupFakeWeightFiles(\n {\n 'path1/model.json':\n {data: JSON.stringify({}), contentType: 'application/json'}\n },\n requestInits);\n const handler = tf.io.http('path1/model.json');\n handler.load()\n .then(modelTopology1 => {\n fail(\n 'Loading from missing modelTopology and weightsManifest ' +\n 'succeeded unexpectedly.');\n })\n .catch(err => {\n expect(err.message)\n .toMatch(/contains neither model topology or manifest/);\n });\n });\n\n it('with fetch rejection leads to error', async () => {\n setupFakeWeightFiles(\n {\n 'path1/model.json':\n {data: JSON.stringify({}), contentType: 'text/html'}\n },\n requestInits);\n const handler = tf.io.http('path2/model.json');\n try {\n const data = await handler.load();\n expect(data).toBeDefined();\n fail('Loading with fetch rejection succeeded unexpectedly.');\n } catch (err) {\n // This error is mocked in beforeEach\n expect(err).toEqual('path not found');\n }\n });\n it('Provide WeightFileTranslateFunc', async () => {\n const weightManifest1: tf.io.WeightsManifestConfig = [{\n paths: ['weightfile0'],\n weights: [\n {\n name: 'dense/kernel',\n shape: [3, 1],\n dtype: 'float32',\n },\n {\n name: 'dense/bias',\n shape: [2],\n dtype: 'float32',\n }\n ]\n }];\n const floatData = new Float32Array([1, 3, 3, 7, 4]);\n setupFakeWeightFiles(\n {\n './model.json': {\n data: JSON.stringify({\n modelTopology: modelTopology1,\n weightsManifest: weightManifest1\n }),\n contentType: 'application/json'\n },\n 'auth_weightfile0':\n {data: floatData, contentType: 'application/octet-stream'},\n },\n requestInits);\n async function prefixWeightUrlConverter(weightFile: string):\n Promise {\n // Add 'auth_' prefix to the weight file url.\n return new Promise(\n resolve => setTimeout(resolve, 1, 'auth_' + weightFile));\n }\n\n const handler = tf.io.http('./model.json', {\n requestInit: {headers: {'header_key_1': 'header_value_1'}},\n weightUrlConverter: prefixWeightUrlConverter\n });\n const modelArtifacts = await handler.load();\n expect(modelArtifacts.modelTopology).toEqual(modelTopology1);\n expect(modelArtifacts.weightSpecs).toEqual(weightManifest1[0].weights);\n expect(new Float32Array(modelArtifacts.weightData)).toEqual(floatData);\n expect(Object.keys(requestInits).length).toEqual(2);\n expect(Object.keys(requestInits).length).toEqual(2);\n expect(requestInits['./model.json'].headers['header_key_1'])\n .toEqual('header_value_1');\n expect(requestInits['auth_weightfile0'].headers['header_key_1'])\n .toEqual('header_value_1');\n\n expect(fetchSpy.calls.mostRecent().object).toEqual(window);\n });\n });\n\n it('Overriding BrowserHTTPRequest fetchFunc', async () => {\n const weightManifest1: tf.io.WeightsManifestConfig = [{\n paths: ['weightfile0'],\n weights: [\n {\n name: 'dense/kernel',\n shape: [3, 1],\n dtype: 'float32',\n },\n {\n name: 'dense/bias',\n shape: [2],\n dtype: 'float32',\n }\n ]\n }];\n const floatData = new Float32Array([1, 3, 3, 7, 4]);\n\n const fetchInputs: RequestInfo[] = [];\n const fetchInits: RequestInit[] = [];\n async function customFetch(\n input: RequestInfo, init?: RequestInit): Promise {\n fetchInputs.push(input);\n fetchInits.push(init);\n\n if (input === './model.json') {\n return new Response(\n JSON.stringify({\n modelTopology: modelTopology1,\n weightsManifest: weightManifest1\n }),\n {status: 200, headers: {'content-type': 'application/json'}});\n } else if (input === './weightfile0') {\n return new Response(floatData, {\n status: 200,\n headers: {'content-type': 'application/octet-stream'}\n });\n } else {\n return new Response(null, {status: 404});\n }\n }\n\n const handler = tf.io.http(\n './model.json',\n {requestInit: {credentials: 'include'}, fetchFunc: customFetch});\n const modelArtifacts = await handler.load();\n expect(modelArtifacts.modelTopology).toEqual(modelTopology1);\n expect(modelArtifacts.weightSpecs).toEqual(weightManifest1[0].weights);\n expect(new Float32Array(modelArtifacts.weightData)).toEqual(floatData);\n\n expect(fetchInputs).toEqual(['./model.json', './weightfile0']);\n expect(fetchInits.length).toEqual(2);\n expect(fetchInits[0].credentials).toEqual('include');\n expect(fetchInits[1].credentials).toEqual('include');\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"http_test.js","sourceRoot":"","sources":["../../src/io/http_test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/indexed_db.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/indexed_db.js.map index 725d7533b..ee7ce8358 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/indexed_db.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/indexed_db.js.map @@ -1 +1 @@ -{"version":3,"file":"indexed_db.js","sourceRoot":"","sources":["../../src/io/indexed_db.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\nimport '../flags';\n\nimport {env} from '../environment';\n\nimport {getModelArtifactsInfoForJSON} from './io_utils';\nimport {IORouter, IORouterRegistry} from './router_registry';\nimport {IOHandler, ModelArtifacts, ModelArtifactsInfo, ModelStoreManager, SaveResult} from './types';\n\nconst DATABASE_NAME = 'tensorflowjs';\nconst DATABASE_VERSION = 1;\n\n// Model data and ModelArtifactsInfo (metadata) are stored in two separate\n// stores for efficient access of the list of stored models and their metadata.\n// 1. The object store for model data: topology, weights and weight manifests.\nconst MODEL_STORE_NAME = 'models_store';\n// 2. The object store for ModelArtifactsInfo, including meta-information such\n// as the type of topology (JSON vs binary), byte size of the topology, byte\n// size of the weights, etc.\nconst INFO_STORE_NAME = 'model_info_store';\n\n/**\n * Delete the entire database for tensorflow.js, including the models store.\n */\nexport async function deleteDatabase(): Promise {\n const idbFactory = getIndexedDBFactory();\n\n return new Promise((resolve, reject) => {\n const deleteRequest = idbFactory.deleteDatabase(DATABASE_NAME);\n deleteRequest.onsuccess = () => resolve();\n deleteRequest.onerror = error => reject(error);\n });\n}\n\nfunction getIndexedDBFactory(): IDBFactory {\n if (!env().getBool('IS_BROWSER')) {\n // TODO(cais): Add more info about what IOHandler subtypes are available.\n // Maybe point to a doc page on the web and/or automatically determine\n // the available IOHandlers and print them in the error message.\n throw new Error(\n 'Failed to obtain IndexedDB factory because the current environment' +\n 'is not a web browser.');\n }\n // tslint:disable-next-line:no-any\n const theWindow: any = typeof window === 'undefined' ? self : window;\n const factory = theWindow.indexedDB || theWindow.mozIndexedDB ||\n theWindow.webkitIndexedDB || theWindow.msIndexedDB ||\n theWindow.shimIndexedDB;\n if (factory == null) {\n throw new Error(\n 'The current browser does not appear to support IndexedDB.');\n }\n return factory;\n}\n\nfunction setUpDatabase(openRequest: IDBRequest) {\n const db = openRequest.result as IDBDatabase;\n db.createObjectStore(MODEL_STORE_NAME, {keyPath: 'modelPath'});\n db.createObjectStore(INFO_STORE_NAME, {keyPath: 'modelPath'});\n}\n\n/**\n * IOHandler subclass: Browser IndexedDB.\n *\n * See the doc string of `browserIndexedDB` for more details.\n */\nexport class BrowserIndexedDB implements IOHandler {\n protected readonly indexedDB: IDBFactory;\n protected readonly modelPath: string;\n\n static readonly URL_SCHEME = 'indexeddb://';\n\n constructor(modelPath: string) {\n this.indexedDB = getIndexedDBFactory();\n\n if (modelPath == null || !modelPath) {\n throw new Error(\n 'For IndexedDB, modelPath must not be null, undefined or empty.');\n }\n this.modelPath = modelPath;\n }\n\n async save(modelArtifacts: ModelArtifacts): Promise {\n // TODO(cais): Support saving GraphDef models.\n if (modelArtifacts.modelTopology instanceof ArrayBuffer) {\n throw new Error(\n 'BrowserLocalStorage.save() does not support saving model topology ' +\n 'in binary formats yet.');\n }\n\n return this.databaseAction(this.modelPath, modelArtifacts) as\n Promise;\n }\n\n async load(): Promise {\n return this.databaseAction(this.modelPath) as Promise;\n }\n\n /**\n * Perform database action to put model artifacts into or read model artifacts\n * from IndexedDB object store.\n *\n * Whether the action is put or get depends on whether `modelArtifacts` is\n * specified. If it is specified, the action will be put; otherwise the action\n * will be get.\n *\n * @param modelPath A unique string path for the model.\n * @param modelArtifacts If specified, it will be the model artifacts to be\n * stored in IndexedDB.\n * @returns A `Promise` of `SaveResult`, if the action is put, or a `Promise`\n * of `ModelArtifacts`, if the action is get.\n */\n private databaseAction(modelPath: string, modelArtifacts?: ModelArtifacts):\n Promise {\n return new Promise((resolve, reject) => {\n const openRequest = this.indexedDB.open(DATABASE_NAME, DATABASE_VERSION);\n openRequest.onupgradeneeded = () => setUpDatabase(openRequest);\n\n openRequest.onsuccess = () => {\n const db = openRequest.result;\n\n if (modelArtifacts == null) {\n // Read model out from object store.\n const modelTx = db.transaction(MODEL_STORE_NAME, 'readonly');\n const modelStore = modelTx.objectStore(MODEL_STORE_NAME);\n const getRequest = modelStore.get(this.modelPath);\n getRequest.onsuccess = () => {\n if (getRequest.result == null) {\n db.close();\n return reject(new Error(\n `Cannot find model with path '${this.modelPath}' ` +\n `in IndexedDB.`));\n } else {\n resolve(getRequest.result.modelArtifacts);\n }\n };\n getRequest.onerror = error => {\n db.close();\n return reject(getRequest.error);\n };\n modelTx.oncomplete = () => db.close();\n } else {\n // Put model into object store.\n const modelArtifactsInfo: ModelArtifactsInfo =\n getModelArtifactsInfoForJSON(modelArtifacts);\n // First, put ModelArtifactsInfo into info store.\n const infoTx = db.transaction(INFO_STORE_NAME, 'readwrite');\n let infoStore = infoTx.objectStore(INFO_STORE_NAME);\n const putInfoRequest =\n infoStore.put({modelPath: this.modelPath, modelArtifactsInfo});\n let modelTx: IDBTransaction;\n putInfoRequest.onsuccess = () => {\n // Second, put model data into model store.\n modelTx = db.transaction(MODEL_STORE_NAME, 'readwrite');\n const modelStore = modelTx.objectStore(MODEL_STORE_NAME);\n const putModelRequest = modelStore.put({\n modelPath: this.modelPath,\n modelArtifacts,\n modelArtifactsInfo\n });\n putModelRequest.onsuccess = () => resolve({modelArtifactsInfo});\n putModelRequest.onerror = error => {\n // If the put-model request fails, roll back the info entry as\n // well.\n infoStore = infoTx.objectStore(INFO_STORE_NAME);\n const deleteInfoRequest = infoStore.delete(this.modelPath);\n deleteInfoRequest.onsuccess = () => {\n db.close();\n return reject(putModelRequest.error);\n };\n deleteInfoRequest.onerror = error => {\n db.close();\n return reject(putModelRequest.error);\n };\n };\n };\n putInfoRequest.onerror = error => {\n db.close();\n return reject(putInfoRequest.error);\n };\n infoTx.oncomplete = () => {\n if (modelTx == null) {\n db.close();\n } else {\n modelTx.oncomplete = () => db.close();\n }\n };\n }\n };\n openRequest.onerror = error => reject(openRequest.error);\n });\n }\n}\n\nexport const indexedDBRouter: IORouter = (url: string|string[]) => {\n if (!env().getBool('IS_BROWSER')) {\n return null;\n } else {\n if (!Array.isArray(url) && url.startsWith(BrowserIndexedDB.URL_SCHEME)) {\n return browserIndexedDB(url.slice(BrowserIndexedDB.URL_SCHEME.length));\n } else {\n return null;\n }\n }\n};\nIORouterRegistry.registerSaveRouter(indexedDBRouter);\nIORouterRegistry.registerLoadRouter(indexedDBRouter);\n\n/**\n * Creates a browser IndexedDB IOHandler for saving and loading models.\n *\n * ```js\n * const model = tf.sequential();\n * model.add(\n * tf.layers.dense({units: 1, inputShape: [100], activation: 'sigmoid'}));\n *\n * const saveResult = await model.save('indexeddb://MyModel'));\n * console.log(saveResult);\n * ```\n *\n * @param modelPath A unique identifier for the model to be saved. Must be a\n * non-empty string.\n * @returns An instance of `BrowserIndexedDB` (sublcass of `IOHandler`),\n * which can be used with, e.g., `tf.Model.save`.\n */\nexport function browserIndexedDB(modelPath: string): IOHandler {\n return new BrowserIndexedDB(modelPath);\n}\n\nfunction maybeStripScheme(key: string) {\n return key.startsWith(BrowserIndexedDB.URL_SCHEME) ?\n key.slice(BrowserIndexedDB.URL_SCHEME.length) :\n key;\n}\n\nexport class BrowserIndexedDBManager implements ModelStoreManager {\n private indexedDB: IDBFactory;\n\n constructor() {\n this.indexedDB = getIndexedDBFactory();\n }\n\n async listModels(): Promise<{[path: string]: ModelArtifactsInfo}> {\n return new Promise<{[path: string]: ModelArtifactsInfo}>(\n (resolve, reject) => {\n const openRequest =\n this.indexedDB.open(DATABASE_NAME, DATABASE_VERSION);\n openRequest.onupgradeneeded = () => setUpDatabase(openRequest);\n\n openRequest.onsuccess = () => {\n const db = openRequest.result;\n const tx = db.transaction(INFO_STORE_NAME, 'readonly');\n const store = tx.objectStore(INFO_STORE_NAME);\n // tslint:disable:max-line-length\n // Need to cast `store` as `any` here because TypeScript's DOM\n // library does not have the `getAll()` method even though the\n // method is supported in the latest version of most mainstream\n // browsers:\n // https://developer.mozilla.org/en-US/docs/Web/API/IDBObjectStore/getAll\n // tslint:enable:max-line-length\n // tslint:disable-next-line:no-any\n const getAllInfoRequest = (store as any).getAll() as IDBRequest;\n getAllInfoRequest.onsuccess = () => {\n const out: {[path: string]: ModelArtifactsInfo} = {};\n for (const item of getAllInfoRequest.result) {\n out[item.modelPath] = item.modelArtifactsInfo;\n }\n resolve(out);\n };\n getAllInfoRequest.onerror = error => {\n db.close();\n return reject(getAllInfoRequest.error);\n };\n tx.oncomplete = () => db.close();\n };\n openRequest.onerror = error => reject(openRequest.error);\n });\n }\n\n async removeModel(path: string): Promise {\n path = maybeStripScheme(path);\n return new Promise((resolve, reject) => {\n const openRequest = this.indexedDB.open(DATABASE_NAME, DATABASE_VERSION);\n openRequest.onupgradeneeded = () => setUpDatabase(openRequest);\n\n openRequest.onsuccess = () => {\n const db = openRequest.result;\n const infoTx = db.transaction(INFO_STORE_NAME, 'readwrite');\n const infoStore = infoTx.objectStore(INFO_STORE_NAME);\n\n const getInfoRequest = infoStore.get(path);\n let modelTx: IDBTransaction;\n getInfoRequest.onsuccess = () => {\n if (getInfoRequest.result == null) {\n db.close();\n return reject(new Error(\n `Cannot find model with path '${path}' ` +\n `in IndexedDB.`));\n } else {\n // First, delete the entry in the info store.\n const deleteInfoRequest = infoStore.delete(path);\n const deleteModelData = () => {\n // Second, delete the entry in the model store.\n modelTx = db.transaction(MODEL_STORE_NAME, 'readwrite');\n const modelStore = modelTx.objectStore(MODEL_STORE_NAME);\n const deleteModelRequest = modelStore.delete(path);\n deleteModelRequest.onsuccess = () =>\n resolve(getInfoRequest.result.modelArtifactsInfo);\n deleteModelRequest.onerror = error =>\n reject(getInfoRequest.error);\n };\n // Proceed with deleting model data regardless of whether deletion\n // of info data succeeds or not.\n deleteInfoRequest.onsuccess = deleteModelData;\n deleteInfoRequest.onerror = error => {\n deleteModelData();\n db.close();\n return reject(getInfoRequest.error);\n };\n }\n };\n getInfoRequest.onerror = error => {\n db.close();\n return reject(getInfoRequest.error);\n };\n\n infoTx.oncomplete = () => {\n if (modelTx == null) {\n db.close();\n } else {\n modelTx.oncomplete = () => db.close();\n }\n };\n };\n openRequest.onerror = error => reject(openRequest.error);\n });\n }\n}\n"]} \ No newline at end of file +{"version":3,"file":"indexed_db.js","sourceRoot":"","sources":["../../src/io/indexed_db.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/indexed_db_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/indexed_db_test.js.map index 826f31a34..187c15541 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/indexed_db_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/indexed_db_test.js.map @@ -1 +1 @@ -{"version":3,"file":"indexed_db_test.js","sourceRoot":"","sources":["../../src/io/indexed_db_test.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\n/**\n * Unit tests for indexed_db.ts.\n */\n\nimport * as tf from '../index';\nimport {BROWSER_ENVS, describeWithFlags} from '../jasmine_util';\nimport {expectArrayBuffersEqual} from '../test_util';\nimport {browserIndexedDB, BrowserIndexedDB, BrowserIndexedDBManager, deleteDatabase, indexedDBRouter} from './indexed_db';\n\ndescribeWithFlags('IndexedDB', BROWSER_ENVS, () => {\n // Test data.\n const modelTopology1: {} = {\n 'class_name': 'Sequential',\n 'keras_version': '2.1.4',\n 'config': [{\n 'class_name': 'Dense',\n 'config': {\n 'kernel_initializer': {\n 'class_name': 'VarianceScaling',\n 'config': {\n 'distribution': 'uniform',\n 'scale': 1.0,\n 'seed': null,\n 'mode': 'fan_avg'\n }\n },\n 'name': 'dense',\n 'kernel_constraint': null,\n 'bias_regularizer': null,\n 'bias_constraint': null,\n 'dtype': 'float32',\n 'activation': 'linear',\n 'trainable': true,\n 'kernel_regularizer': null,\n 'bias_initializer': {'class_name': 'Zeros', 'config': {}},\n 'units': 1,\n 'batch_input_shape': [null, 3],\n 'use_bias': true,\n 'activity_regularizer': null\n }\n }],\n 'backend': 'tensorflow'\n };\n const weightSpecs1: tf.io.WeightsManifestEntry[] = [\n {\n name: 'dense/kernel',\n shape: [3, 1],\n dtype: 'float32',\n },\n {\n name: 'dense/bias',\n shape: [1],\n dtype: 'float32',\n }\n ];\n const weightData1 = new ArrayBuffer(16);\n const artifacts1: tf.io.ModelArtifacts = {\n modelTopology: modelTopology1,\n weightSpecs: weightSpecs1,\n weightData: weightData1,\n format: 'layers-model',\n generatedBy: 'TensorFlow.js v0.0.0',\n convertedBy: null,\n modelInitializer: {}\n };\n\n const weightSpecs2: tf.io.WeightsManifestEntry[] = [\n {\n name: 'dense/new_kernel',\n shape: [5, 1],\n dtype: 'float32',\n },\n {\n name: 'dense/new_bias',\n shape: [1],\n dtype: 'float32',\n }\n ];\n\n beforeEach(deleteDatabase);\n\n afterEach(deleteDatabase);\n\n it('Save-load round trip', async () => {\n const testStartDate = new Date();\n const handler = tf.io.getSaveHandlers('indexeddb://FooModel')[0];\n\n const saveResult = await handler.save(artifacts1);\n expect(saveResult.modelArtifactsInfo.dateSaved.getTime())\n .toBeGreaterThanOrEqual(testStartDate.getTime());\n // Note: The following two assertions work only because there is no\n // non-ASCII characters in `modelTopology1` and `weightSpecs1`.\n expect(saveResult.modelArtifactsInfo.modelTopologyBytes)\n .toEqual(JSON.stringify(modelTopology1).length);\n expect(saveResult.modelArtifactsInfo.weightSpecsBytes)\n .toEqual(JSON.stringify(weightSpecs1).length);\n expect(saveResult.modelArtifactsInfo.weightDataBytes)\n .toEqual(weightData1.byteLength);\n\n const loadedArtifacts = await handler.load();\n expect(loadedArtifacts.modelTopology).toEqual(modelTopology1);\n expect(loadedArtifacts.weightSpecs).toEqual(weightSpecs1);\n expect(loadedArtifacts.format).toEqual('layers-model');\n expect(loadedArtifacts.generatedBy).toEqual('TensorFlow.js v0.0.0');\n expect(loadedArtifacts.convertedBy).toEqual(null);\n expect(loadedArtifacts.modelInitializer).toEqual({});\n expectArrayBuffersEqual(loadedArtifacts.weightData, weightData1);\n });\n\n it('Save two models and load one', async () => {\n const weightData2 = new ArrayBuffer(24);\n const artifacts2: tf.io.ModelArtifacts = {\n modelTopology: modelTopology1,\n weightSpecs: weightSpecs2,\n weightData: weightData2,\n };\n const handler1 = tf.io.getSaveHandlers('indexeddb://Model/1')[0];\n const saveResult1 = await handler1.save(artifacts1);\n // Note: The following two assertions work only because there is no\n // non-ASCII characters in `modelTopology1` and `weightSpecs1`.\n expect(saveResult1.modelArtifactsInfo.modelTopologyBytes)\n .toEqual(JSON.stringify(modelTopology1).length);\n expect(saveResult1.modelArtifactsInfo.weightSpecsBytes)\n .toEqual(JSON.stringify(weightSpecs1).length);\n expect(saveResult1.modelArtifactsInfo.weightDataBytes)\n .toEqual(weightData1.byteLength);\n\n const handler2 = tf.io.getSaveHandlers('indexeddb://Model/2')[0];\n const saveResult2 = await handler2.save(artifacts2);\n expect(saveResult2.modelArtifactsInfo.dateSaved.getTime())\n .toBeGreaterThanOrEqual(\n saveResult1.modelArtifactsInfo.dateSaved.getTime());\n // Note: The following two assertions work only because there is\n // no non-ASCII characters in `modelTopology1` and\n // `weightSpecs1`.\n expect(saveResult2.modelArtifactsInfo.modelTopologyBytes)\n .toEqual(JSON.stringify(modelTopology1).length);\n expect(saveResult2.modelArtifactsInfo.weightSpecsBytes)\n .toEqual(JSON.stringify(weightSpecs2).length);\n expect(saveResult2.modelArtifactsInfo.weightDataBytes)\n .toEqual(weightData2.byteLength);\n\n const loadedArtifacts = await handler1.load();\n expect(loadedArtifacts.modelTopology).toEqual(modelTopology1);\n expect(loadedArtifacts.weightSpecs).toEqual(weightSpecs1);\n expectArrayBuffersEqual(loadedArtifacts.weightData, weightData1);\n });\n\n it('Loading nonexistent model fails', async () => {\n const handler = tf.io.getSaveHandlers('indexeddb://NonexistentModel')[0];\n\n try {\n await handler.load();\n fail('Loading nonexistent model from IndexedDB succeeded unexpectly');\n } catch (err) {\n expect(err.message)\n .toEqual(\n 'Cannot find model with path \\'NonexistentModel\\' in IndexedDB.');\n }\n });\n\n it('Null, undefined or empty modelPath throws Error', () => {\n expect(() => browserIndexedDB(null))\n .toThrowError(\n /IndexedDB, modelPath must not be null, undefined or empty/);\n expect(() => browserIndexedDB(undefined))\n .toThrowError(\n /IndexedDB, modelPath must not be null, undefined or empty/);\n expect(() => browserIndexedDB(''))\n .toThrowError(\n /IndexedDB, modelPath must not be null, undefined or empty./);\n });\n\n it('router', () => {\n expect(indexedDBRouter('indexeddb://bar') instanceof BrowserIndexedDB)\n .toEqual(true);\n expect(indexedDBRouter('localstorage://bar')).toBeNull();\n expect(indexedDBRouter('qux')).toBeNull();\n });\n\n it('Manager: List models: 0 result', async () => {\n // Before any model is saved, listModels should return empty result.\n const models = await new BrowserIndexedDBManager().listModels();\n expect(models).toEqual({});\n });\n\n it('Manager: List models: 1 result', async () => {\n const handler = tf.io.getSaveHandlers('indexeddb://baz/QuxModel')[0];\n const saveResult = await handler.save(artifacts1);\n\n // After successful saving, there should be one model.\n const models = await new BrowserIndexedDBManager().listModels();\n expect(Object.keys(models).length).toEqual(1);\n expect(models['baz/QuxModel'].modelTopologyType)\n .toEqual(saveResult.modelArtifactsInfo.modelTopologyType);\n expect(models['baz/QuxModel'].modelTopologyBytes)\n .toEqual(saveResult.modelArtifactsInfo.modelTopologyBytes);\n expect(models['baz/QuxModel'].weightSpecsBytes)\n .toEqual(saveResult.modelArtifactsInfo.weightSpecsBytes);\n expect(models['baz/QuxModel'].weightDataBytes)\n .toEqual(saveResult.modelArtifactsInfo.weightDataBytes);\n });\n\n it('Manager: List models: 2 results', async () => {\n // First, save a model.\n const handler1 = tf.io.getSaveHandlers('indexeddb://QuxModel')[0];\n const saveResult1 = await handler1.save(artifacts1);\n\n // Then, save the model under another path.\n const handler2 = tf.io.getSaveHandlers('indexeddb://repeat/QuxModel')[0];\n const saveResult2 = await handler2.save(artifacts1);\n\n // After successful saving, there should be two models.\n const models = await new BrowserIndexedDBManager().listModels();\n expect(Object.keys(models).length).toEqual(2);\n expect(models['QuxModel'].modelTopologyType)\n .toEqual(saveResult1.modelArtifactsInfo.modelTopologyType);\n expect(models['QuxModel'].modelTopologyBytes)\n .toEqual(saveResult1.modelArtifactsInfo.modelTopologyBytes);\n expect(models['QuxModel'].weightSpecsBytes)\n .toEqual(saveResult1.modelArtifactsInfo.weightSpecsBytes);\n expect(models['QuxModel'].weightDataBytes)\n .toEqual(saveResult1.modelArtifactsInfo.weightDataBytes);\n expect(models['repeat/QuxModel'].modelTopologyType)\n .toEqual(saveResult2.modelArtifactsInfo.modelTopologyType);\n expect(models['repeat/QuxModel'].modelTopologyBytes)\n .toEqual(saveResult2.modelArtifactsInfo.modelTopologyBytes);\n expect(models['repeat/QuxModel'].weightSpecsBytes)\n .toEqual(saveResult2.modelArtifactsInfo.weightSpecsBytes);\n expect(models['repeat/QuxModel'].weightDataBytes)\n .toEqual(saveResult2.modelArtifactsInfo.weightDataBytes);\n });\n\n it('Manager: Successful removeModel', async () => {\n // First, save a model.\n const handler1 = tf.io.getSaveHandlers('indexeddb://QuxModel')[0];\n await handler1.save(artifacts1);\n\n // Then, save the model under another path.\n const handler2 = tf.io.getSaveHandlers('indexeddb://repeat/QuxModel')[0];\n await handler2.save(artifacts1);\n\n // After successful saving, delete the first save, and then\n // `listModel` should give only one result.\n const manager = new BrowserIndexedDBManager();\n await manager.removeModel('QuxModel');\n\n const models = await manager.listModels();\n expect(Object.keys(models)).toEqual(['repeat/QuxModel']);\n });\n\n it('Manager: Successful removeModel with URL scheme', async () => {\n // First, save a model.\n const handler1 = tf.io.getSaveHandlers('indexeddb://QuxModel')[0];\n await handler1.save(artifacts1);\n\n // Then, save the model under another path.\n const handler2 = tf.io.getSaveHandlers('indexeddb://repeat/QuxModel')[0];\n await handler2.save(artifacts1);\n\n // After successful saving, delete the first save, and then\n // `listModel` should give only one result.\n const manager = new BrowserIndexedDBManager();\n\n // Delete a model specified with a path that includes the\n // indexeddb:// scheme prefix should work.\n manager.removeModel('indexeddb://QuxModel');\n\n const models = await manager.listModels();\n expect(Object.keys(models)).toEqual(['repeat/QuxModel']);\n });\n\n it('Manager: Failed removeModel', async () => {\n try {\n // Attempt to delete a nonexistent model is expected to fail.\n await new BrowserIndexedDBManager().removeModel('nonexistent');\n fail('Deleting nonexistent model succeeded unexpectedly.');\n } catch (err) {\n expect(err.message)\n .toEqual('Cannot find model with path \\'nonexistent\\' in IndexedDB.');\n }\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"indexed_db_test.js","sourceRoot":"","sources":["../../src/io/indexed_db_test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/io.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/io.js.map index 68d2fa9b4..454c38a08 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/io.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/io.js.map @@ -1 +1 @@ -{"version":3,"file":"io.js","sourceRoot":"","sources":["../../src/io/io.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,4EAA4E;AAC5E,cAAc;AACd,OAAO,cAAc,CAAC;AACtB,OAAO,iBAAiB,CAAC;AAEzB,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAC,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAC,uBAAuB,EAAE,aAAa,EAAE,aAAa,EAAE,4BAA4B,EAAC,MAAM,YAAY,CAAC;AAC/G,OAAO,EAAC,UAAU,EAAE,eAAe,EAAC,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAE3G,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAC,MAAM,oBAAoB,CAAC;AACjF,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,4BAA4B,EAC5B,eAAe,EACf,IAAI,EAEJ,YAAY,EAGZ,WAAW,EAMX,kBAAkB,EAClB,kBAAkB,EAMlB,oBAAoB,EAGpB,eAAe,EAChB,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 */\n\n// Importing local_storage and indexed_db is necessary for the routers to be\n// registered.\nimport './indexed_db';\nimport './local_storage';\n\nimport {browserFiles} from './browser_files';\nimport {browserHTTPRequest, http, isHTTPScheme} from './http';\nimport {concatenateArrayBuffers, decodeWeights, encodeWeights, getModelArtifactsInfoForJSON} from './io_utils';\nimport {fromMemory, withSaveHandler} from './passthrough';\nimport {getLoadHandlers, getSaveHandlers, registerLoadRouter, registerSaveRouter} from './router_registry';\nimport {IOHandler, LoadHandler, LoadOptions, ModelArtifacts, ModelArtifactsInfo, ModelJSON, ModelStoreManager, OnProgressCallback, RequestDetails, SaveConfig, SaveHandler, SaveResult, WeightGroup, WeightsManifestConfig, WeightsManifestEntry} from './types';\nimport {loadWeights, weightsLoaderFactory} from './weights_loader';\n\nexport {copyModel, listModels, moveModel, removeModel} from './model_management';\nexport {\n browserFiles,\n browserHTTPRequest,\n concatenateArrayBuffers,\n decodeWeights,\n encodeWeights,\n fromMemory,\n getLoadHandlers,\n getModelArtifactsInfoForJSON,\n getSaveHandlers,\n http,\n IOHandler,\n isHTTPScheme,\n LoadHandler,\n LoadOptions,\n loadWeights,\n ModelArtifacts,\n ModelArtifactsInfo,\n ModelJSON,\n ModelStoreManager,\n OnProgressCallback,\n registerLoadRouter,\n registerSaveRouter,\n RequestDetails,\n SaveConfig,\n SaveHandler,\n SaveResult,\n WeightGroup,\n weightsLoaderFactory,\n WeightsManifestConfig,\n WeightsManifestEntry,\n withSaveHandler\n};\n"]} \ No newline at end of file +{"version":3,"file":"io.js","sourceRoot":"","sources":["../../src/io/io.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,4EAA4E;AAC5E,cAAc;AACd,OAAO,cAAc,CAAC;AACtB,OAAO,iBAAiB,CAAC;AAEzB,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAC,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAC,uBAAuB,EAAE,aAAa,EAAE,aAAa,EAAE,4BAA4B,EAAC,MAAM,YAAY,CAAC;AAC/G,OAAO,EAAC,UAAU,EAAE,eAAe,EAAC,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAE3G,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAC,MAAM,oBAAoB,CAAC;AACjF,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,4BAA4B,EAC5B,eAAe,EACf,IAAI,EAEJ,YAAY,EAGZ,WAAW,EAMX,kBAAkB,EAClB,kBAAkB,EAMlB,oBAAoB,EAGpB,eAAe,EAChB,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/io_utils.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/io_utils.js.map index 5870e35b4..cfce8cc35 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/io_utils.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/io_utils.js.map @@ -1 +1 @@ -{"version":3,"file":"io_utils.js","sourceRoot":"","sources":["../../src/io/io_utils.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\nimport {complex} from '../ops/complex';\n\nimport {tensor} from '../ops/tensor';\nimport {NamedTensor, NamedTensorMap} from '../tensor_types';\nimport {TypedArray} from '../types';\nimport {sizeFromShape} from '../util';\n\nimport {DTYPE_VALUE_SIZE_MAP, ModelArtifacts, ModelArtifactsInfo, WeightGroup, WeightsManifestEntry} from './types';\n\n/** Number of bytes reserved for the length of the string. (32bit integer). */\nconst NUM_BYTES_STRING_LENGTH = 4;\n\n/**\n * Encode a map from names to weight values as an ArrayBuffer, along with an\n * `Array` of `WeightsManifestEntry` as specification of the encoded weights.\n *\n * This function does not perform sharding.\n *\n * This function is the reverse of `decodeWeights`.\n *\n * @param tensors A map (\"dict\") from names to tensors.\n * @param group Group to which the weights belong (optional).\n * @returns A `Promise` of\n * - A flat `ArrayBuffer` with all the binary values of the `Tensor`s\n * concatenated.\n * - An `Array` of `WeightManifestEntry`s, carrying information including\n * tensor names, `dtype`s and shapes.\n * @throws Error: on unsupported tensor `dtype`.\n */\nexport async function encodeWeights(\n tensors: NamedTensorMap|NamedTensor[], group?: WeightGroup):\n Promise<{data: ArrayBuffer, specs: WeightsManifestEntry[]}> {\n // TODO(adarob, cais): Support quantization.\n const specs: WeightsManifestEntry[] = [];\n const dataPromises: Array> = [];\n\n const names: string[] = Array.isArray(tensors) ?\n tensors.map(tensor => tensor.name) :\n Object.keys(tensors);\n\n for (let i = 0; i < names.length; ++i) {\n const name = names[i];\n const t = Array.isArray(tensors) ? tensors[i].tensor : tensors[name];\n if (t.dtype !== 'float32' && t.dtype !== 'int32' && t.dtype !== 'bool' &&\n t.dtype !== 'string' && t.dtype !== 'complex64') {\n throw new Error(`Unsupported dtype in weight '${name}': ${t.dtype}`);\n }\n const spec: WeightsManifestEntry = {name, shape: t.shape, dtype: t.dtype};\n if (t.dtype === 'string') {\n const utf8bytes = new Promise(async resolve => {\n const vals = await t.bytes() as Uint8Array[];\n const totalNumBytes = vals.reduce((p, c) => p + c.length, 0) +\n NUM_BYTES_STRING_LENGTH * vals.length;\n const bytes = new Uint8Array(totalNumBytes);\n let offset = 0;\n for (let i = 0; i < vals.length; i++) {\n const val = vals[i];\n const bytesOfLength =\n new Uint8Array(new Uint32Array([val.length]).buffer);\n bytes.set(bytesOfLength, offset);\n offset += NUM_BYTES_STRING_LENGTH;\n bytes.set(val, offset);\n offset += val.length;\n }\n resolve(bytes);\n });\n dataPromises.push(utf8bytes);\n } else {\n dataPromises.push(t.data());\n }\n if (group != null) {\n spec.group = group;\n }\n specs.push(spec);\n }\n\n const tensorValues = await Promise.all(dataPromises);\n return {data: concatenateTypedArrays(tensorValues), specs};\n}\n\n/**\n * Decode flat ArrayBuffer as weights.\n *\n * This function does not handle sharding.\n *\n * This function is the reverse of `encodeWeights`.\n *\n * @param buffer A flat ArrayBuffer carrying the binary values of the tensors\n * concatenated in the order specified in `specs`.\n * @param specs Specifications of the names, dtypes and shapes of the tensors\n * whose value are encoded by `buffer`.\n * @return A map from tensor name to tensor value, with the names corresponding\n * to names in `specs`.\n * @throws Error, if any of the tensors has unsupported dtype.\n */\nexport function decodeWeights(\n buffer: ArrayBuffer, specs: WeightsManifestEntry[]): NamedTensorMap {\n // TODO(adarob, cais): Support quantization.\n const out: NamedTensorMap = {};\n let float16Decode: (buffer: Uint16Array) => Float32Array | undefined;\n let offset = 0;\n for (const spec of specs) {\n const name = spec.name;\n const dtype = spec.dtype;\n const shape = spec.shape;\n const size = sizeFromShape(shape);\n let values: TypedArray|string[]|Uint8Array[];\n\n if ('quantization' in spec) {\n const quantization = spec.quantization;\n if (quantization.dtype === 'uint8' || quantization.dtype === 'uint16') {\n if (!('min' in quantization && 'scale' in quantization)) {\n throw new Error(\n `Weight ${spec.name} with quantization ${quantization.dtype} ` +\n `doesn't have corresponding metadata min and scale.`);\n }\n } else if (quantization.dtype === 'float16') {\n if (dtype !== 'float32') {\n throw new Error(\n `Weight ${spec.name} is quantized with ${quantization.dtype} ` +\n `which only supports weights of type float32 not ${dtype}.`);\n }\n } else {\n throw new Error(\n `Weight ${spec.name} has unknown ` +\n `quantization dtype ${quantization.dtype}. ` +\n `Supported quantization dtypes are: ` +\n `'uint8', 'uint16', and 'float16'.`);\n }\n const quantizationSizeFactor = DTYPE_VALUE_SIZE_MAP[quantization.dtype];\n const byteBuffer =\n buffer.slice(offset, offset + size * quantizationSizeFactor);\n const quantizedArray = (quantization.dtype === 'uint8') ?\n new Uint8Array(byteBuffer) :\n new Uint16Array(byteBuffer);\n if (dtype === 'float32') {\n if (quantization.dtype === 'uint8' || quantization.dtype === 'uint16') {\n values = new Float32Array(quantizedArray.length);\n for (let i = 0; i < quantizedArray.length; i++) {\n const v = quantizedArray[i];\n values[i] = v * quantization.scale + quantization.min;\n }\n } else if (quantization.dtype === 'float16') {\n if (float16Decode === undefined) {\n float16Decode = getFloat16Decoder();\n }\n values = float16Decode(quantizedArray as Uint16Array);\n } else {\n throw new Error(\n `Unsupported quantization type ${quantization.dtype} ` +\n `for weight type float32.`);\n }\n } else if (dtype === 'int32') {\n if (quantization.dtype !== 'uint8' && quantization.dtype !== 'uint16') {\n throw new Error(\n `Unsupported quantization type ${quantization.dtype} ` +\n `for weight type int32.`);\n }\n values = new Int32Array(quantizedArray.length);\n for (let i = 0; i < quantizedArray.length; i++) {\n const v = quantizedArray[i];\n values[i] = Math.round(v * quantization.scale + quantization.min);\n }\n } else {\n throw new Error(`Unsupported dtype in weight '${name}': ${dtype}`);\n }\n offset += size * quantizationSizeFactor;\n } else if (dtype === 'string') {\n const size = sizeFromShape(spec.shape);\n values = [];\n for (let i = 0; i < size; i++) {\n const byteLength = new Uint32Array(\n buffer.slice(offset, offset + NUM_BYTES_STRING_LENGTH))[0];\n offset += NUM_BYTES_STRING_LENGTH;\n const bytes = new Uint8Array(buffer.slice(offset, offset + byteLength));\n (values as Uint8Array[]).push(bytes);\n offset += byteLength;\n }\n } else {\n const dtypeFactor = DTYPE_VALUE_SIZE_MAP[dtype];\n const byteBuffer = buffer.slice(offset, offset + size * dtypeFactor);\n\n if (dtype === 'float32') {\n values = new Float32Array(byteBuffer);\n } else if (dtype === 'int32') {\n values = new Int32Array(byteBuffer);\n } else if (dtype === 'bool') {\n values = new Uint8Array(byteBuffer);\n } else if (dtype === 'complex64') {\n values = new Float32Array(byteBuffer);\n const real = new Float32Array(values.length / 2);\n const image = new Float32Array(values.length / 2);\n for (let i = 0; i < real.length; i++) {\n real[i] = values[i * 2];\n image[i] = values[i * 2 + 1];\n }\n const realTensor = tensor(real, shape, 'float32');\n const imageTensor = tensor(image, shape, 'float32');\n out[name] = complex(realTensor, imageTensor);\n realTensor.dispose();\n imageTensor.dispose();\n } else {\n throw new Error(`Unsupported dtype in weight '${name}': ${dtype}`);\n }\n offset += size * dtypeFactor;\n }\n if (dtype !== 'complex64') {\n out[name] = tensor(values, shape, dtype);\n }\n }\n return out;\n}\n\n/**\n * Concatenate TypedArrays into an ArrayBuffer.\n */\nexport function concatenateTypedArrays(xs: TypedArray[]): ArrayBuffer {\n // TODO(adarob, cais): Support quantization.\n if (xs === null) {\n throw new Error(`Invalid input value: ${JSON.stringify(xs)}`);\n }\n\n let totalByteLength = 0;\n\n // `normalizedXs` is here for this reason: a `TypedArray`'s `buffer'\n // can have a different byte length from that of the `TypedArray` itself,\n // for example, when the `TypedArray` is created from an offset in an\n // `ArrayBuffer`. `normliazedXs` holds `TypedArray`s whose `buffer`s match\n // the `TypedArray` in byte length. If an element of `xs` does not show\n // this property, a new `TypedArray` that satisfy this property will be\n // constructed and pushed into `normalizedXs`.\n const normalizedXs: TypedArray[] = [];\n xs.forEach((x: TypedArray) => {\n totalByteLength += x.byteLength;\n // tslint:disable:no-any\n normalizedXs.push(\n x.byteLength === x.buffer.byteLength ? x :\n new (x.constructor as any)(x));\n if (!(x as any instanceof Float32Array || x as any instanceof Int32Array ||\n x as any instanceof Uint8Array)) {\n throw new Error(`Unsupported TypedArray subtype: ${x.constructor.name}`);\n }\n // tslint:enable:no-any\n });\n\n const y = new Uint8Array(totalByteLength);\n let offset = 0;\n normalizedXs.forEach((x: TypedArray) => {\n y.set(new Uint8Array(x.buffer), offset);\n offset += x.byteLength;\n });\n\n return y.buffer;\n}\n\n// Use Buffer on Node.js instead of Blob/atob/btoa\nconst useNodeBuffer = typeof Buffer !== 'undefined' &&\n (typeof Blob === 'undefined' || typeof atob === 'undefined' ||\n typeof btoa === 'undefined');\n\n/**\n * Calculate the byte length of a JavaScript string.\n *\n * Note that a JavaScript string can contain wide characters, therefore the\n * length of the string is not necessarily equal to the byte length.\n *\n * @param str Input string.\n * @returns Byte length.\n */\nexport function stringByteLength(str: string): number {\n if (useNodeBuffer) {\n return Buffer.byteLength(str);\n }\n return new Blob([str]).size;\n}\n\n/**\n * Encode an ArrayBuffer as a base64 encoded string.\n *\n * @param buffer `ArrayBuffer` to be converted.\n * @returns A string that base64-encodes `buffer`.\n */\nexport function arrayBufferToBase64String(buffer: ArrayBuffer): string {\n if (useNodeBuffer) {\n return Buffer.from(buffer).toString('base64');\n }\n const buf = new Uint8Array(buffer);\n let s = '';\n for (let i = 0, l = buf.length; i < l; i++) {\n s += String.fromCharCode(buf[i]);\n }\n return btoa(s);\n}\n\n/**\n * Decode a base64 string as an ArrayBuffer.\n *\n * @param str Base64 string.\n * @returns Decoded `ArrayBuffer`.\n */\nexport function base64StringToArrayBuffer(str: string): ArrayBuffer {\n if (useNodeBuffer) {\n const buf = Buffer.from(str, 'base64');\n return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n }\n const s = atob(str);\n const buffer = new Uint8Array(s.length);\n for (let i = 0; i < s.length; ++i) {\n buffer.set([s.charCodeAt(i)], i);\n }\n return buffer.buffer;\n}\n\n/**\n * Concatenate a number of ArrayBuffers into one.\n *\n * @param buffers A number of array buffers to concatenate.\n * @returns Result of concatenating `buffers` in order.\n */\nexport function concatenateArrayBuffers(buffers: ArrayBuffer[]): ArrayBuffer {\n if (buffers.length === 1) {\n return buffers[0];\n }\n\n let totalByteLength = 0;\n buffers.forEach((buffer: ArrayBuffer) => {\n totalByteLength += buffer.byteLength;\n });\n\n const temp = new Uint8Array(totalByteLength);\n let offset = 0;\n buffers.forEach((buffer: ArrayBuffer) => {\n temp.set(new Uint8Array(buffer), offset);\n offset += buffer.byteLength;\n });\n return temp.buffer;\n}\n\n/**\n * Get the basename of a path.\n *\n * Behaves in a way analogous to Linux's basename command.\n *\n * @param path\n */\nexport function basename(path: string): string {\n const SEPARATOR = '/';\n path = path.trim();\n while (path.endsWith(SEPARATOR)) {\n path = path.slice(0, path.length - 1);\n }\n const items = path.split(SEPARATOR);\n return items[items.length - 1];\n}\n\n/**\n * Populate ModelArtifactsInfo fields for a model with JSON topology.\n * @param modelArtifacts\n * @returns A ModelArtifactsInfo object.\n */\nexport function getModelArtifactsInfoForJSON(modelArtifacts: ModelArtifacts):\n ModelArtifactsInfo {\n if (modelArtifacts.modelTopology instanceof ArrayBuffer) {\n throw new Error('Expected JSON model topology, received ArrayBuffer.');\n }\n\n return {\n dateSaved: new Date(),\n modelTopologyType: 'JSON',\n modelTopologyBytes: modelArtifacts.modelTopology == null ?\n 0 :\n stringByteLength(JSON.stringify(modelArtifacts.modelTopology)),\n weightSpecsBytes: modelArtifacts.weightSpecs == null ?\n 0 :\n stringByteLength(JSON.stringify(modelArtifacts.weightSpecs)),\n weightDataBytes: modelArtifacts.weightData == null ?\n 0 :\n modelArtifacts.weightData.byteLength,\n };\n}\n\n/**\n * Computes mantisa table for casting Float16 to Float32\n * See http://www.fox-toolkit.org/ftp/fasthalffloatconversion.pdf\n *\n * @returns Uint32Array, 2048 mantissa lookup values.\n */\nfunction computeFloat16MantisaTable(): Uint32Array {\n const convertMantissa = (i: number): number => {\n let m = i << 13;\n let e = 0;\n\n while ((m & 0x00800000) === 0) {\n e -= 0x00800000;\n m <<= 1;\n }\n m &= ~0x00800000;\n e += 0x38800000;\n\n return m | e;\n };\n\n const mantisaTable = new Uint32Array(2048);\n\n mantisaTable[0] = 0;\n for (let i = 1; i < 1024; i++) {\n mantisaTable[i] = convertMantissa(i);\n }\n for (let i = 1024; i < 2048; i++) {\n mantisaTable[i] = 0x38000000 + ((i - 1024) << 13);\n }\n\n return mantisaTable;\n}\n\n/**\n * Computes exponent table for casting Float16 to Float32\n * See http://www.fox-toolkit.org/ftp/fasthalffloatconversion.pdf\n *\n * @returns Uint32Array, 64 exponent lookup values.\n */\nfunction computeFloat16ExponentTable(): Uint32Array {\n const exponentTable = new Uint32Array(64);\n\n exponentTable[0] = 0;\n exponentTable[31] = 0x47800000;\n exponentTable[32] = 0x80000000;\n exponentTable[63] = 0xc7800000;\n for (let i = 1; i < 31; i++) {\n exponentTable[i] = i << 23;\n }\n for (let i = 33; i < 63; i++) {\n exponentTable[i] = 0x80000000 + ((i - 32) << 23);\n }\n\n return exponentTable;\n}\n\n/**\n * Computes offset table for casting Float16 to Float32\n * See http://www.fox-toolkit.org/ftp/fasthalffloatconversion.pdf\n *\n * @returns Uint32Array, 6d offset values.\n */\nfunction computeFloat16OffsetTable(): Uint32Array {\n const offsetTable = new Uint32Array(64);\n\n for (let i = 0; i < 64; i++) {\n offsetTable[i] = 1024;\n }\n offsetTable[0] = offsetTable[32] = 0;\n\n return offsetTable;\n}\n\n/**\n * Retrieve a Float16 decoder which will decode a ByteArray of Float16 values\n * to a Float32Array.\n *\n * @returns Function (buffer: Uint16Array) => Float32Array which decodes\n * the Uint16Array of Float16 bytes to a Float32Array.\n */\nexport function getFloat16Decoder(): (buffer: Uint16Array) => Float32Array {\n // Algorithm is based off of\n // http://www.fox-toolkit.org/ftp/fasthalffloatconversion.pdf\n\n // Cache lookup tables\n const mantisaTable = computeFloat16MantisaTable();\n const exponentTable = computeFloat16ExponentTable();\n const offsetTable = computeFloat16OffsetTable();\n\n return (quantizedArray: Uint16Array) => {\n const buffer = new ArrayBuffer(4 * quantizedArray.length);\n const bufferUint32View = new Uint32Array(buffer);\n for (let index = 0; index < quantizedArray.length; index++) {\n const float16Bits = quantizedArray[index];\n const float32Bits =\n mantisaTable[offsetTable[float16Bits >> 10] + (float16Bits & 0x3ff)] +\n exponentTable[float16Bits >> 10];\n bufferUint32View[index] = float32Bits;\n }\n return new Float32Array(buffer);\n };\n}\n"]} \ No newline at end of file +{"version":3,"file":"io_utils.js","sourceRoot":"","sources":["../../src/io/io_utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/io_utils_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/io_utils_test.js.map index e3355c014..8310e5463 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/io_utils_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/io_utils_test.js.map @@ -1 +1 @@ -{"version":3,"file":"io_utils_test.js","sourceRoot":"","sources":["../../src/io/io_utils_test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEtD,OAAO,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,SAAS,CAAC;AAErC,OAAO,EAAC,yBAAyB,EAAE,yBAAyB,EAAE,QAAQ,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAGhL,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;QACtB,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;QACtB,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;QACtB,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7C,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,sBAAsB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,sEAAsE;QACtE,2EAA2E;QAC3E,MAAM;QACN,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5C,MAAM,aAAa,GAAG,sBAAsB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1D,MAAM,CAAC,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,sBAAsB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,sEAAsE;QACtE,2EAA2E;QAC3E,MAAM;QACN,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5C,MAAM,aAAa,GAAG,sBAAsB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxD,MAAM,CAAC,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,aAAa,GAAG,sBAAsB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,sEAAsE;QACtE,2EAA2E;QAC3E,MAAM;QACN,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAExC,MAAM,aAAa,GAAG,sBAAsB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxD,MAAM,CAAC,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5C,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,sBAAsB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3D,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,sEAAsE;QACtE,2EAA2E;QAC3E,aAAa;QACb,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAExD,MAAM,aAAa,GAAG,sBAAsB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxD,MAAM,CAAC,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxD,MAAM,CAAC,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACrD,MAAM,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvC,kCAAkC;QAClC,MAAM,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAQ,CAAC,CAAC,CAAC;aAC3C,YAAY,CAAC,4CAA4C,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iBAAiB,CAAC,eAAe,EAAE,QAAQ,EAAE,GAAG,EAAE;IAChD,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,OAAO,GAAmB;YAC9B,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAClC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;YACd,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;SACrC,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC;YAC5D,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;SACf,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC;YAC7D,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;SACrB,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YACpB;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;aACd;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,EAAE;aACV;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,CAAC,CAAC,CAAC;aACX;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,OAAO,GAAkB;YAC7B,EAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAC,EAAE;gBACvD,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;aACnB;YACD,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAC;SACxD,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC;YAC5D,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;SACf,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC;YAC7D,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;SACrB,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YACpB;gBACE,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;aACd;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,EAAE;aACV;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,CAAC,CAAC,CAAC;aACX;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,OAAO,GAAmB;YAC9B,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;YACnD,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC;YACvB,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;SACxC,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC;YACxD,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;SACf,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC;YACzD,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SACf,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YACpB;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;aACd;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,EAAE;aACV;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,CAAC,CAAC,CAAC;aACX;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,OAAO,GAAmB;YAC9B,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC;YAC5D,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;YACzB,EAAE,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC;SACjD,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YACpB;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;aACd;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,EAAE;aACV;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,CAAC,CAAC,CAAC;aACX;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,OAAO,GAAmB;YAC9B,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9B,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;YACpB,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7B,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC;YAC5D,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;SACX,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YACpB;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,CAAC,CAAC,CAAC;aACX;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,EAAE;aACV;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;aACd;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,OAAO,GAAmB;YAC9B,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACjD,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;YACd,EAAE,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACnC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC;YAChB,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAmB,iBAAiB;SACxD,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;QACjC,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAO,0BAA0B;QAChE,MAAM,YAAY,GAAG,CAAC,CAAC,CAAe,oBAAoB;QAC1D,MAAM,YAAY,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,gCAAgC;QACtE,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAO,gCAAgC;QACtE,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAO,yBAAyB;QAC/D,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;aAClB,OAAO,CACJ,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY;YACzD,YAAY,CAAC,CAAC;QACtB,UAAU;QACV,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,WAAW;QACX,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,YAAY;QACZ,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,UAAU;QACV,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAE/D,sBAAsB;QACtB,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvD,eAAe;QACf,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QAErE,gBAAgB;QAChB,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAEtE,WAAW;QACX,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhE,cAAc;QACd,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAEnE,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YACpB,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC;YAC5C,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAC;YACxC,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAC;YACzC,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAC;YACxC,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAC;SACzC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,OAAO,GAAmB;YAC9B,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;YACnD,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC;YAC5B,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAChD,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC/B,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC;YACxD,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;SACf,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC;YAC7D,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;SACX,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YACpB;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;aACd;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,EAAE;aACV;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,CAAC,CAAC,CAAC;aACX;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,CAAC,CAAC,CAAC;aACX;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iBAAiB,CAAC,eAAe,EAAE,EAAE,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,OAAO,GAAmB;YAC9B,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;YACnD,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC;YAC5B,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAC1C,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC;YAC7D,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC;YAC5B,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC;YACnB,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC;YAChD,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC/B,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;QACjC,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/C,iBAAiB,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,iBAAiB,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,iBAAiB,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,iBAAiB,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,iBAAiB,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,iBAAiB,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,iBAAiB,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,iBAAiB,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;QAClC,kCAAkC;QAClC,MAAM,KAAK,GAAQ;YACjB;gBACE,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,EAAE;aACV;YACD,EAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAC;SACvC,CAAC;QACF,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;aAC3C,YAAY,CAAC,0CAA0C,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,aAAa,GAA2B;YAC5C;gBACE,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,CAAC,CAAC,CAAC;gBACZ,cAAc,EAAE,EAAC,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAC;aAC5D;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,CAAC,CAAC,CAAC;gBACZ,cAAc,EAAE,EAAC,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAC;aAC5D;SACF,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,iBAAiB,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEzC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,iBAAiB,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,aAAa,GAA2B;YAC5C;gBACE,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,CAAC,CAAC,CAAC;gBACZ,cAAc,EAAE,EAAC,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAC;aAC7D;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,CAAC,CAAC,CAAC;gBACZ,cAAc,EAAE,EAAC,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAC;aAC7D;SACF,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,iBAAiB,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEzC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,iBAAiB,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,aAAa,GAA2B;YAC5C;gBACE,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,CAAC,CAAC,CAAC;gBACV,YAAY,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;aACnC;SACF,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,iBAAiB,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;QACpB,MAAM,GAAG,GAAG,oBAAoB,CAAC;QACjC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,GAAG,GAAG,MAAM,CAAC;QACnB,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iBAAiB,CACb,qDAAqD,EAAE,YAAY,EAAE,GAAG,EAAE;IACxE,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;QACpB,yCAAyC;QACzC,MAAM,CAAC,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;gBAC5B,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aACf;YACD,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aACf;SACF;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzC,MAAM,SAAS,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,OAAO,GACT,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEP,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,uBAAuB,CAC/B,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC;YACjD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;SACvC,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,uBAAuB,CAC/B,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,MAAM,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC;YACjD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;SACtC,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,uBAAuB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,IAAI,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC;aAC9C,OAAO,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC/D,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,UAAU,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,gBAAgB,GAAG,UAAU,CAAC;QACpC,MAAM,gBAAgB,GAAG,UAAU,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,UAAU,CAAC;QAChC,MAAM,YAAY,GAAG,UAAU,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,UAAU,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,UAAU,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC;YAC7B,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;SACX,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACpC,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 */\n\nimport * as tf from '../index';\nimport {ALL_ENVS, BROWSER_ENVS, describeWithFlags} from '../jasmine_util';\nimport {scalar, tensor1d, tensor2d} from '../ops/ops';\nimport {NamedTensor, NamedTensorMap} from '../tensor_types';\nimport {expectArraysEqual} from '../test_util';\nimport {expectArraysClose} from '../test_util';\nimport {encodeString} from '../util';\n\nimport {arrayBufferToBase64String, base64StringToArrayBuffer, basename, concatenateArrayBuffers, concatenateTypedArrays, stringByteLength, getFloat16Decoder} from './io_utils';\nimport {WeightsManifestEntry} from './types';\n\ndescribe('concatenateTypedArrays', () => {\n it('Single float arrays', () => {\n const x = new Float32Array([1.1, 2.2, 3.3]);\n const buffer = concatenateTypedArrays([x]);\n expect(buffer.byteLength).toEqual(12);\n expect(new Float32Array(buffer, 0, 3)).toEqual(x);\n });\n\n it('Float arrays', () => {\n const x = new Float32Array([1.1, 2.2, 3.3]);\n const y = new Float32Array([-1.1, -2.2, -3.3]);\n const buffer = concatenateTypedArrays([x, y]);\n expect(buffer.byteLength).toEqual(24);\n expect(new Float32Array(buffer, 0, 3)).toEqual(x);\n expect(new Float32Array(buffer, 12, 3)).toEqual(y);\n });\n it('Single int32 arrays', () => {\n const x = new Int32Array([11, 22, 33]);\n const buffer = concatenateTypedArrays([x]);\n expect(buffer.byteLength).toEqual(12);\n expect(new Int32Array(buffer, 0, 3)).toEqual(x);\n });\n\n it('Int32 arrays', () => {\n const x = new Int32Array([11, 22, 33]);\n const y = new Int32Array([-11, -22, -33]);\n const buffer = concatenateTypedArrays([x, y]);\n expect(buffer.byteLength).toEqual(24);\n expect(new Int32Array(buffer, 0, 3)).toEqual(x);\n expect(new Int32Array(buffer, 12, 3)).toEqual(y);\n });\n\n it('Single uint8 arrays', () => {\n const x = new Uint8Array([11, 22, 33]);\n const buffer = concatenateTypedArrays([x]);\n expect(buffer.byteLength).toEqual(3);\n expect(new Uint8Array(buffer, 0, 3)).toEqual(x);\n });\n\n it('Uint8 arrays', () => {\n const x = new Uint8Array([11, 22, 33]);\n const y = new Uint8Array([111, 122, 133]);\n const buffer = concatenateTypedArrays([x, y]);\n expect(buffer.byteLength).toEqual(6);\n expect(new Uint8Array(buffer, 0, 3)).toEqual(x);\n expect(new Uint8Array(buffer, 3, 3)).toEqual(y);\n });\n\n it('Mixed Uint8, Int32 and Float32 arrays', () => {\n const x = new Uint8Array([0, 1, 1, 0]);\n const y = new Int32Array([10, 20, 30, 40]);\n const z = new Float32Array([-1.1, -2.2, -3.3, -4.4]);\n const buffer = concatenateTypedArrays([x, y, z]);\n expect(buffer.byteLength).toEqual(1 * 4 + 4 * 4 + 4 * 4);\n expect(new Uint8Array(buffer, 0, 4)).toEqual(x);\n expect(new Int32Array(buffer, 4, 4)).toEqual(y);\n expect(new Float32Array(buffer, 20, 4)).toEqual(z);\n });\n\n it('Concatenate Float32Arrays from SubArrays', () => {\n const x1 = new Float32Array([1.1, 2.2, 3.3]);\n const x2 = new Float32Array([-1.1, -2.2, -3.3]);\n const xConcatenated = concatenateTypedArrays([x1, x2]);\n const y1 = new Float32Array(xConcatenated, 0, 3);\n const y2 = new Float32Array(xConcatenated, 3 * 4, 3);\n // At this point, the buffer of y1 is longer than than the actual byte\n // length of y1, because of the way y1 is constructed. The same is true for\n // y2.\n expect(y1.buffer.byteLength).toEqual(6 * 4);\n expect(y2.buffer.byteLength).toEqual(6 * 4);\n\n const yConcatenated = concatenateTypedArrays([y1, y2]);\n expect(yConcatenated.byteLength).toEqual(6 * 4);\n expect(new Float32Array(yConcatenated, 0, 3)).toEqual(x1);\n expect(new Float32Array(yConcatenated, 3 * 4, 3)).toEqual(x2);\n });\n\n it('Concatenate Int32Array from SubArrays', () => {\n const x1 = new Int32Array([11, 22, 33]);\n const x2 = new Int32Array([-11, -22, -33]);\n const xConcatenated = concatenateTypedArrays([x1, x2]);\n const y1 = new Int32Array(xConcatenated, 0, 3);\n const y2 = new Int32Array(xConcatenated, 3 * 4, 3);\n // At this point, the buffer of y1 is longer than than the actual byte\n // length of y1, because of the way y1 is constructed. The same is true for\n // y2.\n expect(y1.buffer.byteLength).toEqual(6 * 4);\n expect(y2.buffer.byteLength).toEqual(6 * 4);\n\n const yConcatenated = concatenateTypedArrays([y1, y2]);\n expect(yConcatenated.byteLength).toEqual(6 * 4);\n expect(new Int32Array(yConcatenated, 0, 3)).toEqual(x1);\n expect(new Int32Array(yConcatenated, 3 * 4, 3)).toEqual(x2);\n });\n\n it('Concatenate Uint8Array from SubArrays', () => {\n const x1 = new Uint8Array([11, 22, 33]);\n const x2 = new Uint8Array([44, 55, 66]);\n const xConcatenated = concatenateTypedArrays([x1, x2]);\n const y1 = new Uint8Array(xConcatenated, 0, 3);\n const y2 = new Uint8Array(xConcatenated, 3, 3);\n // At this point, the buffer of y1 is longer than than the actual byte\n // length of y1, because of the way y1 is constructed. The same is true for\n // y2.\n expect(y1.buffer.byteLength).toEqual(6);\n expect(y2.buffer.byteLength).toEqual(6);\n\n const yConcatenated = concatenateTypedArrays([y1, y2]);\n expect(yConcatenated.byteLength).toEqual(6);\n expect(new Uint8Array(yConcatenated, 0, 3)).toEqual(x1);\n expect(new Uint8Array(yConcatenated, 3, 3)).toEqual(x2);\n });\n\n it('Concatenate mixed TypedArrays from SubArrays', () => {\n const x1 = new Uint8Array([11, 22, 33, 44]);\n const x2 = new Int32Array([-44, -55, -66]);\n const x3 = new Float32Array([1.1, 2.2, 3.3]);\n const xConcatenated = concatenateTypedArrays([x1, x2, x3]);\n const y1 = new Uint8Array(xConcatenated, 0, 4);\n const y2 = new Int32Array(xConcatenated, 4, 3);\n const y3 = new Float32Array(xConcatenated, 4 + 3 * 4, 3);\n // At this point, the buffer of y1 is longer than than the actual byte\n // length of y1, because of the way y1 is constructed. The same is true for\n // y2 and y3.\n expect(y1.buffer.byteLength).toEqual(4 + 3 * 4 + 3 * 4);\n expect(y2.buffer.byteLength).toEqual(4 + 3 * 4 + 3 * 4);\n expect(y3.buffer.byteLength).toEqual(4 + 3 * 4 + 3 * 4);\n\n const yConcatenated = concatenateTypedArrays([y1, y2, y3]);\n expect(yConcatenated.byteLength).toEqual(4 + 3 * 4 + 3 * 4);\n expect(new Uint8Array(yConcatenated, 0, 4)).toEqual(x1);\n expect(new Int32Array(yConcatenated, 4, 3)).toEqual(x2);\n expect(new Float32Array(yConcatenated, 4 + 3 * 4, 3)).toEqual(x3);\n });\n\n it('null and undefined inputs', () => {\n expect(() => concatenateTypedArrays(null)).toThrow();\n expect(() => concatenateTypedArrays(undefined)).toThrow();\n });\n\n it('empty input array', () => {\n expect(concatenateTypedArrays([]).byteLength).toEqual(0);\n });\n\n it('Unsupported dtype', () => {\n const x = new Int16Array([0, 1, 1, 0]);\n // tslint:disable-next-line:no-any\n expect(() => concatenateTypedArrays([x as any]))\n .toThrowError(/Unsupported TypedArray subtype: Int16Array/);\n });\n});\n\ndescribeWithFlags('encodeWeights', ALL_ENVS, () => {\n it('Float32 tensors as NamedTensorMap', async () => {\n const tensors: NamedTensorMap = {\n x1: tensor2d([[10, 20], [30, 40]]),\n x2: scalar(42),\n x3: tensor1d([-1.3, -3.7, 1.3, 3.7]),\n };\n const dataAndSpecs = await tf.io.encodeWeights(tensors);\n const data = dataAndSpecs.data;\n const specs = dataAndSpecs.specs;\n expect(data.byteLength).toEqual(4 * (4 + 1 + 4));\n expect(new Float32Array(data, 0, 4)).toEqual(new Float32Array([\n 10, 20, 30, 40\n ]));\n expect(new Float32Array(data, 16, 1)).toEqual(new Float32Array([42]));\n expect(new Float32Array(data, 20, 4)).toEqual(new Float32Array([\n -1.3, -3.7, 1.3, 3.7\n ]));\n expect(specs).toEqual([\n {\n name: 'x1',\n dtype: 'float32',\n shape: [2, 2],\n },\n {\n name: 'x2',\n dtype: 'float32',\n shape: [],\n },\n {\n name: 'x3',\n dtype: 'float32',\n shape: [4],\n }\n ]);\n });\n\n it('Float32 tensors as NamedTensor array', async () => {\n const tensors: NamedTensor[] = [\n {name: 'x1234', tensor: tensor2d([[10, 20], [30, 40]])}, {\n name: 'a42',\n tensor: scalar(42),\n },\n {name: 'b41', tensor: tensor1d([-1.3, -3.7, 1.3, 3.7])}\n ];\n const dataAndSpecs = await tf.io.encodeWeights(tensors);\n const data = dataAndSpecs.data;\n const specs = dataAndSpecs.specs;\n expect(data.byteLength).toEqual(4 * (4 + 1 + 4));\n expect(new Float32Array(data, 0, 4)).toEqual(new Float32Array([\n 10, 20, 30, 40\n ]));\n expect(new Float32Array(data, 16, 1)).toEqual(new Float32Array([42]));\n expect(new Float32Array(data, 20, 4)).toEqual(new Float32Array([\n -1.3, -3.7, 1.3, 3.7\n ]));\n expect(specs).toEqual([\n {\n name: 'x1234',\n dtype: 'float32',\n shape: [2, 2],\n },\n {\n name: 'a42',\n dtype: 'float32',\n shape: [],\n },\n {\n name: 'b41',\n dtype: 'float32',\n shape: [4],\n }\n ]);\n });\n\n it('Empty NamedTensor array', async () => {\n const tensors: NamedTensor[] = [];\n const dataAndSpecs = await tf.io.encodeWeights(tensors);\n const data = dataAndSpecs.data;\n const specs = dataAndSpecs.specs;\n expect(data.byteLength).toEqual(0);\n expect(specs).toEqual([]);\n });\n\n it('Int32 tensors', async () => {\n const tensors: NamedTensorMap = {\n x1: tensor2d([[10, 20], [30, 40]], [2, 2], 'int32'),\n x2: scalar(42, 'int32'),\n x3: tensor1d([-1, -3, -3, -7], 'int32'),\n };\n const dataAndSpecs = await tf.io.encodeWeights(tensors);\n const data = dataAndSpecs.data;\n const specs = dataAndSpecs.specs;\n expect(data.byteLength).toEqual(4 * (4 + 1 + 4));\n expect(new Int32Array(data, 0, 4)).toEqual(new Int32Array([\n 10, 20, 30, 40\n ]));\n expect(new Int32Array(data, 16, 1)).toEqual(new Int32Array([42]));\n expect(new Int32Array(data, 20, 4)).toEqual(new Int32Array([\n -1, -3, -3, -7\n ]));\n expect(specs).toEqual([\n {\n name: 'x1',\n dtype: 'int32',\n shape: [2, 2],\n },\n {\n name: 'x2',\n dtype: 'int32',\n shape: [],\n },\n {\n name: 'x3',\n dtype: 'int32',\n shape: [4],\n }\n ]);\n });\n\n it('Bool tensors', async () => {\n const tensors: NamedTensorMap = {\n x1: tensor2d([[true, false], [false, true]], [2, 2], 'bool'),\n x2: scalar(false, 'bool'),\n x3: tensor1d([false, true, true, false], 'bool'),\n };\n const dataAndSpecs = await tf.io.encodeWeights(tensors);\n const data = dataAndSpecs.data;\n const specs = dataAndSpecs.specs;\n expect(data.byteLength).toEqual(4 + 1 + 4);\n expect(new Uint8Array(data, 0, 4)).toEqual(new Uint8Array([1, 0, 0, 1]));\n expect(new Uint8Array(data, 4, 1)).toEqual(new Uint8Array([0]));\n expect(new Uint8Array(data, 5, 4)).toEqual(new Uint8Array([0, 1, 1, 0]));\n expect(specs).toEqual([\n {\n name: 'x1',\n dtype: 'bool',\n shape: [2, 2],\n },\n {\n name: 'x2',\n dtype: 'bool',\n shape: [],\n },\n {\n name: 'x3',\n dtype: 'bool',\n shape: [4],\n }\n ]);\n });\n\n it('Complex64 tensors', async () => {\n const tensors: NamedTensorMap = {\n x1: tf.complex([1, 2], [1, 2]),\n x2: tf.complex(1, 2),\n x3: tf.complex([[1]], [[2]]),\n };\n const dataAndSpecs = await tf.io.encodeWeights(tensors);\n const data = dataAndSpecs.data;\n const specs = dataAndSpecs.specs;\n expect(data.byteLength).toEqual(8 * 4);\n expect(new Float32Array(data, 0, 4)).toEqual(new Float32Array([\n 1, 1, 2, 2\n ]));\n expect(new Float32Array(data, 16, 2)).toEqual(new Float32Array([1, 2]));\n expect(new Float32Array(data, 24, 2)).toEqual(new Float32Array([1, 2]));\n expect(specs).toEqual([\n {\n name: 'x1',\n dtype: 'complex64',\n shape: [2],\n },\n {\n name: 'x2',\n dtype: 'complex64',\n shape: [],\n },\n {\n name: 'x3',\n dtype: 'complex64',\n shape: [1, 1],\n }\n ]);\n });\n it('String tensors', async () => {\n const tensors: NamedTensorMap = {\n x1: tensor2d([['a', 'bc'], ['def', 'g']], [2, 2]),\n x2: scalar(''), // Empty string.\n x3: tensor1d(['здраво', 'поздрав']), // Cyrillic.\n x4: scalar('正常'), // East Asian.\n x5: scalar('hello') // Single string.\n };\n const dataAndSpecs = await tf.io.encodeWeights(tensors);\n const data = dataAndSpecs.data;\n const specs = dataAndSpecs.specs;\n const x1ByteLength = 7 + 4 * 4; // 7 ascii chars + 4 ints.\n const x2ByteLength = 4; // No chars + 1 int.\n const x3ByteLength = 13 * 2 + 2 * 4; // 13 cyrillic letters + 2 ints.\n const x4ByteLength = 6 + 1 * 4; // 2 east asian letters + 1 int.\n const x5ByteLength = 5 + 1 * 4; // 5 ascii chars + 1 int.\n expect(data.byteLength)\n .toEqual(\n x1ByteLength + x2ByteLength + x3ByteLength + x4ByteLength +\n x5ByteLength);\n // x1 'a'.\n expect(new Uint32Array(data, 0, 1)[0]).toBe(1);\n expect(new Uint8Array(data, 4, 1)).toEqual(encodeString('a'));\n // x1 'bc'.\n expect(new Uint32Array(data.slice(5, 9))[0]).toBe(2);\n expect(new Uint8Array(data, 9, 2)).toEqual(encodeString('bc'));\n // x1 'def'.\n expect(new Uint32Array(data.slice(11, 15))[0]).toBe(3);\n expect(new Uint8Array(data, 15, 3)).toEqual(encodeString('def'));\n // x1 'g'.\n expect(new Uint32Array(data.slice(18, 22))[0]).toBe(1);\n expect(new Uint8Array(data, 22, 1)).toEqual(encodeString('g'));\n\n // x2 is empty string.\n expect(new Uint32Array(data.slice(23, 27))[0]).toBe(0);\n\n // x3 'здраво'.\n expect(new Uint32Array(data.slice(27, 31))[0]).toBe(12);\n expect(new Uint8Array(data, 31, 12)).toEqual(encodeString('здраво'));\n\n // x3 'поздрав'.\n expect(new Uint32Array(data.slice(43, 47))[0]).toBe(14);\n expect(new Uint8Array(data, 47, 14)).toEqual(encodeString('поздрав'));\n\n // x4 '正常'.\n expect(new Uint32Array(data.slice(61, 65))[0]).toBe(6);\n expect(new Uint8Array(data, 65, 6)).toEqual(encodeString('正常'));\n\n // x5 'hello'.\n expect(new Uint32Array(data.slice(71, 75))[0]).toBe(5);\n expect(new Uint8Array(data, 75, 5)).toEqual(encodeString('hello'));\n\n expect(specs).toEqual([\n {name: 'x1', dtype: 'string', shape: [2, 2]},\n {name: 'x2', dtype: 'string', shape: []},\n {name: 'x3', dtype: 'string', shape: [2]},\n {name: 'x4', dtype: 'string', shape: []},\n {name: 'x5', dtype: 'string', shape: []}\n ]);\n });\n\n it('Mixed dtype tensors', async () => {\n const tensors: NamedTensorMap = {\n x1: tensor2d([[10, 20], [30, 40]], [2, 2], 'int32'),\n x2: scalar(13.37, 'float32'),\n x3: tensor1d([true, false, false, true], 'bool'),\n x4: tf.complex([1, 1], [2, 2])\n };\n const dataAndSpecs = await tf.io.encodeWeights(tensors);\n const data = dataAndSpecs.data;\n const specs = dataAndSpecs.specs;\n expect(data.byteLength).toEqual(4 * 4 + 4 * 1 + 1 * 4 + 4 * 4);\n expect(new Int32Array(data, 0, 4)).toEqual(new Int32Array([\n 10, 20, 30, 40\n ]));\n expect(new Float32Array(data, 16, 1)).toEqual(new Float32Array([13.37]));\n expect(new Uint8Array(data, 20, 4)).toEqual(new Uint8Array([1, 0, 0, 1]));\n expect(new Float32Array(data, 24, 4)).toEqual(new Float32Array([\n 1, 2, 1, 2\n ]));\n expect(specs).toEqual([\n {\n name: 'x1',\n dtype: 'int32',\n shape: [2, 2],\n },\n {\n name: 'x2',\n dtype: 'float32',\n shape: [],\n },\n {\n name: 'x3',\n dtype: 'bool',\n shape: [4],\n },\n {\n name: 'x4',\n dtype: 'complex64',\n shape: [2],\n }\n ]);\n });\n});\n\ndescribeWithFlags('decodeWeights', {}, () => {\n it('Mixed dtype tensors', async () => {\n const tensors: NamedTensorMap = {\n x1: tensor2d([[10, 20], [30, 40]], [2, 2], 'int32'),\n x2: scalar(13.37, 'float32'),\n x3: tensor1d([true, false, false], 'bool'),\n x4: tensor2d([['здраво', 'a'], ['b', 'c']], [2, 2], 'string'),\n x5: tensor1d([''], 'string'), // Empty string.\n x6: scalar('hello'), // Single string.\n y1: tensor2d([-10, -20, -30], [3, 1], 'float32'),\n y2: tf.complex([1, 1], [2, 2])\n };\n const dataAndSpecs = await tf.io.encodeWeights(tensors);\n const data = dataAndSpecs.data;\n const specs = dataAndSpecs.specs;\n const decoded = tf.io.decodeWeights(data, specs);\n expect(Object.keys(decoded).length).toEqual(8);\n expectArraysEqual(await decoded['x1'].data(), await tensors['x1'].data());\n expectArraysEqual(await decoded['x2'].data(), await tensors['x2'].data());\n expectArraysEqual(await decoded['x3'].data(), await tensors['x3'].data());\n expectArraysEqual(await decoded['x4'].data(), await tensors['x4'].data());\n expectArraysEqual(await decoded['x5'].data(), await tensors['x5'].data());\n expectArraysEqual(await decoded['x6'].data(), await tensors['x6'].data());\n expectArraysEqual(await decoded['y1'].data(), await tensors['y1'].data());\n expectArraysEqual(await decoded['y2'].data(), await tensors['y2'].data());\n });\n\n it('Unsupported dtype raises Error', () => {\n const buffer = new ArrayBuffer(4);\n // tslint:disable-next-line:no-any\n const specs: any = [\n {\n name: 'x',\n dtype: 'int16',\n shape: [],\n },\n {name: 'y', dtype: 'int16', shape: []}\n ];\n expect(() => tf.io.decodeWeights(buffer, specs))\n .toThrowError(/Unsupported dtype in weight \\'x\\': int16/);\n });\n\n it('support quantization uint8 weights', async () => {\n const manifestSpecs: WeightsManifestEntry[] = [\n {\n 'name': 'weight0',\n 'dtype': 'float32',\n 'shape': [3],\n 'quantization': {'min': -1, 'scale': 0.1, 'dtype': 'uint8'}\n },\n {\n 'name': 'weight1',\n 'dtype': 'int32',\n 'shape': [3],\n 'quantization': {'min': -1, 'scale': 0.1, 'dtype': 'uint8'}\n }\n ];\n const data = new Uint8Array([0, 48, 255, 0, 48, 255]);\n const decoded = tf.io.decodeWeights(data.buffer, manifestSpecs);\n const weight0 = decoded['weight0'];\n expectArraysClose(await weight0.data(), [-1, 3.8, 24.5]);\n expect(weight0.shape).toEqual([3]);\n expect(weight0.dtype).toEqual('float32');\n\n const weight1 = decoded['weight1'];\n expectArraysEqual(await weight1.data(), [-1, 4, 25]);\n expect(weight1.shape).toEqual([3]);\n expect(weight1.dtype).toEqual('int32');\n });\n\n it('support quantization uint16 weights', async () => {\n const manifestSpecs: WeightsManifestEntry[] = [\n {\n 'name': 'weight0',\n 'dtype': 'float32',\n 'shape': [3],\n 'quantization': {'min': -1, 'scale': 0.1, 'dtype': 'uint16'}\n },\n {\n 'name': 'weight1',\n 'dtype': 'int32',\n 'shape': [3],\n 'quantization': {'min': -1, 'scale': 0.1, 'dtype': 'uint16'}\n }\n ];\n const data = new Uint16Array([0, 48, 255, 0, 48, 255]);\n const decoded = tf.io.decodeWeights(data.buffer, manifestSpecs);\n const weight0 = decoded['weight0'];\n expectArraysClose(await weight0.data(), [-1, 3.8, 24.5]);\n expect(weight0.shape).toEqual([3]);\n expect(weight0.dtype).toEqual('float32');\n\n const weight1 = decoded['weight1'];\n expectArraysEqual(await weight1.data(), [-1, 4, 25]);\n expect(weight1.shape).toEqual([3]);\n expect(weight1.dtype).toEqual('int32');\n });\n it('support quantization float16 weights', async () => {\n const manifestSpecs: WeightsManifestEntry[] = [\n {\n name: 'weight0',\n dtype: 'float32',\n shape: [3],\n quantization: { dtype: 'float16' },\n },\n ];\n const data = new Uint16Array([13312, 14336, 14848]);\n const decoded = tf.io.decodeWeights(data.buffer, manifestSpecs);\n const weight0 = decoded['weight0'];\n expectArraysClose(await weight0.data(), [0.25, 0.5, 0.75]);\n expect(weight0.shape).toEqual([3]);\n expect(weight0.dtype).toEqual('float32');\n });\n});\n\ndescribe('stringByteLength', () => {\n it('ASCII only', () => {\n const str = '_Lorem ipsum 1337!';\n expect(stringByteLength(str)).toEqual(str.length);\n });\n\n it('Mixed narrow and wide chars', () => {\n const str = 'aЖ文1';\n expect(stringByteLength(str.slice(0, 1))).toEqual(1);\n expect(stringByteLength(str.slice(0, 2))).toEqual(3);\n expect(stringByteLength(str.slice(0, 3))).toEqual(6);\n expect(stringByteLength(str.slice(0, 4))).toEqual(7);\n });\n});\n\ndescribeWithFlags(\n 'arrayBufferToBase64String-base64StringToArrayBuffer', BROWSER_ENVS, () => {\n it('Round trip', () => {\n // Generate some semi-random binary data.\n const x = [];\n for (let k = 0; k < 2; ++k) {\n for (let i = 0; i < 254; ++i) {\n x.push(i + k);\n }\n for (let i = 254; i >= 0; --i) {\n x.push(i + k);\n }\n }\n const buffer = Uint8Array.from(x).buffer;\n const base64Str = arrayBufferToBase64String(buffer);\n const decoded =\n Array.from(new Uint8Array(base64StringToArrayBuffer(base64Str)));\n expect(decoded).toEqual(x);\n });\n });\n\ndescribe('concatenateArrayBuffers', () => {\n it('Concatenate 3 non-empty ArrayBuffers', () => {\n const buffer1 = new Uint8Array([1, 2, 3]);\n const buffer2 = new Uint8Array([11, 22, 33, 44]);\n const buffer3 = new Uint8Array([111, 222, 100]);\n const out = concatenateArrayBuffers(\n [buffer1.buffer, buffer2.buffer, buffer3.buffer]);\n expect(new Uint8Array(out)).toEqual(new Uint8Array([\n 1, 2, 3, 11, 22, 33, 44, 111, 222, 100\n ]));\n });\n\n it('Concatenate non-empty and empty ArrayBuffers', () => {\n const buffer1 = new Uint8Array([1, 2, 3]);\n const buffer2 = new Uint8Array([11, 22, 33, 44]);\n const buffer3 = new Uint8Array([]);\n const buffer4 = new Uint8Array([150, 100, 50]);\n const out = concatenateArrayBuffers(\n [buffer1.buffer, buffer2.buffer, buffer3.buffer, buffer4.buffer]);\n expect(new Uint8Array(out)).toEqual(new Uint8Array([\n 1, 2, 3, 11, 22, 33, 44, 150, 100, 50\n ]));\n });\n\n it('A single ArrayBuffer', () => {\n const buffer1 = new Uint8Array([1, 3, 3, 7]);\n const out = concatenateArrayBuffers([buffer1.buffer]);\n expect(new Uint8Array(out)).toEqual(buffer1);\n });\n\n it('Zero ArrayBuffers', () => {\n expect(new Uint8Array(concatenateArrayBuffers([])))\n .toEqual(new Uint8Array([]));\n });\n});\n\ndescribe('basename', () => {\n it('Paths without slashes', () => {\n expect(basename('foo.txt')).toEqual('foo.txt');\n expect(basename('bar')).toEqual('bar');\n });\n\n it('Paths with slashes', () => {\n expect(basename('qux/foo.txt')).toEqual('foo.txt');\n expect(basename('qux/My Model.json')).toEqual('My Model.json');\n expect(basename('foo/bar/baz')).toEqual('baz');\n expect(basename('/foo/bar/baz')).toEqual('baz');\n expect(basename('foo/bar/baz/')).toEqual('baz');\n expect(basename('foo/bar/baz//')).toEqual('baz');\n });\n});\n\ndescribe('float16', () => {\n it('decodes NaN to float32 NaN', () => {\n const decoder = getFloat16Decoder();\n const float16NaN = 0x00007e00;\n const buffer = new Uint16Array([float16NaN]);\n const f32 = decoder(buffer);\n expect(f32).toEqual(new Float32Array([NaN]));\n });\n\n it('decodes ±Infinity to float32 ±Infinity', () => {\n const decoder = getFloat16Decoder();\n const positiveInfinity = 0x00007c00;\n const negativeInfinity = 0xfffffc00;\n const buffer = new Uint16Array([positiveInfinity, negativeInfinity]);\n const f32 = decoder(buffer);\n expect(f32).toEqual(new Float32Array([Infinity, -Infinity]));\n });\n\n it('decodes ±0 to float32 ±0', () => {\n const decoder = getFloat16Decoder();\n const positiveZero = 0x00000000;\n const negativeZero = 0xffff8000;\n const buffer = new Uint16Array([positiveZero, negativeZero]);\n const f32 = decoder(buffer);\n expect(f32).toEqual(new Float32Array([0.0, -0.0]));\n });\n\n it('decodes -Infinity on underflow', () => {\n const decoder = getFloat16Decoder();\n const minVal = 0xfffffbff;\n const buffer = new Uint16Array([minVal + 1]);\n const f32 = decoder(buffer);\n expect(f32).toEqual(new Float32Array([-Infinity]));\n });\n\n it('decodes +Infinity on overflow', () => {\n const decoder = getFloat16Decoder();\n const maxVal = 0x00007bff;\n const buffer = new Uint16Array([maxVal + 1]);\n const f32 = decoder(buffer);\n expect(f32).toEqual(new Float32Array([Infinity]));\n });\n\n it('decodes interpretable float16 to float32', () => {\n const decoder = getFloat16Decoder();\n const buffer = new Uint16Array([\n 0x00003400,\n 0x00003800,\n 0x00003A00,\n 0x00003555\n ]);\n const f32 = decoder(buffer);\n expect(f32[0]).toBeCloseTo(0.25);\n expect(f32[1]).toBeCloseTo(0.5);\n expect(f32[2]).toBeCloseTo(0.75);\n expect(f32[3]).toBeCloseTo(0.333);\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"io_utils_test.js","sourceRoot":"","sources":["../../src/io/io_utils_test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/local_storage.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/local_storage.js.map index 77d2a870b..65f7021d2 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/local_storage.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/local_storage.js.map @@ -1 +1 @@ -{"version":3,"file":"local_storage.js","sourceRoot":"","sources":["../../src/io/local_storage.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\nimport '../flags';\nimport {env} from '../environment';\n\nimport {assert} from '../util';\nimport {arrayBufferToBase64String, base64StringToArrayBuffer, getModelArtifactsInfoForJSON} from './io_utils';\nimport {IORouter, IORouterRegistry} from './router_registry';\nimport {IOHandler, ModelArtifacts, ModelArtifactsInfo, ModelStoreManager, SaveResult} from './types';\n\nconst PATH_SEPARATOR = '/';\nconst PATH_PREFIX = 'tensorflowjs_models';\nconst INFO_SUFFIX = 'info';\nconst MODEL_TOPOLOGY_SUFFIX = 'model_topology';\nconst WEIGHT_SPECS_SUFFIX = 'weight_specs';\nconst WEIGHT_DATA_SUFFIX = 'weight_data';\nconst MODEL_METADATA_SUFFIX = 'model_metadata';\n\n/**\n * Purge all tensorflow.js-saved model artifacts from local storage.\n *\n * @returns Paths of the models purged.\n */\nexport function purgeLocalStorageArtifacts(): string[] {\n if (!env().getBool('IS_BROWSER') || typeof window === 'undefined' ||\n typeof window.localStorage === 'undefined') {\n throw new Error(\n 'purgeLocalStorageModels() cannot proceed because local storage is ' +\n 'unavailable in the current environment.');\n }\n const LS = window.localStorage;\n const purgedModelPaths: string[] = [];\n for (let i = 0; i < LS.length; ++i) {\n const key = LS.key(i);\n const prefix = PATH_PREFIX + PATH_SEPARATOR;\n if (key.startsWith(prefix) && key.length > prefix.length) {\n LS.removeItem(key);\n const modelName = getModelPathFromKey(key);\n if (purgedModelPaths.indexOf(modelName) === -1) {\n purgedModelPaths.push(modelName);\n }\n }\n }\n return purgedModelPaths;\n}\n\nfunction getModelKeys(path: string): {\n info: string,\n topology: string,\n weightSpecs: string,\n weightData: string,\n modelMetadata: string\n} {\n return {\n info: [PATH_PREFIX, path, INFO_SUFFIX].join(PATH_SEPARATOR),\n topology: [PATH_PREFIX, path, MODEL_TOPOLOGY_SUFFIX].join(PATH_SEPARATOR),\n weightSpecs: [PATH_PREFIX, path, WEIGHT_SPECS_SUFFIX].join(PATH_SEPARATOR),\n weightData: [PATH_PREFIX, path, WEIGHT_DATA_SUFFIX].join(PATH_SEPARATOR),\n modelMetadata:\n [PATH_PREFIX, path, MODEL_METADATA_SUFFIX].join(PATH_SEPARATOR)\n };\n}\n\n/**\n * Get model path from a local-storage key.\n *\n * E.g., 'tensorflowjs_models/my/model/1/info' --> 'my/model/1'\n *\n * @param key\n */\nfunction getModelPathFromKey(key: string) {\n const items = key.split(PATH_SEPARATOR);\n if (items.length < 3) {\n throw new Error(`Invalid key format: ${key}`);\n }\n return items.slice(1, items.length - 1).join(PATH_SEPARATOR);\n}\n\nfunction maybeStripScheme(key: string) {\n return key.startsWith(BrowserLocalStorage.URL_SCHEME) ?\n key.slice(BrowserLocalStorage.URL_SCHEME.length) :\n key;\n}\n\ndeclare type LocalStorageKeys = {\n info: string,\n topology: string,\n weightSpecs: string,\n weightData: string,\n modelMetadata: string\n};\n\n/**\n * IOHandler subclass: Browser Local Storage.\n *\n * See the doc string to `browserLocalStorage` for more details.\n */\nexport class BrowserLocalStorage implements IOHandler {\n protected readonly LS: Storage;\n protected readonly modelPath: string;\n protected readonly keys: LocalStorageKeys;\n\n static readonly URL_SCHEME = 'localstorage://';\n\n constructor(modelPath: string) {\n if (!env().getBool('IS_BROWSER') || typeof window === 'undefined' ||\n typeof window.localStorage === 'undefined') {\n // TODO(cais): Add more info about what IOHandler subtypes are\n // available.\n // Maybe point to a doc page on the web and/or automatically determine\n // the available IOHandlers and print them in the error message.\n throw new Error(\n 'The current environment does not support local storage.');\n }\n this.LS = window.localStorage;\n\n if (modelPath == null || !modelPath) {\n throw new Error(\n 'For local storage, modelPath must not be null, undefined or empty.');\n }\n this.modelPath = modelPath;\n this.keys = getModelKeys(this.modelPath);\n }\n\n /**\n * Save model artifacts to browser local storage.\n *\n * See the documentation to `browserLocalStorage` for details on the saved\n * artifacts.\n *\n * @param modelArtifacts The model artifacts to be stored.\n * @returns An instance of SaveResult.\n */\n async save(modelArtifacts: ModelArtifacts): Promise {\n if (modelArtifacts.modelTopology instanceof ArrayBuffer) {\n throw new Error(\n 'BrowserLocalStorage.save() does not support saving model topology ' +\n 'in binary formats yet.');\n } else {\n const topology = JSON.stringify(modelArtifacts.modelTopology);\n const weightSpecs = JSON.stringify(modelArtifacts.weightSpecs);\n\n const modelArtifactsInfo: ModelArtifactsInfo =\n getModelArtifactsInfoForJSON(modelArtifacts);\n\n try {\n this.LS.setItem(this.keys.info, JSON.stringify(modelArtifactsInfo));\n this.LS.setItem(this.keys.topology, topology);\n this.LS.setItem(this.keys.weightSpecs, weightSpecs);\n this.LS.setItem(\n this.keys.weightData,\n arrayBufferToBase64String(modelArtifacts.weightData));\n const result: ModelArtifacts = {\n format: modelArtifacts.format,\n generatedBy: modelArtifacts.generatedBy,\n convertedBy: modelArtifacts.convertedBy\n };\n if (modelArtifacts.signature != null) {\n result.signature = modelArtifacts.signature;\n }\n if (modelArtifacts.userDefinedMetadata != null) {\n result.userDefinedMetadata = modelArtifacts.userDefinedMetadata;\n }\n if (modelArtifacts.modelInitializer != null) {\n result.modelInitializer = modelArtifacts.modelInitializer;\n }\n this.LS.setItem(this.keys.modelMetadata, JSON.stringify(result));\n\n return {modelArtifactsInfo};\n } catch (err) {\n // If saving failed, clean up all items saved so far.\n this.LS.removeItem(this.keys.info);\n this.LS.removeItem(this.keys.topology);\n this.LS.removeItem(this.keys.weightSpecs);\n this.LS.removeItem(this.keys.weightData);\n this.LS.removeItem(this.keys.modelMetadata);\n\n throw new Error(\n `Failed to save model '${this.modelPath}' to local storage: ` +\n `size quota being exceeded is a possible cause of this failure: ` +\n `modelTopologyBytes=${modelArtifactsInfo.modelTopologyBytes}, ` +\n `weightSpecsBytes=${modelArtifactsInfo.weightSpecsBytes}, ` +\n `weightDataBytes=${modelArtifactsInfo.weightDataBytes}.`);\n }\n }\n }\n\n /**\n * Load a model from local storage.\n *\n * See the documentation to `browserLocalStorage` for details on the saved\n * artifacts.\n *\n * @returns The loaded model (if loading succeeds).\n */\n async load(): Promise {\n const info =\n JSON.parse(this.LS.getItem(this.keys.info)) as ModelArtifactsInfo;\n if (info == null) {\n throw new Error(\n `In local storage, there is no model with name '${this.modelPath}'`);\n }\n\n if (info.modelTopologyType !== 'JSON') {\n throw new Error(\n 'BrowserLocalStorage does not support loading non-JSON model ' +\n 'topology yet.');\n }\n\n const out: ModelArtifacts = {};\n\n // Load topology.\n const topology = JSON.parse(this.LS.getItem(this.keys.topology));\n if (topology == null) {\n throw new Error(\n `In local storage, the topology of model '${this.modelPath}' ` +\n `is missing.`);\n }\n out.modelTopology = topology;\n\n // Load weight specs.\n const weightSpecs = JSON.parse(this.LS.getItem(this.keys.weightSpecs));\n if (weightSpecs == null) {\n throw new Error(\n `In local storage, the weight specs of model '${this.modelPath}' ` +\n `are missing.`);\n }\n out.weightSpecs = weightSpecs;\n\n // Load meta-data fields.\n const metadataString = this.LS.getItem(this.keys.modelMetadata);\n if (metadataString != null) {\n const metadata = JSON.parse(metadataString) as ModelArtifacts;\n out.format = metadata['format'];\n out.generatedBy = metadata['generatedBy'];\n out.convertedBy = metadata['convertedBy'];\n if (metadata['signature'] != null) {\n out.signature = metadata['signature'];\n }\n if (metadata['userDefinedMetadata'] != null) {\n out.userDefinedMetadata = metadata['userDefinedMetadata'];\n }\n if (metadata['modelInitializer'] != null) {\n out.modelInitializer = metadata['modelInitializer'];\n }\n }\n\n // Load weight data.\n const weightDataBase64 = this.LS.getItem(this.keys.weightData);\n if (weightDataBase64 == null) {\n throw new Error(\n `In local storage, the binary weight values of model ` +\n `'${this.modelPath}' are missing.`);\n }\n out.weightData = base64StringToArrayBuffer(weightDataBase64);\n\n return out;\n }\n}\n\nexport const localStorageRouter: IORouter = (url: string|string[]) => {\n if (!env().getBool('IS_BROWSER')) {\n return null;\n } else {\n if (!Array.isArray(url) && url.startsWith(BrowserLocalStorage.URL_SCHEME)) {\n return browserLocalStorage(\n url.slice(BrowserLocalStorage.URL_SCHEME.length));\n } else {\n return null;\n }\n }\n};\nIORouterRegistry.registerSaveRouter(localStorageRouter);\nIORouterRegistry.registerLoadRouter(localStorageRouter);\n\n/**\n * Factory function for local storage IOHandler.\n *\n * This `IOHandler` supports both `save` and `load`.\n *\n * For each model's saved artifacts, four items are saved to local storage.\n * - `${PATH_SEPARATOR}/${modelPath}/info`: Contains meta-info about the\n * model, such as date saved, type of the topology, size in bytes, etc.\n * - `${PATH_SEPARATOR}/${modelPath}/topology`: Model topology. For Keras-\n * style models, this is a stringized JSON.\n * - `${PATH_SEPARATOR}/${modelPath}/weight_specs`: Weight specs of the\n * model, can be used to decode the saved binary weight values (see\n * item below).\n * - `${PATH_SEPARATOR}/${modelPath}/weight_data`: Concatenated binary\n * weight values, stored as a base64-encoded string.\n *\n * Saving may throw an `Error` if the total size of the artifacts exceed the\n * browser-specific quota.\n *\n * @param modelPath A unique identifier for the model to be saved. Must be a\n * non-empty string.\n * @returns An instance of `IOHandler`, which can be used with, e.g.,\n * `tf.Model.save`.\n */\nexport function browserLocalStorage(modelPath: string): IOHandler {\n return new BrowserLocalStorage(modelPath);\n}\n\nexport class BrowserLocalStorageManager implements ModelStoreManager {\n private readonly LS: Storage;\n\n constructor() {\n assert(\n env().getBool('IS_BROWSER'),\n () => 'Current environment is not a web browser');\n assert(\n typeof window === 'undefined' ||\n typeof window.localStorage !== 'undefined',\n () => 'Current browser does not appear to support localStorage');\n this.LS = window.localStorage;\n }\n\n async listModels(): Promise<{[path: string]: ModelArtifactsInfo}> {\n const out: {[path: string]: ModelArtifactsInfo} = {};\n const prefix = PATH_PREFIX + PATH_SEPARATOR;\n const suffix = PATH_SEPARATOR + INFO_SUFFIX;\n for (let i = 0; i < this.LS.length; ++i) {\n const key = this.LS.key(i);\n if (key.startsWith(prefix) && key.endsWith(suffix)) {\n const modelPath = getModelPathFromKey(key);\n out[modelPath] = JSON.parse(this.LS.getItem(key)) as ModelArtifactsInfo;\n }\n }\n return out;\n }\n\n async removeModel(path: string): Promise {\n path = maybeStripScheme(path);\n const keys = getModelKeys(path);\n if (this.LS.getItem(keys.info) == null) {\n throw new Error(`Cannot find model at path '${path}'`);\n }\n const info = JSON.parse(this.LS.getItem(keys.info)) as ModelArtifactsInfo;\n\n this.LS.removeItem(keys.info);\n this.LS.removeItem(keys.topology);\n this.LS.removeItem(keys.weightSpecs);\n this.LS.removeItem(keys.weightData);\n return info;\n }\n}\n"]} \ No newline at end of file +{"version":3,"file":"local_storage.js","sourceRoot":"","sources":["../../src/io/local_storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,UAAU,CAAC;AAClB,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AAEnC,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAC,yBAAyB,EAAE,yBAAyB,EAAE,4BAA4B,EAAC,MAAM,YAAY,CAAC;AAC9G,OAAO,EAAW,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAG7D,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAC1C,MAAM,WAAW,GAAG,MAAM,CAAC;AAC3B,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAC/C,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAC3C,MAAM,kBAAkB,GAAG,aAAa,CAAC;AACzC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAE/C;;;;GAIG;AACH,MAAM,UAAU,0BAA0B;IACxC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,OAAO,MAAM,KAAK,WAAW;QAC7D,OAAO,MAAM,CAAC,YAAY,KAAK,WAAW,EAAE;QAC9C,MAAM,IAAI,KAAK,CACX,oEAAoE;YACpE,yCAAyC,CAAC,CAAC;KAChD;IACD,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC;IAC/B,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QAClC,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,WAAW,GAAG,cAAc,CAAC;QAC5C,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE;YACxD,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC9C,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAClC;SACF;KACF;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAOhC,OAAO;QACL,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QAC3D,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QACzE,WAAW,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QAC1E,UAAU,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QACxE,aAAa,EACT,CAAC,WAAW,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;KACpE,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;KAC/C;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,OAAO,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;QACnD,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAClD,GAAG,CAAC;AACV,CAAC;AAUD;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IAO9B,YAAY,SAAiB;QAC3B,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,OAAO,MAAM,KAAK,WAAW;YAC7D,OAAO,MAAM,CAAC,YAAY,KAAK,WAAW,EAAE;YAC9C,8DAA8D;YAC9D,aAAa;YACb,wEAAwE;YACxE,kEAAkE;YAClE,MAAM,IAAI,KAAK,CACX,yDAAyD,CAAC,CAAC;SAChE;QACD,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC;QAE9B,IAAI,SAAS,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;YACnC,MAAM,IAAI,KAAK,CACX,oEAAoE,CAAC,CAAC;SAC3E;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,CAAC,cAA8B;QACvC,IAAI,cAAc,CAAC,aAAa,YAAY,WAAW,EAAE;YACvD,MAAM,IAAI,KAAK,CACX,oEAAoE;gBACpE,wBAAwB,CAAC,CAAC;SAC/B;aAAM;YACL,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAE/D,MAAM,kBAAkB,GACpB,4BAA4B,CAAC,cAAc,CAAC,CAAC;YAEjD,IAAI;gBACF,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACpE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC9C,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBACpD,IAAI,CAAC,EAAE,CAAC,OAAO,CACX,IAAI,CAAC,IAAI,CAAC,UAAU,EACpB,yBAAyB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC1D,MAAM,MAAM,GAAmB;oBAC7B,MAAM,EAAE,cAAc,CAAC,MAAM;oBAC7B,WAAW,EAAE,cAAc,CAAC,WAAW;oBACvC,WAAW,EAAE,cAAc,CAAC,WAAW;iBACxC,CAAC;gBACF,IAAI,cAAc,CAAC,SAAS,IAAI,IAAI,EAAE;oBACpC,MAAM,CAAC,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC;iBAC7C;gBACD,IAAI,cAAc,CAAC,mBAAmB,IAAI,IAAI,EAAE;oBAC9C,MAAM,CAAC,mBAAmB,GAAG,cAAc,CAAC,mBAAmB,CAAC;iBACjE;gBACD,IAAI,cAAc,CAAC,gBAAgB,IAAI,IAAI,EAAE;oBAC3C,MAAM,CAAC,gBAAgB,GAAG,cAAc,CAAC,gBAAgB,CAAC;iBAC3D;gBACD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;gBAEjE,OAAO,EAAC,kBAAkB,EAAC,CAAC;aAC7B;YAAC,OAAO,GAAG,EAAE;gBACZ,qDAAqD;gBACrD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAE5C,MAAM,IAAI,KAAK,CACX,yBAAyB,IAAI,CAAC,SAAS,sBAAsB;oBAC7D,iEAAiE;oBACjE,sBAAsB,kBAAkB,CAAC,kBAAkB,IAAI;oBAC/D,oBAAoB,kBAAkB,CAAC,gBAAgB,IAAI;oBAC3D,mBAAmB,kBAAkB,CAAC,eAAe,GAAG,CAAC,CAAC;aAC/D;SACF;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,GACN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAuB,CAAC;QACtE,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,MAAM,IAAI,KAAK,CACX,kDAAkD,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;SAC1E;QAED,IAAI,IAAI,CAAC,iBAAiB,KAAK,MAAM,EAAE;YACrC,MAAM,IAAI,KAAK,CACX,8DAA8D;gBAC9D,eAAe,CAAC,CAAC;SACtB;QAED,MAAM,GAAG,GAAmB,EAAE,CAAC;QAE/B,iBAAiB;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjE,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,MAAM,IAAI,KAAK,CACX,4CAA4C,IAAI,CAAC,SAAS,IAAI;gBAC9D,aAAa,CAAC,CAAC;SACpB;QACD,GAAG,CAAC,aAAa,GAAG,QAAQ,CAAC;QAE7B,qBAAqB;QACrB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACvE,IAAI,WAAW,IAAI,IAAI,EAAE;YACvB,MAAM,IAAI,KAAK,CACX,gDAAgD,IAAI,CAAC,SAAS,IAAI;gBAClE,cAAc,CAAC,CAAC;SACrB;QACD,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QAE9B,yBAAyB;QACzB,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChE,IAAI,cAAc,IAAI,IAAI,EAAE;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAmB,CAAC;YAC9D,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAChC,GAAG,CAAC,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC1C,GAAG,CAAC,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC1C,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE;gBACjC,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;aACvC;YACD,IAAI,QAAQ,CAAC,qBAAqB,CAAC,IAAI,IAAI,EAAE;gBAC3C,GAAG,CAAC,mBAAmB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC;aAC3D;YACD,IAAI,QAAQ,CAAC,kBAAkB,CAAC,IAAI,IAAI,EAAE;gBACxC,GAAG,CAAC,gBAAgB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;aACrD;SACF;QAED,oBAAoB;QACpB,MAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,gBAAgB,IAAI,IAAI,EAAE;YAC5B,MAAM,IAAI,KAAK,CACX,sDAAsD;gBACtD,IAAI,IAAI,CAAC,SAAS,gBAAgB,CAAC,CAAC;SACzC;QACD,GAAG,CAAC,UAAU,GAAG,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;QAE7D,OAAO,GAAG,CAAC;IACb,CAAC;;AA3Je,8BAAU,GAAG,iBAAiB,CAAC;AA8JjD,MAAM,CAAC,MAAM,kBAAkB,GAAa,CAAC,GAAoB,EAAE,EAAE;IACnE,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QAChC,OAAO,IAAI,CAAC;KACb;SAAM;QACL,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE;YACzE,OAAO,mBAAmB,CACtB,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;SACvD;aAAM;YACL,OAAO,IAAI,CAAC;SACb;KACF;AACH,CAAC,CAAC;AACF,gBAAgB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;AACxD,gBAAgB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAO,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,OAAO,0BAA0B;IAGrC;QACE,MAAM,CACF,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,EAC3B,GAAG,EAAE,CAAC,0CAA0C,CAAC,CAAC;QACtD,MAAM,CACF,OAAO,MAAM,KAAK,WAAW;YACzB,OAAO,MAAM,CAAC,YAAY,KAAK,WAAW,EAC9C,GAAG,EAAE,CAAC,yDAAyD,CAAC,CAAC;QACrE,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,GAAG,GAAyC,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,WAAW,GAAG,cAAc,CAAC;QAC5C,MAAM,MAAM,GAAG,cAAc,GAAG,WAAW,CAAC;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACvC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAClD,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAC3C,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAuB,CAAC;aACzE;SACF;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,GAAG,CAAC,CAAC;SACxD;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAuB,CAAC;QAE1E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;CACF"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/local_storage_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/local_storage_test.js.map index 445599fdf..aeb32d074 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/local_storage_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/local_storage_test.js.map @@ -1 +1 @@ -{"version":3,"file":"local_storage_test.js","sourceRoot":"","sources":["../../src/io/local_storage_test.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\nimport * as tf from '../index';\nimport {BROWSER_ENVS, describeWithFlags} from '../jasmine_util';\nimport {arrayBufferToBase64String, base64StringToArrayBuffer} from './io_utils';\nimport {browserLocalStorage, BrowserLocalStorage, BrowserLocalStorageManager, localStorageRouter, purgeLocalStorageArtifacts} from './local_storage';\n\ndescribeWithFlags('LocalStorage', BROWSER_ENVS, () => {\n // Test data.\n const modelTopology1: {} = {\n 'class_name': 'Sequential',\n 'keras_version': '2.1.4',\n 'config': [{\n 'class_name': 'Dense',\n 'config': {\n 'kernel_initializer': {\n 'class_name': 'VarianceScaling',\n 'config': {\n 'distribution': 'uniform',\n 'scale': 1.0,\n 'seed': null,\n 'mode': 'fan_avg'\n }\n },\n 'name': 'dense',\n 'kernel_constraint': null,\n 'bias_regularizer': null,\n 'bias_constraint': null,\n 'dtype': 'float32',\n 'activation': 'linear',\n 'trainable': true,\n 'kernel_regularizer': null,\n 'bias_initializer': {'class_name': 'Zeros', 'config': {}},\n 'units': 1,\n 'batch_input_shape': [null, 3],\n 'use_bias': true,\n 'activity_regularizer': null\n }\n }],\n 'backend': 'tensorflow'\n };\n const weightSpecs1: tf.io.WeightsManifestEntry[] = [\n {\n name: 'dense/kernel',\n shape: [3, 1],\n dtype: 'float32',\n },\n {\n name: 'dense/bias',\n shape: [1],\n dtype: 'float32',\n }\n ];\n const weightData1 = new ArrayBuffer(16);\n\n const artifacts1: tf.io.ModelArtifacts = {\n modelTopology: modelTopology1,\n weightSpecs: weightSpecs1,\n weightData: weightData1,\n format: 'layers-model',\n generatedBy: 'TensorFlow.js v0.0.0',\n convertedBy: '1.13.1',\n signature: null,\n userDefinedMetadata: {},\n modelInitializer: {}\n };\n\n const artifactsV0: tf.io.ModelArtifacts = {\n modelTopology: modelTopology1,\n weightSpecs: weightSpecs1,\n weightData: weightData1\n };\n\n function findOverflowingByteSize(): number {\n const LS = window.localStorage;\n const probeKey =\n `tfjs_test_probe_values_${new Date().getTime()}_${Math.random()}`;\n const minKilobytes = 200;\n const stepKilobytes = 200;\n const maxKilobytes = 40000;\n for (let kilobytes = minKilobytes; kilobytes < maxKilobytes;\n kilobytes += stepKilobytes) {\n const bytes = kilobytes * 1024;\n const data = new ArrayBuffer(bytes);\n try {\n const encoded = arrayBufferToBase64String(data);\n LS.setItem(probeKey, encoded);\n } catch (err) {\n return bytes;\n }\n LS.removeItem(probeKey);\n }\n throw new Error(\n `Unable to determined overflowing byte size up to ${maxKilobytes} kB.`);\n }\n\n beforeEach(() => {\n purgeLocalStorageArtifacts();\n });\n\n afterEach(() => {\n purgeLocalStorageArtifacts();\n });\n\n it('Save artifacts succeeds', done => {\n const testStartDate = new Date();\n const handler = tf.io.getSaveHandlers('localstorage://foo/FooModel')[0];\n handler.save(artifacts1)\n .then(saveResult => {\n expect(saveResult.modelArtifactsInfo.dateSaved.getTime())\n .toBeGreaterThanOrEqual(testStartDate.getTime());\n // Note: The following two assertions work only because there is no\n // non-ASCII characters in `modelTopology1` and `weightSpecs1`.\n expect(saveResult.modelArtifactsInfo.modelTopologyBytes)\n .toEqual(JSON.stringify(modelTopology1).length);\n expect(saveResult.modelArtifactsInfo.weightSpecsBytes)\n .toEqual(JSON.stringify(weightSpecs1).length);\n expect(saveResult.modelArtifactsInfo.weightDataBytes).toEqual(16);\n\n // Check the content of the saved items in local storage.\n const LS = window.localStorage;\n const info =\n JSON.parse(LS.getItem('tensorflowjs_models/foo/FooModel/info'));\n expect(Date.parse(info.dateSaved))\n .toEqual(saveResult.modelArtifactsInfo.dateSaved.getTime());\n expect(info.modelTopologyBytes)\n .toEqual(saveResult.modelArtifactsInfo.modelTopologyBytes);\n expect(info.weightSpecsBytes)\n .toEqual(saveResult.modelArtifactsInfo.weightSpecsBytes);\n expect(info.weightDataBytes)\n .toEqual(saveResult.modelArtifactsInfo.weightDataBytes);\n\n const topologyString =\n LS.getItem('tensorflowjs_models/foo/FooModel/model_topology');\n expect(JSON.stringify(modelTopology1)).toEqual(topologyString);\n\n const weightSpecsString =\n LS.getItem('tensorflowjs_models/foo/FooModel/weight_specs');\n expect(JSON.stringify(weightSpecs1)).toEqual(weightSpecsString);\n\n const weightDataBase64String =\n LS.getItem('tensorflowjs_models/foo/FooModel/weight_data');\n expect(base64StringToArrayBuffer(weightDataBase64String))\n .toEqual(weightData1);\n\n done();\n })\n .catch(err => {\n console.error(err.stack);\n });\n });\n\n it('Save-load round trip succeeds', async () => {\n const handler1 = tf.io.getSaveHandlers('localstorage://FooModel')[0];\n\n await handler1.save(artifacts1);\n const handler2 = tf.io.getLoadHandlers('localstorage://FooModel')[0];\n const loaded = await handler2.load();\n expect(loaded.modelTopology).toEqual(modelTopology1);\n expect(loaded.weightSpecs).toEqual(weightSpecs1);\n expect(loaded.weightData).toEqual(weightData1);\n expect(loaded.format).toEqual('layers-model');\n expect(loaded.generatedBy).toEqual('TensorFlow.js v0.0.0');\n expect(loaded.convertedBy).toEqual('1.13.1');\n expect(loaded.userDefinedMetadata).toEqual({});\n expect(loaded.modelInitializer).toEqual({});\n });\n\n it('Save-load round trip succeeds: v0 format', async () => {\n const handler1 = tf.io.getSaveHandlers('localstorage://FooModel')[0];\n\n await handler1.save(artifactsV0);\n const handler2 = tf.io.getLoadHandlers('localstorage://FooModel')[0];\n const loaded = await handler2.load();\n expect(loaded.modelTopology).toEqual(modelTopology1);\n expect(loaded.weightSpecs).toEqual(weightSpecs1);\n expect(loaded.weightData).toEqual(weightData1);\n expect(loaded.format).toBeUndefined();\n expect(loaded.generatedBy).toBeUndefined();\n expect(loaded.convertedBy).toBeUndefined();\n expect(loaded.userDefinedMetadata).toBeUndefined();\n });\n\n it('Loading nonexistent model fails.', done => {\n const handler = tf.io.getSaveHandlers('localstorage://NonexistentModel')[0];\n handler.load()\n .then(artifacts => {\n fail('Loading nonexistent model succeeded unexpectedly.');\n })\n .catch(err => {\n expect(err.message)\n .toEqual(\n 'In local storage, there is no model with name ' +\n '\\'NonexistentModel\\'');\n done();\n });\n });\n\n it('Loading model with missing topology fails.', done => {\n const handler1 = tf.io.getSaveHandlers('localstorage://FooModel')[0];\n handler1.save(artifacts1)\n .then(saveResult => {\n // Manually remove the topology item from local storage.\n window.localStorage.removeItem(\n 'tensorflowjs_models/FooModel/model_topology');\n\n const handler2 = tf.io.getLoadHandlers('localstorage://FooModel')[0];\n handler2.load()\n .then(artifacts => {\n fail(\n 'Loading of model with missing topology succeeded ' +\n 'unexpectedly.');\n })\n .catch(err => {\n expect(err.message)\n .toEqual(\n 'In local storage, the topology of model ' +\n '\\'FooModel\\' is missing.');\n done();\n });\n })\n .catch(err => {\n console.error(err.stack);\n });\n });\n\n it('Loading model with missing weight specs fails.', done => {\n const handler1 = tf.io.getSaveHandlers('localstorage://FooModel')[0];\n handler1.save(artifacts1)\n .then(saveResult => {\n // Manually remove the weight specs item from local storage.\n window.localStorage.removeItem(\n 'tensorflowjs_models/FooModel/weight_specs');\n\n const handler2 = tf.io.getLoadHandlers('localstorage://FooModel')[0];\n handler2.load()\n .then(artifacts => {\n fail(\n 'Loading of model with missing weight specs succeeded ' +\n 'unexpectedly.');\n })\n .catch(err => {\n expect(err.message)\n .toEqual(\n 'In local storage, the weight specs of model ' +\n '\\'FooModel\\' are missing.');\n done();\n });\n })\n .catch(err => {\n console.error(err.stack);\n });\n });\n\n it('Loading model with missing weight data fails.', done => {\n const handler1 = tf.io.getSaveHandlers('localstorage://FooModel')[0];\n handler1.save(artifacts1)\n .then(saveResult => {\n // Manually remove the weight data item from local storage.\n window.localStorage.removeItem(\n 'tensorflowjs_models/FooModel/weight_data');\n\n const handler2 = tf.io.getLoadHandlers('localstorage://FooModel')[0];\n handler2.load()\n .then(artifacts => {\n fail(\n 'Loading of model with missing weight data succeeded ' +\n 'unexpectedly.');\n })\n .catch(err => {\n expect(err.message)\n .toEqual(\n 'In local storage, the binary weight values of model ' +\n '\\'FooModel\\' are missing.');\n done();\n });\n })\n .catch(err => {\n console.error(err.stack);\n });\n });\n\n it('Data size too large leads to error thrown', done => {\n const overflowByteSize = findOverflowingByteSize();\n const overflowArtifacts: tf.io.ModelArtifacts = {\n modelTopology: modelTopology1,\n weightSpecs: weightSpecs1,\n weightData: new ArrayBuffer(overflowByteSize),\n };\n const handler1 = tf.io.getSaveHandlers('localstorage://FooModel')[0];\n handler1.save(overflowArtifacts)\n .then(saveResult => {\n fail(\n 'Saving of model of overflowing-size weight data succeeded ' +\n 'unexpectedly.');\n })\n .catch(err => {\n expect((err.message as string)\n .indexOf(\n 'Failed to save model \\'FooModel\\' to local storage'))\n .toEqual(0);\n done();\n });\n });\n\n it('Null, undefined or empty modelPath throws Error', () => {\n expect(() => browserLocalStorage(null))\n .toThrowError(\n /local storage, modelPath must not be null, undefined or empty/);\n expect(() => browserLocalStorage(undefined))\n .toThrowError(\n /local storage, modelPath must not be null, undefined or empty/);\n expect(() => browserLocalStorage(''))\n .toThrowError(\n /local storage, modelPath must not be null, undefined or empty./);\n });\n\n it('router', () => {\n expect(\n localStorageRouter('localstorage://bar') instanceof BrowserLocalStorage)\n .toEqual(true);\n expect(localStorageRouter('indexeddb://bar')).toBeNull();\n expect(localStorageRouter('qux')).toBeNull();\n });\n\n it('Manager: List models: 0 result', done => {\n // Before any model is saved, listModels should return empty result.\n new BrowserLocalStorageManager()\n .listModels()\n .then(out => {\n expect(out).toEqual({});\n done();\n })\n .catch(err => done.fail(err.stack));\n });\n\n it('Manager: List models: 1 result', done => {\n const handler = tf.io.getSaveHandlers('localstorage://baz/QuxModel')[0];\n handler.save(artifacts1)\n .then(saveResult => {\n // After successful saving, there should be one model.\n new BrowserLocalStorageManager()\n .listModels()\n .then(out => {\n expect(Object.keys(out).length).toEqual(1);\n expect(out['baz/QuxModel'].modelTopologyType)\n .toEqual(saveResult.modelArtifactsInfo.modelTopologyType);\n expect(out['baz/QuxModel'].modelTopologyBytes)\n .toEqual(saveResult.modelArtifactsInfo.modelTopologyBytes);\n expect(out['baz/QuxModel'].weightSpecsBytes)\n .toEqual(saveResult.modelArtifactsInfo.weightSpecsBytes);\n expect(out['baz/QuxModel'].weightDataBytes)\n .toEqual(saveResult.modelArtifactsInfo.weightDataBytes);\n done();\n })\n .catch(err => done.fail(err.stack));\n })\n .catch(err => done.fail(err.stack));\n });\n\n it('Manager: List models: 2 results', done => {\n // First, save a model.\n const handler1 = tf.io.getSaveHandlers('localstorage://QuxModel')[0];\n handler1.save(artifacts1)\n .then(saveResult1 => {\n // Then, save the model under another path.\n const handler2 =\n tf.io.getSaveHandlers('localstorage://repeat/QuxModel')[0];\n handler2.save(artifacts1)\n .then(saveResult2 => {\n // After successful saving, there should be two models.\n new BrowserLocalStorageManager()\n .listModels()\n .then(out => {\n expect(Object.keys(out).length).toEqual(2);\n expect(out['QuxModel'].modelTopologyType)\n .toEqual(\n saveResult1.modelArtifactsInfo.modelTopologyType);\n expect(out['QuxModel'].modelTopologyBytes)\n .toEqual(saveResult1.modelArtifactsInfo\n .modelTopologyBytes);\n expect(out['QuxModel'].weightSpecsBytes)\n .toEqual(\n saveResult1.modelArtifactsInfo.weightSpecsBytes);\n expect(out['QuxModel'].weightDataBytes)\n .toEqual(\n saveResult1.modelArtifactsInfo.weightDataBytes);\n expect(out['repeat/QuxModel'].modelTopologyType)\n .toEqual(\n saveResult2.modelArtifactsInfo.modelTopologyType);\n expect(out['repeat/QuxModel'].modelTopologyBytes)\n .toEqual(saveResult2.modelArtifactsInfo\n .modelTopologyBytes);\n expect(out['repeat/QuxModel'].weightSpecsBytes)\n .toEqual(\n saveResult2.modelArtifactsInfo.weightSpecsBytes);\n expect(out['repeat/QuxModel'].weightDataBytes)\n .toEqual(\n saveResult2.modelArtifactsInfo.weightDataBytes);\n done();\n })\n .catch(err => done.fail(err.stack));\n })\n .catch(err => done.fail(err.stack));\n })\n .catch(err => done.fail(err.stack));\n });\n\n it('Manager: Successful deleteModel', done => {\n // First, save a model.\n const handler1 = tf.io.getSaveHandlers('localstorage://QuxModel')[0];\n handler1.save(artifacts1)\n .then(saveResult1 => {\n // Then, save the model under another path.\n const handler2 =\n tf.io.getSaveHandlers('localstorage://repeat/QuxModel')[0];\n handler2.save(artifacts1)\n .then(saveResult2 => {\n // After successful saving, delete the first save, and then\n // `listModel` should give only one result.\n const manager = new BrowserLocalStorageManager();\n\n manager.removeModel('QuxModel')\n .then(deletedInfo => {\n manager.listModels().then(out => {\n expect(Object.keys(out)).toEqual(['repeat/QuxModel']);\n });\n done();\n })\n .catch(err => done.fail(err.stack));\n })\n .catch(err => done.fail(err.stack));\n })\n .catch(err => done.fail(err.stack));\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"local_storage_test.js","sourceRoot":"","sources":["../../src/io/local_storage_test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/model_management.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/model_management.js.map index 56c8ddbc2..faa4b60b5 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/model_management.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/model_management.js.map @@ -1 +1 @@ -{"version":3,"file":"model_management.js","sourceRoot":"","sources":["../../src/io/model_management.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\n/**\n * Classes and functions for model management across multiple storage mediums.\n *\n * Supported client actions:\n * - Listing models on all registered storage mediums.\n * - Remove model by URL from any registered storage mediums, by using URL\n * string.\n * - Moving or copying model from one path to another in the same medium or from\n * one medium to another, by using URL strings.\n */\n\nimport {assert} from '../util';\n\nimport {IORouterRegistry} from './router_registry';\nimport {ModelArtifactsInfo, ModelStoreManager} from './types';\n\nconst URL_SCHEME_SUFFIX = '://';\n\nexport class ModelStoreManagerRegistry {\n // Singleton instance.\n private static instance: ModelStoreManagerRegistry;\n\n private managers: {[scheme: string]: ModelStoreManager};\n\n private constructor() {\n this.managers = {};\n }\n\n private static getInstance(): ModelStoreManagerRegistry {\n if (ModelStoreManagerRegistry.instance == null) {\n ModelStoreManagerRegistry.instance = new ModelStoreManagerRegistry();\n }\n return ModelStoreManagerRegistry.instance;\n }\n\n /**\n * Register a save-handler router.\n *\n * @param saveRouter A function that maps a URL-like string onto an instance\n * of `IOHandler` with the `save` method defined or `null`.\n */\n static registerManager(scheme: string, manager: ModelStoreManager) {\n assert(scheme != null, () => 'scheme must not be undefined or null.');\n if (scheme.endsWith(URL_SCHEME_SUFFIX)) {\n scheme = scheme.slice(0, scheme.indexOf(URL_SCHEME_SUFFIX));\n }\n assert(scheme.length > 0, () => 'scheme must not be an empty string.');\n const registry = ModelStoreManagerRegistry.getInstance();\n assert(\n registry.managers[scheme] == null,\n () => `A model store manager is already registered for scheme '${\n scheme}'.`);\n registry.managers[scheme] = manager;\n }\n\n static getManager(scheme: string): ModelStoreManager {\n const manager = this.getInstance().managers[scheme];\n if (manager == null) {\n throw new Error(`Cannot find model manager for scheme '${scheme}'`);\n }\n return manager;\n }\n\n static getSchemes(): string[] {\n return Object.keys(this.getInstance().managers);\n }\n}\n\n/**\n * Helper method for parsing a URL string into a scheme and a path.\n *\n * @param url E.g., 'localstorage://my-model'\n * @returns A dictionary with two fields: scheme and path.\n * Scheme: e.g., 'localstorage' in the example above.\n * Path: e.g., 'my-model' in the example above.\n */\nfunction parseURL(url: string): {scheme: string, path: string} {\n if (url.indexOf(URL_SCHEME_SUFFIX) === -1) {\n throw new Error(\n `The url string provided does not contain a scheme. ` +\n `Supported schemes are: ` +\n `${ModelStoreManagerRegistry.getSchemes().join(',')}`);\n }\n return {\n scheme: url.split(URL_SCHEME_SUFFIX)[0],\n path: url.split(URL_SCHEME_SUFFIX)[1],\n };\n}\n\nasync function cloneModelInternal(\n sourceURL: string, destURL: string,\n deleteSource = false): Promise {\n assert(\n sourceURL !== destURL,\n () => `Old path and new path are the same: '${sourceURL}'`);\n\n const loadHandlers = IORouterRegistry.getLoadHandlers(sourceURL);\n assert(\n loadHandlers.length > 0,\n () => `Copying failed because no load handler is found for source URL ${\n sourceURL}.`);\n assert(\n loadHandlers.length < 2,\n () => `Copying failed because more than one (${loadHandlers.length}) ` +\n `load handlers for source URL ${sourceURL}.`);\n const loadHandler = loadHandlers[0];\n\n const saveHandlers = IORouterRegistry.getSaveHandlers(destURL);\n assert(\n saveHandlers.length > 0,\n () => `Copying failed because no save handler is found for destination ` +\n `URL ${destURL}.`);\n assert(\n saveHandlers.length < 2,\n () => `Copying failed because more than one (${loadHandlers.length}) ` +\n `save handlers for destination URL ${destURL}.`);\n const saveHandler = saveHandlers[0];\n\n const sourceScheme = parseURL(sourceURL).scheme;\n const sourcePath = parseURL(sourceURL).path;\n const sameMedium = sourceScheme === parseURL(sourceURL).scheme;\n\n const modelArtifacts = await loadHandler.load();\n\n // If moving within the same storage medium, remove the old model as soon as\n // the loading is done. Without doing this, it is possible that the combined\n // size of the two models will cause the cloning to fail.\n if (deleteSource && sameMedium) {\n await ModelStoreManagerRegistry.getManager(sourceScheme)\n .removeModel(sourcePath);\n }\n\n const saveResult = await saveHandler.save(modelArtifacts);\n\n // If moving between mediums, the deletion is done after the save succeeds.\n // This guards against the case in which saving to the destination medium\n // fails.\n if (deleteSource && !sameMedium) {\n await ModelStoreManagerRegistry.getManager(sourceScheme)\n .removeModel(sourcePath);\n }\n\n return saveResult.modelArtifactsInfo;\n}\n\n/**\n * List all models stored in registered storage mediums.\n *\n * For a web browser environment, the registered mediums are Local Storage and\n * IndexedDB.\n *\n * ```js\n * // First create and save a model.\n * const model = tf.sequential();\n * model.add(tf.layers.dense(\n * {units: 1, inputShape: [10], activation: 'sigmoid'}));\n * await model.save('localstorage://demo/management/model1');\n *\n * // Then list existing models.\n * console.log(JSON.stringify(await tf.io.listModels()));\n *\n * // Delete the model.\n * await tf.io.removeModel('localstorage://demo/management/model1');\n *\n * // List models again.\n * console.log(JSON.stringify(await tf.io.listModels()));\n * ```\n *\n * @returns A `Promise` of a dictionary mapping URLs of existing models to\n * their model artifacts info. URLs include medium-specific schemes, e.g.,\n * 'indexeddb://my/model/1'. Model artifacts info include type of the\n * model's topology, byte sizes of the topology, weights, etc.\n *\n * @doc {\n * heading: 'Models',\n * subheading: 'Management',\n * namespace: 'io',\n * ignoreCI: true\n * }\n */\nasync function listModels(): Promise<{[url: string]: ModelArtifactsInfo}> {\n const schemes = ModelStoreManagerRegistry.getSchemes();\n const out: {[url: string]: ModelArtifactsInfo} = {};\n for (const scheme of schemes) {\n const schemeOut =\n await ModelStoreManagerRegistry.getManager(scheme).listModels();\n for (const path in schemeOut) {\n const url = scheme + URL_SCHEME_SUFFIX + path;\n out[url] = schemeOut[path];\n }\n }\n return out;\n}\n\n/**\n * Remove a model specified by URL from a reigstered storage medium.\n *\n * ```js\n * // First create and save a model.\n * const model = tf.sequential();\n * model.add(tf.layers.dense(\n * {units: 1, inputShape: [10], activation: 'sigmoid'}));\n * await model.save('localstorage://demo/management/model1');\n *\n * // Then list existing models.\n * console.log(JSON.stringify(await tf.io.listModels()));\n *\n * // Delete the model.\n * await tf.io.removeModel('localstorage://demo/management/model1');\n *\n * // List models again.\n * console.log(JSON.stringify(await tf.io.listModels()));\n * ```\n *\n * @param url A URL to a stored model, with a scheme prefix, e.g.,\n * 'localstorage://my-model-1', 'indexeddb://my/model/2'.\n * @returns ModelArtifactsInfo of the deleted model (if and only if deletion\n * is successful).\n * @throws Error if deletion fails, e.g., if no model exists at `path`.\n *\n * @doc {\n * heading: 'Models',\n * subheading: 'Management',\n * namespace: 'io',\n * ignoreCI: true\n * }\n */\nasync function removeModel(url: string): Promise {\n const schemeAndPath = parseURL(url);\n const manager = ModelStoreManagerRegistry.getManager(schemeAndPath.scheme);\n return manager.removeModel(schemeAndPath.path);\n}\n\n/**\n * Copy a model from one URL to another.\n *\n * This function supports:\n *\n * 1. Copying within a storage medium, e.g.,\n * `tf.io.copyModel('localstorage://model-1', 'localstorage://model-2')`\n * 2. Copying between two storage mediums, e.g.,\n * `tf.io.copyModel('localstorage://model-1', 'indexeddb://model-1')`\n *\n * ```js\n * // First create and save a model.\n * const model = tf.sequential();\n * model.add(tf.layers.dense(\n * {units: 1, inputShape: [10], activation: 'sigmoid'}));\n * await model.save('localstorage://demo/management/model1');\n *\n * // Then list existing models.\n * console.log(JSON.stringify(await tf.io.listModels()));\n *\n * // Copy the model, from Local Storage to IndexedDB.\n * await tf.io.copyModel(\n * 'localstorage://demo/management/model1',\n * 'indexeddb://demo/management/model1');\n *\n * // List models again.\n * console.log(JSON.stringify(await tf.io.listModels()));\n *\n * // Remove both models.\n * await tf.io.removeModel('localstorage://demo/management/model1');\n * await tf.io.removeModel('indexeddb://demo/management/model1');\n * ```\n *\n * @param sourceURL Source URL of copying.\n * @param destURL Destination URL of copying.\n * @returns ModelArtifactsInfo of the copied model (if and only if copying\n * is successful).\n * @throws Error if copying fails, e.g., if no model exists at `sourceURL`, or\n * if `oldPath` and `newPath` are identical.\n *\n * @doc {\n * heading: 'Models',\n * subheading: 'Management',\n * namespace: 'io',\n * ignoreCI: true\n * }\n */\nasync function copyModel(\n sourceURL: string, destURL: string): Promise {\n const deleteSource = false;\n return cloneModelInternal(sourceURL, destURL, deleteSource);\n}\n\n/**\n * Move a model from one URL to another.\n *\n * This function supports:\n *\n * 1. Moving within a storage medium, e.g.,\n * `tf.io.moveModel('localstorage://model-1', 'localstorage://model-2')`\n * 2. Moving between two storage mediums, e.g.,\n * `tf.io.moveModel('localstorage://model-1', 'indexeddb://model-1')`\n *\n * ```js\n * // First create and save a model.\n * const model = tf.sequential();\n * model.add(tf.layers.dense(\n * {units: 1, inputShape: [10], activation: 'sigmoid'}));\n * await model.save('localstorage://demo/management/model1');\n *\n * // Then list existing models.\n * console.log(JSON.stringify(await tf.io.listModels()));\n *\n * // Move the model, from Local Storage to IndexedDB.\n * await tf.io.moveModel(\n * 'localstorage://demo/management/model1',\n * 'indexeddb://demo/management/model1');\n *\n * // List models again.\n * console.log(JSON.stringify(await tf.io.listModels()));\n *\n * // Remove the moved model.\n * await tf.io.removeModel('indexeddb://demo/management/model1');\n * ```\n *\n * @param sourceURL Source URL of moving.\n * @param destURL Destination URL of moving.\n * @returns ModelArtifactsInfo of the copied model (if and only if copying\n * is successful).\n * @throws Error if moving fails, e.g., if no model exists at `sourceURL`, or\n * if `oldPath` and `newPath` are identical.\n *\n * @doc {\n * heading: 'Models',\n * subheading: 'Management',\n * namespace: 'io',\n * ignoreCI: true\n * }\n */\nasync function moveModel(\n sourceURL: string, destURL: string): Promise {\n const deleteSource = true;\n return cloneModelInternal(sourceURL, destURL, deleteSource);\n}\n\nexport {moveModel, copyModel, removeModel, listModels};\n"]} \ No newline at end of file +{"version":3,"file":"model_management.js","sourceRoot":"","sources":["../../src/io/model_management.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/model_management_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/model_management_test.js.map index 51a2bcc37..b15eb62f2 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/model_management_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/model_management_test.js.map @@ -1 +1 @@ -{"version":3,"file":"model_management_test.js","sourceRoot":"","sources":["../../src/io/model_management_test.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\nimport * as tf from '../index';\nimport {CHROME_ENVS, describeWithFlags} from '../jasmine_util';\nimport {deleteDatabase} from './indexed_db';\nimport {purgeLocalStorageArtifacts} from './local_storage';\n\n// Disabled for non-Chrome browsers due to:\n// https://github.com/tensorflow/tfjs/issues/427\ndescribeWithFlags('ModelManagement', CHROME_ENVS, () => {\n // Test data.\n const modelTopology1: {} = {\n 'class_name': 'Sequential',\n 'keras_version': '2.1.4',\n 'config': [{\n 'class_name': 'Dense',\n 'config': {\n 'kernel_initializer': {\n 'class_name': 'VarianceScaling',\n 'config': {\n 'distribution': 'uniform',\n 'scale': 1.0,\n 'seed': null,\n 'mode': 'fan_avg'\n }\n },\n 'name': 'dense',\n 'kernel_constraint': null,\n 'bias_regularizer': null,\n 'bias_constraint': null,\n 'dtype': 'float32',\n 'activation': 'linear',\n 'trainable': true,\n 'kernel_regularizer': null,\n 'bias_initializer': {'class_name': 'Zeros', 'config': {}},\n 'units': 1,\n 'batch_input_shape': [null, 3],\n 'use_bias': true,\n 'activity_regularizer': null\n }\n }],\n 'backend': 'tensorflow'\n };\n const weightSpecs1: tf.io.WeightsManifestEntry[] = [\n {\n name: 'dense/kernel',\n shape: [3, 1],\n dtype: 'float32',\n },\n {\n name: 'dense/bias',\n shape: [1],\n dtype: 'float32',\n }\n ];\n const weightData1 = new ArrayBuffer(16);\n const artifacts1: tf.io.ModelArtifacts = {\n modelTopology: modelTopology1,\n weightSpecs: weightSpecs1,\n weightData: weightData1,\n };\n\n beforeEach(done => {\n purgeLocalStorageArtifacts();\n deleteDatabase().then(() => {\n done();\n });\n });\n\n afterEach(done => {\n purgeLocalStorageArtifacts();\n deleteDatabase().then(() => {\n done();\n });\n });\n\n // TODO(cais): Reenable this test once we fix\n // https://github.com/tensorflow/tfjs/issues/1198\n // tslint:disable-next-line:ban\n xit('List models: 0 result', done => {\n // Before any model is saved, listModels should return empty result.\n tf.io.listModels()\n .then(out => {\n expect(out).toEqual({});\n done();\n })\n .catch(err => done.fail(err.stack));\n });\n\n // TODO(cais): Reenable this test once we fix\n // https://github.com/tensorflow/tfjs/issues/1198\n // tslint:disable-next-line:ban\n xit('List models: 1 result', done => {\n const url = 'localstorage://baz/QuxModel';\n const handler = tf.io.getSaveHandlers(url)[0];\n handler.save(artifacts1)\n .then(saveResult => {\n // After successful saving, there should be one model.\n tf.io.listModels()\n .then(out => {\n expect(Object.keys(out).length).toEqual(1);\n expect(out[url].modelTopologyType)\n .toEqual(saveResult.modelArtifactsInfo.modelTopologyType);\n expect(out[url].modelTopologyBytes)\n .toEqual(saveResult.modelArtifactsInfo.modelTopologyBytes);\n expect(out[url].weightSpecsBytes)\n .toEqual(saveResult.modelArtifactsInfo.weightSpecsBytes);\n expect(out[url].weightDataBytes)\n .toEqual(saveResult.modelArtifactsInfo.weightDataBytes);\n done();\n })\n .catch(err => done.fail(err.stack));\n })\n .catch(err => done.fail(err.stack));\n });\n\n // TODO(cais): Reenable this test once we fix\n // https://github.com/tensorflow/tfjs/issues/1198\n // tslint:disable-next-line:ban\n xit('Manager: List models: 2 results in 2 mediums', done => {\n const url1 = 'localstorage://QuxModel';\n const url2 = 'indexeddb://QuxModel';\n\n // First, save a model in Local Storage.\n const handler1 = tf.io.getSaveHandlers(url1)[0];\n handler1.save(artifacts1)\n .then(saveResult1 => {\n // Then, save the model in IndexedDB.\n const handler2 = tf.io.getSaveHandlers(url2)[0];\n handler2.save(artifacts1)\n .then(saveResult2 => {\n // After successful saving, there should be two models.\n tf.io.listModels()\n .then(out => {\n expect(Object.keys(out).length).toEqual(2);\n expect(out[url1].modelTopologyType)\n .toEqual(\n saveResult1.modelArtifactsInfo.modelTopologyType);\n expect(out[url1].modelTopologyBytes)\n .toEqual(saveResult1.modelArtifactsInfo\n .modelTopologyBytes);\n expect(out[url1].weightSpecsBytes)\n .toEqual(\n saveResult1.modelArtifactsInfo.weightSpecsBytes);\n expect(out[url1].weightDataBytes)\n .toEqual(\n saveResult1.modelArtifactsInfo.weightDataBytes);\n expect(out[url2].modelTopologyType)\n .toEqual(\n saveResult2.modelArtifactsInfo.modelTopologyType);\n expect(out[url2].modelTopologyBytes)\n .toEqual(saveResult2.modelArtifactsInfo\n .modelTopologyBytes);\n expect(out[url2].weightSpecsBytes)\n .toEqual(\n saveResult2.modelArtifactsInfo.weightSpecsBytes);\n expect(out[url2].weightDataBytes)\n .toEqual(\n saveResult2.modelArtifactsInfo.weightDataBytes);\n done();\n })\n .catch(err => done.fail(err.stack));\n })\n .catch(err => done.fail(err.stack));\n })\n .catch(err => done.fail(err.stack));\n });\n\n // TODO(cais): Reenable this test once we fix\n // https://github.com/tensorflow/tfjs/issues/1198\n // tslint:disable-next-line:ban\n xit('Successful removeModel', done => {\n // First, save a model.\n const handler1 = tf.io.getSaveHandlers('localstorage://QuxModel')[0];\n handler1.save(artifacts1)\n .then(saveResult1 => {\n // Then, save the model under another path.\n const handler2 =\n tf.io.getSaveHandlers('indexeddb://repeat/QuxModel')[0];\n handler2.save(artifacts1)\n .then(saveResult2 => {\n // After successful saving, delete the first save, and then\n // `listModel` should give only one result.\n\n // Delete a model specified with a path that includes the\n // indexeddb:// scheme prefix should work.\n tf.io.removeModel('indexeddb://repeat/QuxModel')\n .then(deletedInfo => {\n tf.io.listModels()\n .then(out => {\n expect(Object.keys(out)).toEqual([\n 'localstorage://QuxModel'\n ]);\n\n tf.io.removeModel('localstorage://QuxModel')\n .then(out => {\n // The delete the remaining model.\n tf.io.listModels()\n .then(out => {\n expect(Object.keys(out)).toEqual([]);\n done();\n })\n .catch(err => done.fail(err));\n })\n .catch(err => done.fail(err));\n })\n .catch(err => done.fail(err));\n })\n .catch(err => done.fail(err.stack));\n })\n .catch(err => done.fail(err.stack));\n })\n .catch(err => done.fail(err.stack));\n });\n\n // TODO(cais): Reenable this test once we fix\n // https://github.com/tensorflow/tfjs/issues/1198\n // tslint:disable-next-line:ban\n xit('Successful copyModel between mediums', done => {\n const url1 = 'localstorage://a1/FooModel';\n const url2 = 'indexeddb://a1/FooModel';\n // First, save a model.\n const handler1 = tf.io.getSaveHandlers(url1)[0];\n handler1.save(artifacts1)\n .then(saveResult => {\n // Once model is saved, copy the model to another path.\n tf.io.copyModel(url1, url2)\n .then(modelInfo => {\n tf.io.listModels().then(out => {\n expect(Object.keys(out).length).toEqual(2);\n expect(out[url1].modelTopologyType)\n .toEqual(saveResult.modelArtifactsInfo.modelTopologyType);\n expect(out[url1].modelTopologyBytes)\n .toEqual(\n saveResult.modelArtifactsInfo.modelTopologyBytes);\n expect(out[url1].weightSpecsBytes)\n .toEqual(saveResult.modelArtifactsInfo.weightSpecsBytes);\n expect(out[url1].weightDataBytes)\n .toEqual(saveResult.modelArtifactsInfo.weightDataBytes);\n expect(out[url2].modelTopologyType)\n .toEqual(saveResult.modelArtifactsInfo.modelTopologyType);\n expect(out[url2].modelTopologyBytes)\n .toEqual(\n saveResult.modelArtifactsInfo.modelTopologyBytes);\n expect(out[url2].weightSpecsBytes)\n .toEqual(saveResult.modelArtifactsInfo.weightSpecsBytes);\n expect(out[url2].weightDataBytes)\n .toEqual(saveResult.modelArtifactsInfo.weightDataBytes);\n\n // Load the copy and verify the content.\n const handler2 = tf.io.getLoadHandlers(url2)[0];\n handler2.load()\n .then(loaded => {\n expect(loaded.modelTopology).toEqual(modelTopology1);\n expect(loaded.weightSpecs).toEqual(weightSpecs1);\n expect(new Uint8Array(loaded.weightData))\n .toEqual(new Uint8Array(weightData1));\n done();\n })\n .catch(err => done.fail(err.stack));\n });\n })\n .catch(err => done.fail(err.stack));\n })\n .catch(err => done.fail(err.stack));\n });\n\n // TODO(cais): Reenable this test once we fix\n // https://github.com/tensorflow/tfjs/issues/1198\n // tslint:disable-next-line:ban\n xit('Successful moveModel between mediums', done => {\n const url1 = 'localstorage://a1/FooModel';\n const url2 = 'indexeddb://a1/FooModel';\n // First, save a model.\n const handler1 = tf.io.getSaveHandlers(url1)[0];\n handler1.save(artifacts1)\n .then(saveResult => {\n // Once model is saved, move the model to another path.\n tf.io.moveModel(url1, url2)\n .then(modelInfo => {\n tf.io.listModels().then(out => {\n expect(Object.keys(out)).toEqual([url2]);\n expect(out[url2].modelTopologyType)\n .toEqual(saveResult.modelArtifactsInfo.modelTopologyType);\n expect(out[url2].modelTopologyBytes)\n .toEqual(\n saveResult.modelArtifactsInfo.modelTopologyBytes);\n expect(out[url2].weightSpecsBytes)\n .toEqual(saveResult.modelArtifactsInfo.weightSpecsBytes);\n expect(out[url2].weightDataBytes)\n .toEqual(saveResult.modelArtifactsInfo.weightDataBytes);\n\n // Load the copy and verify the content.\n const handler2 = tf.io.getLoadHandlers(url2)[0];\n handler2.load()\n .then(loaded => {\n expect(loaded.modelTopology).toEqual(modelTopology1);\n expect(loaded.weightSpecs).toEqual(weightSpecs1);\n expect(new Uint8Array(loaded.weightData))\n .toEqual(new Uint8Array(weightData1));\n done();\n })\n .catch(err => {\n done.fail(err.stack);\n });\n });\n })\n .catch(err => done.fail(err.stack));\n })\n .catch(err => done.fail(err.stack));\n });\n\n it('Failed copyModel to invalid source URL', done => {\n const url1 = 'invalidurl';\n const url2 = 'localstorage://a1/FooModel';\n tf.io.copyModel(url1, url2)\n .then(out => {\n done.fail('Copying from invalid URL succeeded unexpectedly.');\n })\n .catch(err => {\n expect(err.message)\n .toEqual(\n 'Copying failed because no load handler is found for ' +\n 'source URL invalidurl.');\n done();\n });\n });\n\n it('Failed copyModel to invalid destination URL', done => {\n const url1 = 'localstorage://a1/FooModel';\n const url2 = 'invalidurl';\n // First, save a model.\n const handler1 = tf.io.getSaveHandlers(url1)[0];\n handler1.save(artifacts1)\n .then(saveResult => {\n // Once model is saved, copy the model to another path.\n tf.io.copyModel(url1, url2)\n .then(out => {\n done.fail('Copying to invalid URL succeeded unexpectedly.');\n })\n .catch(err => {\n expect(err.message)\n .toEqual(\n 'Copying failed because no save handler is found for ' +\n 'destination URL invalidurl.');\n done();\n });\n })\n .catch(err => done.fail(err.stack));\n });\n\n it('Failed moveModel to invalid destination URL', done => {\n const url1 = 'localstorage://a1/FooModel';\n const url2 = 'invalidurl';\n // First, save a model.\n const handler1 = tf.io.getSaveHandlers(url1)[0];\n handler1.save(artifacts1)\n .then(saveResult => {\n // Once model is saved, copy the model to an invalid path, which\n // should fail.\n tf.io.moveModel(url1, url2)\n .then(out => {\n done.fail('Copying to invalid URL succeeded unexpectedly.');\n })\n .catch(err => {\n expect(err.message)\n .toEqual(\n 'Copying failed because no save handler is found for ' +\n 'destination URL invalidurl.');\n\n // Verify that the source has not been removed.\n tf.io.listModels()\n .then(out => {\n expect(Object.keys(out)).toEqual([url1]);\n done();\n })\n .catch(err => done.fail(err.stack));\n });\n })\n .catch(err => done.fail(err.stack));\n });\n\n it('Failed deletedModel: Absent scheme', done => {\n // Attempt to delete a nonexistent model is expected to fail.\n tf.io.removeModel('foo')\n .then(out => {\n done.fail(\n 'Removing model with missing scheme succeeded unexpectedly.');\n })\n .catch(err => {\n expect(err.message)\n .toMatch(/The url string provided does not contain a scheme/);\n expect(err.message.indexOf('localstorage')).toBeGreaterThan(0);\n expect(err.message.indexOf('indexeddb')).toBeGreaterThan(0);\n done();\n });\n });\n\n it('Failed deletedModel: Invalid scheme', done => {\n // Attempt to delete a nonexistent model is expected to fail.\n tf.io.removeModel('invalidscheme://foo')\n .then(out => {\n done.fail('Removing nonexistent model succeeded unexpectedly.');\n })\n .catch(err => {\n expect(err.message)\n .toEqual(\n 'Cannot find model manager for scheme \\'invalidscheme\\'');\n done();\n });\n });\n\n it('Failed deletedModel: Nonexistent model', done => {\n // Attempt to delete a nonexistent model is expected to fail.\n tf.io.removeModel('indexeddb://nonexistent')\n .then(out => {\n done.fail('Removing nonexistent model succeeded unexpectedly.');\n })\n .catch(err => {\n expect(err.message)\n .toEqual(\n 'Cannot find model with path \\'nonexistent\\' in IndexedDB.');\n done();\n });\n });\n\n it('Failed copyModel', done => {\n // Attempt to copy a nonexistent model should fail.\n tf.io.copyModel('indexeddb://nonexistent', 'indexeddb://destination')\n .then(out => {\n done.fail('Copying nonexistent model succeeded unexpectedly.');\n })\n .catch(err => {\n expect(err.message)\n .toEqual(\n 'Cannot find model with path \\'nonexistent\\' in IndexedDB.');\n done();\n });\n });\n\n it('copyModel: Identical oldPath and newPath leads to Error', done => {\n tf.io.copyModel('a/1', 'a/1')\n .then(out => {\n done.fail(\n 'Copying with identical old & new paths succeeded unexpectedly.');\n })\n .catch(err => {\n expect(err.message)\n .toEqual('Old path and new path are the same: \\'a/1\\'');\n done();\n });\n });\n\n it('moveModel: Identical oldPath and newPath leads to Error', done => {\n tf.io.moveModel('a/1', 'a/1')\n .then(out => {\n done.fail(\n 'Copying with identical old & new paths succeeded unexpectedly.');\n })\n .catch(err => {\n expect(err.message)\n .toEqual('Old path and new path are the same: \\'a/1\\'');\n done();\n });\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"model_management_test.js","sourceRoot":"","sources":["../../src/io/model_management_test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/passthrough.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/passthrough.js.map index e72f343d8..9466dcaee 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/passthrough.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/passthrough.js.map @@ -1 +1 @@ -{"version":3,"file":"passthrough.js","sourceRoot":"","sources":["../../src/io/passthrough.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,MAAM,iBAAiB;IACrB,YAA6B,cAA+B;QAA/B,mBAAc,GAAd,cAAc,CAAiB;IAAG,CAAC;IAEhE,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,gBAAgB;IACpB,YACqB,WACqC;QADrC,gBAAW,GAAX,WAAW,CAC0B;IAAG,CAAC;IAE9D,KAAK,CAAC,IAAI,CAAC,cAA8B;QACvC,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,UAAU,CACtB,cAAiC,EAAE,WAAoC,EACvE,UAAwB,EAAE,cAA+B;IAC3D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,MAAM,gBAAgB,GACjB,cAAiC,CAAC,aAAa,IAAI,IAAI;YACvD,cAAiC,CAAC,WAAW,IAAI,IAAI,CAAC;QAC3D,IAAI,gBAAgB,EAAE;YACpB,OAAO,IAAI,iBAAiB,CAAC,cAAgC,CAAC,CAAC;SAChE;aAAM;YACL,2CAA2C;YAC3C,0CAA0C;YAC1C,OAAO,CAAC,IAAI,CACR,yDAAyD;gBACzD,iDAAiD;gBACjD,8DAA8D;gBAC9D,qDAAqD,CAAC,CAAC;YAC3D,OAAO,IAAI,iBAAiB,CAAC,EAAC,aAAa,EAAE,cAAoB,EAAC,CAAC,CAAC;SACrE;KACF;SAAM;QACL,kBAAkB;QAClB,0CAA0C;QAC1C,OAAO,CAAC,IAAI,CACR,yDAAyD;YACzD,iDAAiD;YACjD,8DAA8D;YAC9D,qDAAqD,CAAC,CAAC;QAC3D,OAAO,IAAI,iBAAiB,CAAC;YAC3B,aAAa,EAAE,cAAoB;YACnC,WAAW;YACX,UAAU;YACV,cAAc;SACf,CAAC,CAAC;KACJ;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAC3B,WACuB;IACzB,OAAO,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;AAC3C,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 */\n\n/**\n * IOHandlers that pass through the in-memory ModelArtifacts format.\n */\n\nimport {IOHandler, ModelArtifacts, SaveResult, TrainingConfig, WeightsManifestEntry} from './types';\n\nclass PassthroughLoader implements IOHandler {\n constructor(private readonly modelArtifacts?: ModelArtifacts) {}\n\n async load(): Promise {\n return this.modelArtifacts;\n }\n}\n\nclass PassthroughSaver implements IOHandler {\n constructor(\n private readonly saveHandler:\n (artifacts: ModelArtifacts) => Promise) {}\n\n async save(modelArtifacts: ModelArtifacts) {\n return this.saveHandler(modelArtifacts);\n }\n}\n\n/**\n * Creates an IOHandler that loads model artifacts from memory.\n *\n * When used in conjunction with `tf.loadLayersModel`, an instance of\n * `tf.LayersModel` (Keras-style) can be constructed from the loaded artifacts.\n *\n * ```js\n * const model = await tf.loadLayersModel(tf.io.fromMemory(\n * modelTopology, weightSpecs, weightData));\n * ```\n *\n * @param modelArtifacts a object containing model topology (i.e., parsed from\n * the JSON format).\n * @param weightSpecs An array of `WeightsManifestEntry` objects describing the\n * names, shapes, types, and quantization of the weight data.\n * @param weightData A single `ArrayBuffer` containing the weight data,\n * concatenated in the order described by the weightSpecs.\n * @param trainingConfig Model training configuration. Optional.\n *\n * @returns A passthrough `IOHandler` that simply loads the provided data.\n */\nexport function fromMemory(\n modelArtifacts: {}|ModelArtifacts, weightSpecs?: WeightsManifestEntry[],\n weightData?: ArrayBuffer, trainingConfig?: TrainingConfig): IOHandler {\n if (arguments.length === 1) {\n const isModelArtifacts =\n (modelArtifacts as ModelArtifacts).modelTopology != null ||\n (modelArtifacts as ModelArtifacts).weightSpecs != null;\n if (isModelArtifacts) {\n return new PassthroughLoader(modelArtifacts as ModelArtifacts);\n } else {\n // Legacy support: with only modelTopology.\n // TODO(cais): Remove this deprecated API.\n console.warn(\n 'Please call tf.io.fromMemory() with only one argument. ' +\n 'The argument should be of type ModelArtifacts. ' +\n 'The multi-argument signature of tf.io.fromMemory() has been ' +\n 'deprecated and will be removed in a future release.');\n return new PassthroughLoader({modelTopology: modelArtifacts as {}});\n }\n } else {\n // Legacy support.\n // TODO(cais): Remove this deprecated API.\n console.warn(\n 'Please call tf.io.fromMemory() with only one argument. ' +\n 'The argument should be of type ModelArtifacts. ' +\n 'The multi-argument signature of tf.io.fromMemory() has been ' +\n 'deprecated and will be removed in a future release.');\n return new PassthroughLoader({\n modelTopology: modelArtifacts as {},\n weightSpecs,\n weightData,\n trainingConfig\n });\n }\n}\n\n/**\n * Creates an IOHandler that passes saved model artifacts to a callback.\n *\n * ```js\n * function handleSave(artifacts) {\n * // ... do something with the artifacts ...\n * return {modelArtifactsInfo: {...}, ...};\n * }\n *\n * const saveResult = model.save(tf.io.withSaveHandler(handleSave));\n * ```\n *\n * @param saveHandler A function that accepts a `ModelArtifacts` and returns a\n * `SaveResult`.\n */\nexport function withSaveHandler(\n saveHandler: (artifacts: ModelArtifacts) =>\n Promise): IOHandler {\n return new PassthroughSaver(saveHandler);\n}\n"]} \ No newline at end of file +{"version":3,"file":"passthrough.js","sourceRoot":"","sources":["../../src/io/passthrough.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,MAAM,iBAAiB;IACrB,YAA6B,cAA+B;QAA/B,mBAAc,GAAd,cAAc,CAAiB;IAAG,CAAC;IAEhE,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,gBAAgB;IACpB,YACqB,WACqC;QADrC,gBAAW,GAAX,WAAW,CAC0B;IAAG,CAAC;IAE9D,KAAK,CAAC,IAAI,CAAC,cAA8B;QACvC,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,UAAU,CACtB,cAAiC,EAAE,WAAoC,EACvE,UAAwB,EAAE,cAA+B;IAC3D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,MAAM,gBAAgB,GACjB,cAAiC,CAAC,aAAa,IAAI,IAAI;YACvD,cAAiC,CAAC,WAAW,IAAI,IAAI,CAAC;QAC3D,IAAI,gBAAgB,EAAE;YACpB,OAAO,IAAI,iBAAiB,CAAC,cAAgC,CAAC,CAAC;SAChE;aAAM;YACL,2CAA2C;YAC3C,0CAA0C;YAC1C,OAAO,CAAC,IAAI,CACR,yDAAyD;gBACzD,iDAAiD;gBACjD,8DAA8D;gBAC9D,qDAAqD,CAAC,CAAC;YAC3D,OAAO,IAAI,iBAAiB,CAAC,EAAC,aAAa,EAAE,cAAoB,EAAC,CAAC,CAAC;SACrE;KACF;SAAM;QACL,kBAAkB;QAClB,0CAA0C;QAC1C,OAAO,CAAC,IAAI,CACR,yDAAyD;YACzD,iDAAiD;YACjD,8DAA8D;YAC9D,qDAAqD,CAAC,CAAC;QAC3D,OAAO,IAAI,iBAAiB,CAAC;YAC3B,aAAa,EAAE,cAAoB;YACnC,WAAW;YACX,UAAU;YACV,cAAc;SACf,CAAC,CAAC;KACJ;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAC3B,WACuB;IACzB,OAAO,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;AAC3C,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/passthrough_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/passthrough_test.js.map index 2549d682c..b359b438b 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/passthrough_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/passthrough_test.js.map @@ -1 +1 @@ -{"version":3,"file":"passthrough_test.js","sourceRoot":"","sources":["../../src/io/passthrough_test.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\n/**\n * Unit tests for passthrough IOHandlers.\n */\n\nimport * as tf from '../index';\nimport {BROWSER_ENVS, describeWithFlags} from '../jasmine_util';\n\nconst modelTopology1: {} = {\n 'class_name': 'Sequential',\n 'keras_version': '2.1.4',\n 'config': [{\n 'class_name': 'Dense',\n 'config': {\n 'kernel_initializer': {\n 'class_name': 'VarianceScaling',\n 'config': {\n 'distribution': 'uniform',\n 'scale': 1.0,\n 'seed': null,\n 'mode': 'fan_avg'\n }\n },\n 'name': 'dense',\n 'kernel_constraint': null,\n 'bias_regularizer': null,\n 'bias_constraint': null,\n 'dtype': 'float32',\n 'activation': 'linear',\n 'trainable': true,\n 'kernel_regularizer': null,\n 'bias_initializer': {'class_name': 'Zeros', 'config': {}},\n 'units': 1,\n 'batch_input_shape': [null, 3],\n 'use_bias': true,\n 'activity_regularizer': null\n }\n }],\n 'backend': 'tensorflow'\n};\n\nconst weightSpecs1: tf.io.WeightsManifestEntry[] = [\n {\n name: 'dense/kernel',\n shape: [3, 1],\n dtype: 'float32',\n },\n {\n name: 'dense/bias',\n shape: [1],\n dtype: 'float32',\n }\n];\n\nconst weightData1 = new ArrayBuffer(16);\nconst artifacts1: tf.io.ModelArtifacts = {\n modelTopology: modelTopology1,\n weightSpecs: weightSpecs1,\n weightData: weightData1,\n};\n\ndescribeWithFlags('Passthrough Saver', BROWSER_ENVS, () => {\n it('passes provided arguments through on save', async () => {\n const testStartDate = new Date();\n let savedArtifacts: tf.io.ModelArtifacts = null;\n\n async function saveHandler(artifacts: tf.io.ModelArtifacts):\n Promise {\n savedArtifacts = artifacts;\n return {\n modelArtifactsInfo: {\n dateSaved: testStartDate,\n modelTopologyType: 'JSON',\n modelTopologyBytes: JSON.stringify(modelTopology1).length,\n weightSpecsBytes: JSON.stringify(weightSpecs1).length,\n weightDataBytes: weightData1.byteLength,\n }\n };\n }\n\n const saveTrigger = tf.io.withSaveHandler(saveHandler);\n const saveResult = await saveTrigger.save(artifacts1);\n\n expect(saveResult.errors).toEqual(undefined);\n const artifactsInfo = saveResult.modelArtifactsInfo;\n expect(artifactsInfo.dateSaved.getTime())\n .toBeGreaterThanOrEqual(testStartDate.getTime());\n expect(saveResult.modelArtifactsInfo.modelTopologyBytes)\n .toEqual(JSON.stringify(modelTopology1).length);\n expect(saveResult.modelArtifactsInfo.weightSpecsBytes)\n .toEqual(JSON.stringify(weightSpecs1).length);\n expect(saveResult.modelArtifactsInfo.weightDataBytes).toEqual(16);\n\n expect(savedArtifacts.modelTopology).toEqual(modelTopology1);\n expect(savedArtifacts.weightSpecs).toEqual(weightSpecs1);\n expect(savedArtifacts.weightData).toEqual(weightData1);\n });\n});\n\ndescribeWithFlags('Passthrough Loader', BROWSER_ENVS, () => {\n it('load topology and weights: legacy signature', async () => {\n const passthroughHandler =\n tf.io.fromMemory(modelTopology1, weightSpecs1, weightData1);\n const modelArtifacts = await passthroughHandler.load();\n expect(modelArtifacts.modelTopology).toEqual(modelTopology1);\n expect(modelArtifacts.weightSpecs).toEqual(weightSpecs1);\n expect(modelArtifacts.weightData).toEqual(weightData1);\n expect(modelArtifacts.userDefinedMetadata).toEqual(undefined);\n });\n\n it('load topology and weights', async () => {\n const passthroughHandler = tf.io.fromMemory({\n modelTopology: modelTopology1,\n weightSpecs: weightSpecs1,\n weightData: weightData1\n });\n const modelArtifacts = await passthroughHandler.load();\n expect(modelArtifacts.modelTopology).toEqual(modelTopology1);\n expect(modelArtifacts.weightSpecs).toEqual(weightSpecs1);\n expect(modelArtifacts.weightData).toEqual(weightData1);\n expect(modelArtifacts.userDefinedMetadata).toEqual(undefined);\n });\n\n it('load model topology only: legacy signature', async () => {\n const passthroughHandler = tf.io.fromMemory(modelTopology1);\n const modelArtifacts = await passthroughHandler.load();\n expect(modelArtifacts.modelTopology).toEqual(modelTopology1);\n expect(modelArtifacts.weightSpecs).toEqual(undefined);\n expect(modelArtifacts.weightData).toEqual(undefined);\n expect(modelArtifacts.userDefinedMetadata).toEqual(undefined);\n });\n\n it('load model topology only', async () => {\n const passthroughHandler =\n tf.io.fromMemory({modelTopology: modelTopology1});\n const modelArtifacts = await passthroughHandler.load();\n expect(modelArtifacts.modelTopology).toEqual(modelTopology1);\n expect(modelArtifacts.weightSpecs).toEqual(undefined);\n expect(modelArtifacts.weightData).toEqual(undefined);\n expect(modelArtifacts.userDefinedMetadata).toEqual(undefined);\n });\n\n it('load topology, weights, and user-defined metadata', async () => {\n const userDefinedMetadata: {} = {'fooField': 'fooValue'};\n const passthroughHandler = tf.io.fromMemory({\n modelTopology: modelTopology1,\n weightSpecs: weightSpecs1,\n weightData: weightData1,\n userDefinedMetadata\n });\n const modelArtifacts = await passthroughHandler.load();\n expect(modelArtifacts.modelTopology).toEqual(modelTopology1);\n expect(modelArtifacts.weightSpecs).toEqual(weightSpecs1);\n expect(modelArtifacts.weightData).toEqual(weightData1);\n expect(modelArtifacts.userDefinedMetadata).toEqual(userDefinedMetadata);\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"passthrough_test.js","sourceRoot":"","sources":["../../src/io/passthrough_test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/progress.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/progress.js.map index beeeea7b0..382545350 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/progress.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/progress.js.map @@ -1 +1 @@ -{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/io/progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAI/B;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACnC,QAAiC,EAAE,UAA8B,EACjE,aAAsB,EAAE,WAAoB;IAC9C,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxB,aAAa,GAAG,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IAC1D,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACpD,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC1C,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,MAAM,eAAe,GAAG,CAAC,OAAoB,EAAE,EAAE;QAC/C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACnB,MAAM,QAAQ,GAAG,aAAa;gBAC1B,EAAE,eAAe,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC;YACxE,mDAAmD;YACnD,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,SAAS,aAAa,CAAC,QAAiC;QACtD,MAAM,CACF,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAClE,GAAG,EAAE,CAAC,qCAAqC,CAAC,CAAC;IACnD,CAAC;IAED,SAAS,aAAa,CAAC,aAAqB,EAAE,WAAmB;QAC/D,MAAM,CACF,aAAa,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,EACxC,GAAG,EAAE,CAAC,iDAAiD;YACnD,qBAAqB,aAAa,EAAE,CAAC,CAAC;QAC9C,MAAM,CACF,WAAW,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,EACpC,GAAG,EAAE,CAAC,iDAAiD;YACnD,mBAAmB,WAAW,EAAE,CAAC,CAAC;QAC1C,MAAM,CACF,WAAW,IAAI,aAAa,EAC5B,GAAG,EAAE,CAAC,sDAAsD;YACxD,qBAAqB,aAAa,mBAAmB;YACrD,GAAG,WAAW,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AACpD,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 {assert} from '../util';\n\nimport {OnProgressCallback} from './types';\n\n/**\n * Monitor Promise.all progress, fire onProgress callback function.\n *\n * @param promises Promise list going to be monitored\n * @param onProgress Callback function. Fired when a promise resolved.\n * @param startFraction Optional fraction start. Default to 0.\n * @param endFraction Optional fraction end. Default to 1.\n */\nexport function monitorPromisesProgress(\n promises: Array>, onProgress: OnProgressCallback,\n startFraction?: number, endFraction?: number) {\n checkPromises(promises);\n startFraction = startFraction == null ? 0 : startFraction;\n endFraction = endFraction == null ? 1 : endFraction;\n checkFraction(startFraction, endFraction);\n let resolvedPromise = 0;\n\n const registerMonitor = (promise: Promise<{}>) => {\n promise.then(value => {\n const fraction = startFraction +\n ++resolvedPromise / promises.length * (endFraction - startFraction);\n // pass fraction as parameter to callback function.\n onProgress(fraction);\n return value;\n });\n return promise;\n };\n\n function checkPromises(promises: Array>): void {\n assert(\n promises != null && Array.isArray(promises) && promises.length > 0,\n () => 'promises must be a none empty array');\n }\n\n function checkFraction(startFraction: number, endFraction: number): void {\n assert(\n startFraction >= 0 && startFraction <= 1,\n () => `Progress fraction must be in range [0, 1], but ` +\n `got startFraction ${startFraction}`);\n assert(\n endFraction >= 0 && endFraction <= 1,\n () => `Progress fraction must be in range [0, 1], but ` +\n `got endFraction ${endFraction}`);\n assert(\n endFraction >= startFraction,\n () => `startFraction must be no more than endFraction, but ` +\n `got startFraction ${startFraction} and endFraction ` +\n `${endFraction}`);\n }\n\n return Promise.all(promises.map(registerMonitor));\n}\n"]} \ No newline at end of file +{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/io/progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAI/B;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACnC,QAAiC,EAAE,UAA8B,EACjE,aAAsB,EAAE,WAAoB;IAC9C,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxB,aAAa,GAAG,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IAC1D,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACpD,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC1C,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,MAAM,eAAe,GAAG,CAAC,OAAoB,EAAE,EAAE;QAC/C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACnB,MAAM,QAAQ,GAAG,aAAa;gBAC1B,EAAE,eAAe,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC;YACxE,mDAAmD;YACnD,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,SAAS,aAAa,CAAC,QAAiC;QACtD,MAAM,CACF,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAClE,GAAG,EAAE,CAAC,qCAAqC,CAAC,CAAC;IACnD,CAAC;IAED,SAAS,aAAa,CAAC,aAAqB,EAAE,WAAmB;QAC/D,MAAM,CACF,aAAa,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,EACxC,GAAG,EAAE,CAAC,iDAAiD;YACnD,qBAAqB,aAAa,EAAE,CAAC,CAAC;QAC9C,MAAM,CACF,WAAW,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,EACpC,GAAG,EAAE,CAAC,iDAAiD;YACnD,mBAAmB,WAAW,EAAE,CAAC,CAAC;QAC1C,MAAM,CACF,WAAW,IAAI,aAAa,EAC5B,GAAG,EAAE,CAAC,sDAAsD;YACxD,qBAAqB,aAAa,mBAAmB;YACrD,GAAG,WAAW,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AACpD,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/progress_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/progress_test.js.map index 6233e6586..ee7acf446 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/progress_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/progress_test.js.map @@ -1 +1 @@ -{"version":3,"file":"progress_test.js","sourceRoot":"","sources":["../../src/io/progress_test.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 {monitorPromisesProgress} from './progress';\n\ndescribe('util.monitorPromisesProgress', () => {\n it('Default progress from 0 to 1', (done) => {\n const expectFractions: number[] = [0.25, 0.50, 0.75, 1.00];\n const fractionList: number[] = [];\n const tasks = Array(4).fill(0).map(() => {\n return Promise.resolve();\n });\n monitorPromisesProgress(tasks, (progress: number) => {\n fractionList.push(parseFloat(progress.toFixed(2)));\n }).then(() => {\n expect(fractionList).toEqual(expectFractions);\n done();\n });\n });\n\n it('Progress with pre-defined range', (done) => {\n const startFraction = 0.2;\n const endFraction = 0.8;\n const expectFractions: number[] = [0.35, 0.50, 0.65, 0.80];\n const fractionList: number[] = [];\n const tasks = Array(4).fill(0).map(() => {\n return Promise.resolve();\n });\n monitorPromisesProgress(tasks, (progress: number) => {\n fractionList.push(parseFloat(progress.toFixed(2)));\n }, startFraction, endFraction).then(() => {\n expect(fractionList).toEqual(expectFractions);\n done();\n });\n });\n\n it('throws error when progress fraction is out of range', () => {\n expect(() => {\n const startFraction = -1;\n const endFraction = 1;\n const tasks = Array(4).fill(0).map(() => {\n return Promise.resolve();\n });\n monitorPromisesProgress(\n tasks, (progress: number) => {}, startFraction, endFraction);\n }).toThrowError();\n });\n\n it('throws error when startFraction more than endFraction', () => {\n expect(() => {\n const startFraction = 0.8;\n const endFraction = 0.2;\n const tasks = Array(4).fill(0).map(() => {\n return Promise.resolve();\n });\n monitorPromisesProgress(\n tasks, (progress: number) => {}, startFraction, endFraction);\n }).toThrowError();\n });\n\n it('throws error when promises is null', () => {\n expect(() => {\n monitorPromisesProgress(null, (progress: number) => {});\n }).toThrowError();\n });\n\n it('throws error when promises is empty array', () => {\n expect(() => {\n monitorPromisesProgress([], (progress: number) => {});\n }).toThrowError();\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"progress_test.js","sourceRoot":"","sources":["../../src/io/progress_test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/router_registry.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/router_registry.js.map index d8fb00420..cb02acd46 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/router_registry.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/router_registry.js.map @@ -1 +1 @@ -{"version":3,"file":"router_registry.js","sourceRoot":"","sources":["../../src/io/router_registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH,MAAM,OAAO,gBAAgB;IAO3B;QACE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAEO,MAAM,CAAC,WAAW;QACxB,IAAI,gBAAgB,CAAC,QAAQ,IAAI,IAAI,EAAE;YACrC,gBAAgB,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;SACpD;QACD,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAoB;QAC5C,gBAAgB,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAoB;QAC5C,gBAAgB,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,eAAe,CAAC,GAAoB;QACzC,OAAO,gBAAgB,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,eAAe,CAAC,GAAoB,EAAE,WAAyB;QAEpE,OAAO,gBAAgB,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;IAEO,MAAM,CAAC,WAAW,CACtB,GAAoB,EAAE,WAA0B,EAChD,WAAyB;QAC3B,MAAM,aAAa,GAAgB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC;YACpC,gBAAgB,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,CAAC;YAC5C,gBAAgB,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC;QAC/C,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACzC,IAAI,OAAO,KAAK,IAAI,EAAE;gBACpB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC7B;QACH,CAAC,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAoB,EAAE,EAAE,CACvD,gBAAgB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAoB,EAAE,EAAE,CACvD,gBAAgB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAoB,EAAE,EAAE,CACpD,gBAAgB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,eAAe,GACxB,CAAC,GAAoB,EAAE,WAAyB,EAAE,EAAE,CAChD,gBAAgB,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,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 */\n\nimport {IOHandler, LoadOptions} from './types';\n\nexport type IORouter = (url: string|string[], loadOptions?: LoadOptions) =>\n IOHandler;\n\nexport class IORouterRegistry {\n // Singleton instance.\n private static instance: IORouterRegistry;\n\n private saveRouters: IORouter[];\n private loadRouters: IORouter[];\n\n private constructor() {\n this.saveRouters = [];\n this.loadRouters = [];\n }\n\n private static getInstance(): IORouterRegistry {\n if (IORouterRegistry.instance == null) {\n IORouterRegistry.instance = new IORouterRegistry();\n }\n return IORouterRegistry.instance;\n }\n\n /**\n * Register a save-handler router.\n *\n * @param saveRouter A function that maps a URL-like string onto an instance\n * of `IOHandler` with the `save` method defined or `null`.\n */\n static registerSaveRouter(saveRouter: IORouter) {\n IORouterRegistry.getInstance().saveRouters.push(saveRouter);\n }\n\n /**\n * Register a load-handler router.\n *\n * @param loadRouter A function that maps a URL-like string onto an instance\n * of `IOHandler` with the `load` method defined or `null`.\n */\n static registerLoadRouter(loadRouter: IORouter) {\n IORouterRegistry.getInstance().loadRouters.push(loadRouter);\n }\n\n /**\n * Look up IOHandler for saving, given a URL-like string.\n *\n * @param url\n * @returns If only one match is found, an instance of IOHandler with the\n * `save` method defined. If no match is found, `null`.\n * @throws Error, if more than one match is found.\n */\n static getSaveHandlers(url: string|string[]): IOHandler[] {\n return IORouterRegistry.getHandlers(url, 'save');\n }\n\n /**\n * Look up IOHandler for loading, given a URL-like string.\n *\n * @param url\n * @param loadOptions Optional, custom load options.\n * @returns All valid handlers for `url`, given the currently registered\n * handler routers.\n */\n static getLoadHandlers(url: string|string[], loadOptions?: LoadOptions):\n IOHandler[] {\n return IORouterRegistry.getHandlers(url, 'load', loadOptions);\n }\n\n private static getHandlers(\n url: string|string[], handlerType: 'save'|'load',\n loadOptions?: LoadOptions): IOHandler[] {\n const validHandlers: IOHandler[] = [];\n const routers = handlerType === 'load' ?\n IORouterRegistry.getInstance().loadRouters :\n IORouterRegistry.getInstance().saveRouters;\n routers.forEach(router => {\n const handler = router(url, loadOptions);\n if (handler !== null) {\n validHandlers.push(handler);\n }\n });\n return validHandlers;\n }\n}\n\nexport const registerSaveRouter = (loudRouter: IORouter) =>\n IORouterRegistry.registerSaveRouter(loudRouter);\nexport const registerLoadRouter = (loudRouter: IORouter) =>\n IORouterRegistry.registerLoadRouter(loudRouter);\nexport const getSaveHandlers = (url: string|string[]) =>\n IORouterRegistry.getSaveHandlers(url);\nexport const getLoadHandlers =\n (url: string|string[], loadOptions?: LoadOptions) =>\n IORouterRegistry.getLoadHandlers(url, loadOptions);\n"]} \ No newline at end of file +{"version":3,"file":"router_registry.js","sourceRoot":"","sources":["../../src/io/router_registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH,MAAM,OAAO,gBAAgB;IAO3B;QACE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAEO,MAAM,CAAC,WAAW;QACxB,IAAI,gBAAgB,CAAC,QAAQ,IAAI,IAAI,EAAE;YACrC,gBAAgB,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;SACpD;QACD,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAoB;QAC5C,gBAAgB,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAoB;QAC5C,gBAAgB,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,eAAe,CAAC,GAAoB;QACzC,OAAO,gBAAgB,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,eAAe,CAAC,GAAoB,EAAE,WAAyB;QAEpE,OAAO,gBAAgB,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;IAEO,MAAM,CAAC,WAAW,CACtB,GAAoB,EAAE,WAA0B,EAChD,WAAyB;QAC3B,MAAM,aAAa,GAAgB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC;YACpC,gBAAgB,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,CAAC;YAC5C,gBAAgB,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC;QAC/C,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACzC,IAAI,OAAO,KAAK,IAAI,EAAE;gBACpB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC7B;QACH,CAAC,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAoB,EAAE,EAAE,CACvD,gBAAgB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAoB,EAAE,EAAE,CACvD,gBAAgB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAoB,EAAE,EAAE,CACpD,gBAAgB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,eAAe,GACxB,CAAC,GAAoB,EAAE,WAAyB,EAAE,EAAE,CAChD,gBAAgB,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/router_registry_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/router_registry_test.js.map index 52ec477b5..12b657407 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/router_registry_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/router_registry_test.js.map @@ -1 +1 @@ -{"version":3,"file":"router_registry_test.js","sourceRoot":"","sources":["../../src/io/router_registry_test.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\nimport * as tf from '../index';\nimport {BROWSER_ENVS, describeWithFlags} from '../jasmine_util';\n\nimport {BrowserIndexedDB, browserIndexedDB} from './indexed_db';\nimport {BrowserLocalStorage, browserLocalStorage} from './local_storage';\nimport {IORouterRegistry} from './router_registry';\nimport {IOHandler, LoadHandler, LoadOptions, SaveHandler} from './types';\n\ndescribeWithFlags('IORouterRegistry', BROWSER_ENVS, () => {\n const localStorageRouter = (url: string) => {\n const scheme = 'localstorage://';\n if (url.startsWith(scheme)) {\n return browserLocalStorage(url.slice(scheme.length));\n } else {\n return null;\n }\n };\n\n const indexedDBRouter = (url: string) => {\n const scheme = 'indexeddb://';\n if (url.startsWith(scheme)) {\n return browserIndexedDB(url.slice(scheme.length));\n } else {\n return null;\n }\n };\n\n class FakeIOHandler implements IOHandler {\n constructor(url1: string, url2: string) {}\n }\n\n const fakeMultiStringRouter = (url: string|string[]) => {\n const scheme = 'foo://';\n if (Array.isArray(url) && url.length === 2) {\n if (url[0].startsWith(scheme) && url[1].startsWith(scheme)) {\n return new FakeIOHandler(url[0], url[1]);\n } else {\n return null;\n }\n } else {\n return null;\n }\n };\n\n let tempRegistryInstance: IORouterRegistry = null;\n beforeEach(() => {\n // Force reset registry for testing.\n // tslint:disable:no-any\n tempRegistryInstance = (IORouterRegistry as any).instance;\n (IORouterRegistry as any).instance = null;\n // tslint:enable:no-any\n });\n\n afterEach(() => {\n // tslint:disable-next-line:no-any\n (IORouterRegistry as any).instance = tempRegistryInstance;\n });\n\n it('getSaveHandler succeeds', () => {\n IORouterRegistry.registerSaveRouter(localStorageRouter);\n IORouterRegistry.registerSaveRouter(indexedDBRouter);\n\n const out1 = tf.io.getSaveHandlers('localstorage://foo-model');\n expect(out1.length).toEqual(1);\n expect(out1[0] instanceof BrowserLocalStorage).toEqual(true);\n const out2 = tf.io.getSaveHandlers('indexeddb://foo-model');\n expect(out2.length).toEqual(1);\n expect(out2[0] instanceof BrowserIndexedDB).toEqual(true);\n });\n\n it('getLoadHandler succeeds', () => {\n IORouterRegistry.registerLoadRouter(localStorageRouter);\n IORouterRegistry.registerLoadRouter(indexedDBRouter);\n\n const out1 = tf.io.getLoadHandlers('localstorage://foo-model');\n expect(out1.length).toEqual(1);\n expect(out1[0] instanceof BrowserLocalStorage).toEqual(true);\n const out2 = tf.io.getLoadHandlers('indexeddb://foo-model');\n expect(out2.length).toEqual(1);\n expect(out2[0] instanceof BrowserIndexedDB).toEqual(true);\n });\n\n it('getLoadHandler with string array argument succeeds', () => {\n IORouterRegistry.registerLoadRouter(fakeMultiStringRouter);\n const loadHandler =\n IORouterRegistry.getLoadHandlers(['foo:///123', 'foo:///456']);\n expect(loadHandler[0] instanceof FakeIOHandler).toEqual(true);\n\n expect(IORouterRegistry.getLoadHandlers([\n 'foo:///123', 'bar:///456'\n ])).toEqual([]);\n expect(IORouterRegistry.getLoadHandlers(['foo:///123'])).toEqual([]);\n expect(IORouterRegistry.getLoadHandlers('foo:///123')).toEqual([]);\n });\n\n it('getSaveHandler fails', () => {\n IORouterRegistry.registerSaveRouter(localStorageRouter);\n\n expect(tf.io.getSaveHandlers('invalidscheme://foo-model')).toEqual([]);\n // Check there is no crosstalk between save and load handlers.\n expect(tf.io.getLoadHandlers('localstorage://foo-model')).toEqual([]);\n });\n\n const fakeLoadOptionsRouter = (url: string, loadOptions?: LoadOptions) => {\n return new FakeLoadOptionsHandler(url, loadOptions);\n };\n\n class FakeLoadOptionsHandler implements IOHandler {\n save?: SaveHandler;\n load?: LoadHandler;\n constructor(url: string, private readonly loadOptions?: LoadOptions) {}\n get loadOptionsData() {\n return this.loadOptions;\n }\n }\n\n it('getLoadHandler loadOptions', () => {\n IORouterRegistry.registerLoadRouter(fakeLoadOptionsRouter);\n\n const loadOptions: LoadOptions = {\n onProgress: (fraction: number) => {},\n fetchFunc: () => {}\n };\n const loadHandler = tf.io.getLoadHandlers('foo:///123', loadOptions);\n expect(loadHandler.length).toEqual(1);\n expect(loadHandler[0] instanceof FakeLoadOptionsHandler).toEqual(true);\n // Check callback function passed to IOHandler\n expect((loadHandler[0] as FakeLoadOptionsHandler).loadOptionsData)\n .toBe(loadOptions);\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"router_registry_test.js","sourceRoot":"","sources":["../../src/io/router_registry_test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAC,YAAY,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAChE,OAAO,EAAC,mBAAmB,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAGnD,iBAAiB,CAAC,kBAAkB,EAAE,YAAY,EAAE,GAAG,EAAE;IACvD,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,iBAAiB,CAAC;QACjC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YAC1B,OAAO,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;SACtD;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE;QACtC,MAAM,MAAM,GAAG,cAAc,CAAC;QAC9B,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YAC1B,OAAO,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;SACnD;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC;IAEF,MAAM,aAAa;QACjB,YAAY,IAAY,EAAE,IAAY,IAAG,CAAC;KAC3C;IAED,MAAM,qBAAqB,GAAG,CAAC,GAAoB,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG,QAAQ,CAAC;QACxB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1C,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;gBAC1D,OAAO,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1C;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC;IAEF,IAAI,oBAAoB,GAAqB,IAAI,CAAC;IAClD,UAAU,CAAC,GAAG,EAAE;QACd,oCAAoC;QACpC,wBAAwB;QACxB,oBAAoB,GAAI,gBAAwB,CAAC,QAAQ,CAAC;QACzD,gBAAwB,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1C,uBAAuB;IACzB,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,kCAAkC;QACjC,gBAAwB,CAAC,QAAQ,GAAG,oBAAoB,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,gBAAgB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QACxD,gBAAgB,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAErD,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,mBAAmB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,gBAAgB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QACxD,gBAAgB,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAErD,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,mBAAmB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,gBAAgB,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;QAC3D,MAAM,WAAW,GACb,gBAAgB,CAAC,eAAe,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;QACnE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,aAAa,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE9D,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC;YACtC,YAAY,EAAE,YAAY;SAC3B,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,gBAAgB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QAExD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,2BAA2B,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvE,8DAA8D;QAC9D,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,MAAM,qBAAqB,GAAG,CAAC,GAAW,EAAE,WAAyB,EAAE,EAAE;QACvE,OAAO,IAAI,sBAAsB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC,CAAC;IAEF,MAAM,sBAAsB;QAG1B,YAAY,GAAW,EAAmB,WAAyB;YAAzB,gBAAW,GAAX,WAAW,CAAc;QAAG,CAAC;QACvE,IAAI,eAAe;YACjB,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;KACF;IAED,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,gBAAgB,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;QAE3D,MAAM,WAAW,GAAgB;YAC/B,UAAU,EAAE,CAAC,QAAgB,EAAE,EAAE,GAAE,CAAC;YACpC,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;SACpB,CAAC;QACF,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACrE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,sBAAsB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvE,8CAA8C;QAC9C,MAAM,CAAE,WAAW,CAAC,CAAC,CAA4B,CAAC,eAAe,CAAC;aAC7D,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/types.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/types.js.map index a54ec509a..06b5eab03 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/types.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/types.js.map @@ -1 +1 @@ -{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/io/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,6DAA6D;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA8B;IAC7D,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,CAAC;CACf,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 */\n\n/* Type definitions for exporting and importing of models. */\n\n/**\n * A map from Tensor dtype to number of bytes per element of the Tensor.\n */\nexport const DTYPE_VALUE_SIZE_MAP: {[dtype: string]: number} = {\n 'float32': 4,\n 'float16': 2,\n 'int32': 4,\n 'uint16': 2,\n 'uint8': 1,\n 'bool': 1,\n 'complex64': 8\n};\n\n/**\n * A weight manifest.\n *\n * The weight manifest consists of an ordered list of weight-manifest groups.\n * Each weight-manifest group (\"group\" for short hereafter) consists of a\n * number of weight values stored in a number of paths.\n * See the documentation of `WeightManifestGroupConfig` below for more details.\n */\nexport declare type WeightsManifestConfig = WeightsManifestGroupConfig[];\n\n/**\n * A weight-manifest group.\n *\n * Consists of an ordered list of weight values encoded in binary format,\n * stored in an ordered list of paths.\n */\nexport declare interface WeightsManifestGroupConfig {\n /**\n * An ordered list of paths.\n *\n * Paths are intentionally abstract in order to be general. For example, they\n * can be relative URL paths or relative paths on the file system.\n */\n paths: string[];\n\n /**\n * Specifications of the weights stored in the paths.\n */\n weights: WeightsManifestEntry[];\n}\n\n/**\n * Group to which the weight belongs.\n *\n * - 'optimizer': Weight from a stateful optimizer.\n */\nexport type WeightGroup = 'model'|'optimizer';\n\n/**\n * An entry in the weight manifest.\n *\n * The entry contains specification of a weight.\n */\nexport declare interface WeightsManifestEntry {\n /**\n * Name of the weight, e.g., 'Dense_1/bias'\n */\n name: string;\n\n /**\n * Shape of the weight.\n */\n shape: number[];\n\n /**\n * Data type of the weight.\n */\n dtype: 'float32'|'int32'|'bool'|'string'|'complex64';\n\n /**\n * Type of the weight.\n *\n * Optional.\n *\n * The value 'optimizer' indicates the weight belongs to an optimizer\n * (i.e., used only during model training and not during inference).\n */\n group?: WeightGroup;\n\n /**\n * Information for dequantization of the weight.\n */\n quantization?: {\n scale?: number, // The scaling constant to multiply by.\n min?: number, // The (possibly nudged) minimum weight to add.\n dtype: 'uint16'|'uint8'|'float16' // The dtype of the quantized weights.\n };\n}\n\n/**\n * Options for saving a model.\n * @innamespace io\n */\nexport interface SaveConfig {\n /**\n * Whether to save only the trainable weights of the model, ignoring the\n * non-trainable ones.\n */\n trainableOnly?: boolean;\n\n /**\n * Whether the optimizer will be saved (if exists).\n *\n * Default: `false`.\n */\n includeOptimizer?: boolean;\n}\n\n/**\n * Result of a saving operation.\n */\nexport interface SaveResult {\n /**\n * Information about the model artifacts saved.\n */\n modelArtifactsInfo: ModelArtifactsInfo;\n\n /**\n * HTTP responses from the server that handled the model-saving request (if\n * any). This is applicable only to server-based saving routes.\n */\n responses?: Response[];\n\n /**\n * Error messages and related data (if any).\n */\n errors?: Array<{}|string>;\n}\n\nexport declare interface ModelArtifactsInfo {\n /**\n * Timestamp for when the model is saved.\n */\n dateSaved: Date;\n\n /**\n * TODO (cais,yassogba) consider removing GraphDef as GraphDefs now\n * come in a JSON format and none of our IOHandlers support a non json\n * format. We could conder replacing this with 'Binary' if we want to\n * allow future handlers to save to non json formats (though they will\n * probably want more information than 'Binary').\n * Type of the model topology\n *\n * Type of the model topology\n *\n * Possible values:\n * - JSON: JSON config (human-readable, e.g., Keras JSON).\n * - GraphDef: TensorFlow\n * [GraphDef](https://www.tensorflow.org/extend/tool_developers/#graphdef)\n * protocol buffer (binary).\n */\n modelTopologyType: 'JSON'|'GraphDef';\n\n /**\n * Size of model topology (Keras JSON or GraphDef), in bytes.\n */\n modelTopologyBytes?: number;\n\n /**\n * Size of weight specification or manifest, in bytes.\n */\n weightSpecsBytes?: number;\n\n /**\n * Size of weight value data, in bytes.\n */\n weightDataBytes?: number;\n}\n\n/** Model training configuration. */\nexport declare interface TrainingConfig {\n // TODO(cais): Tighten the typing once keras spec is available to tfjs-core.\n // See\n // tslint:disable-next-line:max-line-length\n // https://github.com/tensorflow/tfjs-layers/blob/master/src/keras_format/training_config.ts\n /** Optimizer used for the model training. */\n optimizer_config: {};\n\n // TODO(cais): Tighten the typing once keras spec is available to tfjs-core.\n /** Loss function(s) for the model's output(s). */\n loss: string|string[]|{[key: string]: string};\n\n // TODO(cais): Tighten the typing once keras spec is available to tfjs-core.\n /** Metric function(s) for the model's output(s). */\n metrics?: string[]|{[key: string]: string};\n\n // TODO(cais): Tighten the typing once keras spec is available to tfjs-core.\n weighted_metrics?: string[];\n\n // TODO(cais): Tighten the typing once keras spec is available to tfjs-core.\n sample_weight_mode?: string;\n\n loss_weights?: number[]|{[key: string]: number};\n}\n\n/**\n * The serialized artifacts of a model, including topology and weights.\n *\n * The `modelTopology`, `trainingConfig`, `weightSpecs` and `weightData` fields\n * of this interface are optional, in order to support topology- or weights-only\n * saving and loading.\n *\n * Note this interface is used internally in IOHandlers. For the file format\n * written to disk as `model.json`, see `ModelJSON`.\n */\nexport declare interface ModelArtifacts {\n /**\n * Model topology.\n *\n * For Keras-style `tf.Model`s, this is a JSON object.\n * For TensorFlow-style models (e.g., `SavedModel`), this is the JSON\n * encoding of the `GraphDef` protocol buffer.\n */\n modelTopology?: {}|ArrayBuffer;\n\n /**\n * Serialized configuration for the model's training.\n */\n trainingConfig?: TrainingConfig;\n\n /**\n * Weight specifications.\n *\n * This corresponds to the weightsData below.\n */\n weightSpecs?: WeightsManifestEntry[];\n\n /**\n * Binary buffer for all weight values concatenated in the order specified\n * by `weightSpecs`.\n */\n weightData?: ArrayBuffer;\n\n /**\n * Hard-coded format name for models saved from TensorFlow.js or converted\n * by TensorFlow.js Converter.\n */\n format?: string;\n\n /**\n * What library is responsible for originally generating this artifact.\n *\n * Used for debugging purposes. E.g., 'TensorFlow.js v1.0.0'.\n */\n generatedBy?: string;\n\n /**\n * What library or tool is responsible for converting the original model\n * to this format, applicable only if the model is output by a converter.\n *\n * Used for debugging purposes. E.g., 'TensorFlow.js Converter v1.0.0'.\n *\n * A value of `null` means the model artifacts are generated without any\n * conversion process (e.g., saved directly from a TensorFlow.js\n * `tf.LayersModel` instance.)\n */\n convertedBy?: string|null;\n\n /**\n * Inputs and outputs signature for saved model.\n */\n signature?: {};\n\n /**\n * User-defined metadata about the model.\n */\n userDefinedMetadata?: {[key: string]: {}};\n\n /**\n * Initializer for the model.\n */\n modelInitializer?: {};\n}\n\n/**\n * The on-disk format of the `model.json` file.\n *\n * TF.js 1.0 always populates the optional fields when writing model.json.\n * Prior versions did not provide those fields.\n */\nexport declare interface ModelJSON {\n /**\n * Model topology.\n *\n * For Keras-style `tf.Model`s, this is a JSON object.\n * For TensorFlow-style models (e.g., `SavedModel`), this is the JSON\n * encoding of the `GraphDef` protocol buffer.\n */\n modelTopology: {};\n\n /** Model training configuration. */\n trainingConfig?: TrainingConfig;\n\n /**\n * Weights manifest.\n *\n * The weights manifest consists of an ordered list of weight-manifest\n * groups. Each weight-manifest group consists of a number of weight values\n * stored in a number of paths. See the documentation of\n * `WeightsManifestConfig` for more details.\n */\n weightsManifest: WeightsManifestConfig;\n\n /**\n * Hard-coded format name for models saved from TensorFlow.js or converted\n * by TensorFlow.js Converter.\n */\n format?: string;\n\n /**\n * What library is responsible for originally generating this artifact.\n *\n * Used for debugging purposes. E.g., 'TensorFlow.js v1.0.0'.\n */\n generatedBy?: string;\n\n /**\n * What library or tool is responsible for converting the original model\n * to this format, applicable only if the model is output by a converter.\n *\n * Used for debugging purposes. E.g., 'TensorFlow.js Converter v1.0.0'.\n *\n * A value of `null` means the model artifacts are generated without any\n * conversion process (e.g., saved directly from a TensorFlow.js\n * `tf.LayersModel` instance.)\n */\n convertedBy?: string|null;\n\n /**\n * Inputs and outputs signature for saved model.\n */\n signature?: {};\n\n /**\n * User-defined metadata about the model.\n */\n userDefinedMetadata?: {[key: string]: {}};\n\n /**\n * Initializer for the model.\n */\n modelInitializer?: {};\n}\n\n/**\n * Type definition for handlers of loading operations.\n */\nexport type LoadHandler = () => Promise;\n\n/**\n * Type definition for handlers of saving operations.\n */\nexport type SaveHandler = (modelArtifact: ModelArtifacts) =>\n Promise;\n\n/**\n * Interface for a model import/export handler.\n *\n * The `save` and `load` handlers are both optional, in order to allow handlers\n * that support only saving or loading.\n */\n// tslint:disable-next-line:interface-name\nexport interface IOHandler {\n save?: SaveHandler;\n load?: LoadHandler;\n}\n\n/**\n * An interface for the manager of a model store.\n *\n * A model store is defined as a storage medium on which multiple models can\n * be stored. Each stored model has a unique `path` as its identifier.\n * A `ModelStoreManager` for the store allows actions including\n *\n * - Listing the models stored in the store.\n * - Deleting a model from the store.\n */\nexport interface ModelStoreManager {\n /**\n * List all models in the model store.\n *\n * @returns A dictionary mapping paths of existing models to their\n * model artifacts info. Model artifacts info include type of the model's\n * topology, byte sizes of the topology, weights, etc.\n */\n listModels(): Promise<{[path: string]: ModelArtifactsInfo}>;\n\n /**\n * Remove a model specified by `path`.\n *\n * @param path\n * @returns ModelArtifactsInfo of the deleted model (if and only if deletion\n * is successful).\n * @throws Error if deletion fails, e.g., if no model exists at `path`.\n */\n removeModel(path: string): Promise;\n}\n\n/**\n * Callback for the progress of a long-running action such as an HTTP\n * request for a large binary object.\n *\n * `fraction` should be a number in the [0, 1] interval, indicating how\n * much of the action has completed.\n */\nexport type OnProgressCallback = (fraction: number) => void;\n\n/** @innamespace io */\nexport interface LoadOptions {\n /**\n * RequestInit (options) for HTTP requests.\n *\n * For detailed information on the supported fields, see\n * [https://developer.mozilla.org/en-US/docs/Web/API/Request/Request](\n * https://developer.mozilla.org/en-US/docs/Web/API/Request/Request)\n */\n requestInit?: RequestInit;\n\n /**\n * Progress callback.\n */\n onProgress?: OnProgressCallback;\n\n /**\n * A function used to override the `window.fetch` function.\n */\n fetchFunc?: Function;\n\n /**\n * Strict loading model: whether extraneous weights or missing\n * weights should trigger an `Error`.\n *\n * If `true`, require that the provided weights exactly match those\n * required by the layers. `false` means that both extra weights\n * and missing weights will be silently ignored.\n *\n * Default: `true`.\n */\n strict?: boolean;\n\n /**\n * Path prefix for weight files, by default this is calculated from the\n * path of the model JSON file.\n *\n * For instance, if the path to the model JSON file is\n * `http://localhost/foo/model.json`, then the default path prefix will be\n * `http://localhost/foo/`. If a weight file has the path value\n * `group1-shard1of2` in the weight manifest, then the weight file will be\n * loaded from `http://localhost/foo/group1-shard1of2` by default. However,\n * if you provide a `weightPathPrefix` value of\n * `http://localhost/foo/alt-weights`, then the weight file will be loaded\n * from the path `http://localhost/foo/alt-weights/group1-shard1of2` instead.\n */\n weightPathPrefix?: string;\n\n /**\n * Whether the module or model is to be loaded from TF Hub.\n *\n * Setting this to `true` allows passing a TF-Hub module URL, omitting the\n * standard model file name and the query parameters.\n *\n * Default: `false`.\n */\n fromTFHub?: boolean;\n\n /**\n * An async function to convert weight file name to URL. The weight file\n * names are stored in model.json's weightsManifest.paths field. By default we\n * consider weight files are colocated with the model.json file. For example:\n * model.json URL: https://www.google.com/models/1/model.json\n * group1-shard1of1.bin url:\n * https://www.google.com/models/1/group1-shard1of1.bin\n *\n * With this func you can convert the weight file name to any URL.\n */\n weightUrlConverter?: (weightFileName: string) => Promise;\n}\n\n/**\n * Additional options for Platform.fetch\n */\nexport interface RequestDetails {\n /**\n * Is this request for a binary file (as opposed to a json file)\n */\n isBinary?: boolean;\n}\n"]} \ No newline at end of file +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/io/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,6DAA6D;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA8B;IAC7D,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,CAAC;CACf,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/weights_loader.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/weights_loader.js.map index 8df191908..d9479c57b 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/weights_loader.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/weights_loader.js.map @@ -1 +1 @@ -{"version":3,"file":"weights_loader.js","sourceRoot":"","sources":["../../src/io/weights_loader.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\nimport {env} from '../environment';\n\nimport {NamedTensorMap} from '../tensor_types';\nimport * as util from '../util';\nimport {decodeWeights} from './io_utils';\nimport {monitorPromisesProgress} from './progress';\nimport {DTYPE_VALUE_SIZE_MAP, LoadOptions, WeightsManifestConfig, WeightsManifestEntry} from './types';\n\n/**\n * Reads binary weights data from a number of URLs.\n *\n * @param fetchURLs URLs to send the HTTP requests at, using `fetch` calls.\n * @param requestOptions RequestInit (options) for the HTTP requests.\n * @param fetchFunc Optional overriding value for the `window.fetch` function.\n * @param onProgress Optional, progress callback function, fired periodically\n * before the load is completed.\n * @returns A `Promise` of an Array of `ArrayBuffer`. The Array has the same\n * length as `fetchURLs`.\n */\nexport async function loadWeightsAsArrayBuffer(\n fetchURLs: string[], loadOptions?: LoadOptions): Promise {\n if (loadOptions == null) {\n loadOptions = {};\n }\n\n const fetchFunc = loadOptions.fetchFunc == null ? env().platform.fetch :\n loadOptions.fetchFunc;\n\n // Create the requests for all of the weights in parallel.\n const requests = fetchURLs.map(\n fetchURL =>\n fetchFunc(fetchURL, loadOptions.requestInit, {isBinary: true}));\n\n const fetchStartFraction = 0;\n const fetchEndFraction = 0.5;\n\n const responses = loadOptions.onProgress == null ?\n await Promise.all(requests) :\n await monitorPromisesProgress(\n requests, loadOptions.onProgress, fetchStartFraction,\n fetchEndFraction);\n\n const bufferPromises = responses.map(response => response.arrayBuffer());\n\n const bufferStartFraction = 0.5;\n const bufferEndFraction = 1;\n\n const buffers = loadOptions.onProgress == null ?\n await Promise.all(bufferPromises) :\n await monitorPromisesProgress(\n bufferPromises, loadOptions.onProgress, bufferStartFraction,\n bufferEndFraction);\n return buffers;\n}\n\n/**\n * Reads a weights manifest JSON configuration, fetches the weights and\n * returns them as `Tensor`s.\n *\n * @param manifest The weights manifest JSON.\n * @param filePathPrefix The path prefix for filenames given in the manifest.\n * Defaults to the empty string.\n * @param weightNames The names of the weights to be fetched.\n */\nexport async function loadWeights(\n manifest: WeightsManifestConfig, filePathPrefix = '',\n weightNames?: string[],\n requestInit?: RequestInit): Promise {\n // TODO(nsthorat): Groups are currently fetched atomically. If you need a\n // single weight from a group, the whole group will be fetched. At a future\n // date, we should support fetching only the individual shards within a\n // group that are needed to reconstruct the requested weight.\n // TODO(cais): Use `decodeWeights` for implementation.\n\n const fetchWeights = (fetchUrls: string[]) =>\n loadWeightsAsArrayBuffer(fetchUrls, {requestInit});\n const loadWeights = weightsLoaderFactory(fetchWeights);\n\n return loadWeights(manifest, filePathPrefix, weightNames);\n}\n\n/**\n * Creates a function, which reads a weights manifest JSON configuration,\n * fetches the weight files using the specified function and returns them as\n * `Tensor`s.\n *\n * ```js\n * // example for creating a nodejs weight loader, which reads the weight files\n * // from disk using fs.readFileSync\n *\n * import * as fs from 'fs'\n *\n * const fetchWeightsFromDisk = (filePaths: string[]) =>\n * filePaths.map(filePath => fs.readFileSync(filePath).buffer)\n *\n * const loadWeights = tf.io.weightsLoaderFactory(fetchWeightsFromDisk)\n *\n * const manifest = JSON.parse(\n * fs.readFileSync('./my_model-weights_manifest').toString()\n * )\n * const weightMap = await loadWeights(manifest, './')\n * ```\n * @param fetchWeightsFunction The function used for fetching the weight files.\n * @returns Weight loading function.\n */\nexport function weightsLoaderFactory(\n fetchWeightsFunction: (fetchUrls: string[]) => Promise):\n (manifest: WeightsManifestConfig, filePathPrefix?: string,\n weightNames?: string[]) => Promise {\n return async(\n manifest: WeightsManifestConfig, filePathPrefix = '',\n weightNames?: string[]): Promise => {\n // Collect all the groups, weights, and their relative offsets to be\n // fetched.\n const groupIndicesToFetchMap = manifest.map(() => false);\n const groupWeightsToFetch: {\n [group: number]: Array<{\n manifestEntry: WeightsManifestEntry; groupOffset: number;\n sizeBytes: number;\n }>\n } = {};\n const weightsFound =\n weightNames != null ? weightNames.map(() => false) : [];\n const allManifestWeightNames: string[] = [];\n manifest.forEach((manifestGroupConfig, groupIndex) => {\n let groupOffset = 0;\n manifestGroupConfig.weights.forEach(weightsEntry => {\n const rawDtype = ('quantization' in weightsEntry) ?\n weightsEntry.quantization.dtype :\n weightsEntry.dtype;\n\n const weightsBytes = DTYPE_VALUE_SIZE_MAP[rawDtype] *\n util.sizeFromShape(weightsEntry.shape);\n\n const enqueueWeightsForFetchingFn = () => {\n groupIndicesToFetchMap[groupIndex] = true;\n if (groupWeightsToFetch[groupIndex] == null) {\n groupWeightsToFetch[groupIndex] = [];\n }\n\n groupWeightsToFetch[groupIndex].push({\n manifestEntry: weightsEntry,\n groupOffset,\n sizeBytes: weightsBytes\n });\n };\n\n if (weightNames != null) {\n weightNames.forEach((weightName, weightIndex) => {\n if (weightName === weightsEntry.name) {\n enqueueWeightsForFetchingFn();\n weightsFound[weightIndex] = true;\n }\n });\n } else {\n enqueueWeightsForFetchingFn();\n }\n\n allManifestWeightNames.push(weightsEntry.name);\n groupOffset += weightsBytes;\n });\n });\n\n if (!weightsFound.every(found => found)) {\n const weightsNotFound = weightNames.filter((_, i) => !weightsFound[i]);\n throw new Error(\n `Could not find weights in manifest with names: ` +\n `${weightsNotFound.join(', ')}. \\n` +\n `Manifest JSON has weights with names: ` +\n `${allManifestWeightNames.join(', ')}.`);\n }\n\n // Convert the one-hot boolean groupId => shouldFetch map to a list of group\n // IDs.\n const groupIndicesToFetch =\n groupIndicesToFetchMap.reduce((accumulator, shouldFetch, i) => {\n if (shouldFetch) {\n accumulator.push(i);\n }\n return accumulator;\n }, []);\n\n const fetchUrls: string[] = [];\n groupIndicesToFetch.forEach(i => {\n manifest[i].paths.forEach(filepath => {\n const fetchUrl = filePathPrefix +\n (!filePathPrefix.endsWith('/') ? '/' : '') + filepath;\n fetchUrls.push(fetchUrl);\n });\n });\n const buffers = await fetchWeightsFunction(fetchUrls);\n\n const weightsTensorMap: NamedTensorMap = {};\n let bufferIndexOffset = 0;\n groupIndicesToFetch.forEach(i => {\n const numBuffers = manifest[i].paths.length;\n\n let groupBytes = 0;\n for (let i = 0; i < numBuffers; i++) {\n groupBytes += buffers[bufferIndexOffset + i].byteLength;\n }\n\n // Create a buffer for the whole group.\n const groupBuffer = new ArrayBuffer(groupBytes);\n const groupByteBuffer = new Uint8Array(groupBuffer);\n let groupBufferOffset = 0;\n for (let i = 0; i < numBuffers; i++) {\n const buffer = new Uint8Array(buffers[bufferIndexOffset + i]);\n groupByteBuffer.set(buffer, groupBufferOffset);\n groupBufferOffset += buffer.byteLength;\n }\n\n const weightsEntries = groupWeightsToFetch[i];\n weightsEntries.forEach(weightsEntry => {\n const byteBuffer = groupBuffer.slice(\n weightsEntry.groupOffset,\n weightsEntry.groupOffset + weightsEntry.sizeBytes);\n const nameToTensorMap =\n decodeWeights(byteBuffer, [weightsEntry.manifestEntry]);\n for (const name in nameToTensorMap) {\n weightsTensorMap[name] = nameToTensorMap[name];\n }\n });\n\n bufferIndexOffset += numBuffers;\n });\n\n return weightsTensorMap;\n };\n}\n"]} \ No newline at end of file +{"version":3,"file":"weights_loader.js","sourceRoot":"","sources":["../../src/io/weights_loader.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/weights_loader_test.js b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/weights_loader_test.js index a6b63da79..b8760d9af 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/weights_loader_test.js +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/weights_loader_test.js @@ -306,7 +306,7 @@ describeWithFlags('loadWeights', BROWSER_ENVS, () => { expect(weight3.shape).toEqual([]); expect(weight3.dtype).toEqual('float32'); }); - it('throws if requested weight not found', async () => { + it('throws if requested weight not found', async (done) => { setupFakeWeightFiles({ './weightfile0': new Float32Array([1, 2, 3]) }); const manifest = [{ 'paths': ['weightfile0'], @@ -315,13 +315,13 @@ describeWithFlags('loadWeights', BROWSER_ENVS, () => { const weightsNamesToFetch = ['doesntexist']; try { await tf.io.loadWeights(manifest, './', weightsNamesToFetch); - fail(); + done.fail(); } catch (e) { - expect(e.message).toContain('Could not find weights'); + done(); } }); - it('throws if requested weight has unknown dtype', async () => { + it('throws if requested weight has unknown dtype', async (done) => { setupFakeWeightFiles({ './weightfile0': new Float32Array([1, 2, 3]) }); const manifest = [{ 'paths': ['weightfile0'], @@ -335,10 +335,10 @@ describeWithFlags('loadWeights', BROWSER_ENVS, () => { const weightsNamesToFetch = ['weight0']; try { await tf.io.loadWeights(manifest, './', weightsNamesToFetch); - fail(); + done.fail(); } catch (e) { - expect(e.message).toContain('Unsupported dtype'); + done(); } }); it('should use request option', async () => { diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/weights_loader_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/weights_loader_test.js.map index 712586ea8..dab56f77e 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/weights_loader_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/io/weights_loader_test.js.map @@ -1 +1 @@ -{"version":3,"file":"weights_loader_test.js","sourceRoot":"","sources":["../../src/io/weights_loader_test.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 * as tf from '../index';\nimport {BROWSER_ENVS, describeWithFlags} from '../jasmine_util';\nimport {expectArraysClose, expectArraysEqual} from '../test_util';\nimport {WeightsManifestConfig} from './types';\n\ndescribeWithFlags('loadWeights', BROWSER_ENVS, () => {\n const setupFakeWeightFiles = (fileBufferMap: {\n [filename: string]: Float32Array|Int32Array|ArrayBuffer|Uint8Array|\n Uint16Array\n }) => {\n spyOn(tf.env().platform, 'fetch').and.callFake((path: string) => {\n return new Response(\n fileBufferMap[path],\n {headers: {'Content-type': 'application/octet-stream'}});\n });\n };\n\n it('1 group, 1 weight, 1 requested weight', async () => {\n setupFakeWeightFiles({'./weightfile0': new Float32Array([1, 2, 3])});\n\n const manifest: WeightsManifestConfig = [{\n 'paths': ['weightfile0'],\n 'weights': [{'name': 'weight0', 'dtype': 'float32', 'shape': [3]}]\n }];\n\n const weightsNamesToFetch = ['weight0'];\n const weights =\n await tf.io.loadWeights(manifest, './', weightsNamesToFetch);\n expect((tf.env().platform.fetch as jasmine.Spy).calls.count()).toBe(1);\n\n const weightNames = Object.keys(weights);\n expect(weightNames.length).toEqual(weightsNamesToFetch.length);\n\n const weight0 = weights['weight0'];\n expectArraysClose(await weight0.data(), [1, 2, 3]);\n expect(weight0.shape).toEqual([3]);\n expect(weight0.dtype).toEqual('float32');\n });\n\n it('1 group, 2 weights, fetch 1st weight', async () => {\n setupFakeWeightFiles({'./weightfile0': new Float32Array([1, 2, 3, 4, 5])});\n\n const manifest: WeightsManifestConfig = [{\n 'paths': ['weightfile0'],\n 'weights': [\n {'name': 'weight0', 'dtype': 'float32', 'shape': [2]},\n {'name': 'weight1', 'dtype': 'float32', 'shape': [3]}\n ]\n }];\n\n // Load the first weight.\n const weights = await tf.io.loadWeights(manifest, './', ['weight0']);\n expect((tf.env().platform.fetch as jasmine.Spy).calls.count()).toBe(1);\n\n const weightNames = Object.keys(weights);\n expect(weightNames.length).toEqual(1);\n\n const weight0 = weights['weight0'];\n expectArraysClose(await weight0.data(), [1, 2]);\n expect(weight0.shape).toEqual([2]);\n expect(weight0.dtype).toEqual('float32');\n });\n\n it('1 group, 2 weights, fetch 2nd weight', async () => {\n setupFakeWeightFiles({'./weightfile0': new Float32Array([1, 2, 3, 4, 5])});\n\n const manifest: WeightsManifestConfig = [{\n 'paths': ['weightfile0'],\n 'weights': [\n {'name': 'weight0', 'dtype': 'float32', 'shape': [2]},\n {'name': 'weight1', 'dtype': 'float32', 'shape': [3]}\n ]\n }];\n\n // Load the second weight.\n const weights = await tf.io.loadWeights(manifest, './', ['weight1']);\n expect((tf.env().platform.fetch as jasmine.Spy).calls.count()).toBe(1);\n\n const weightNames = Object.keys(weights);\n expect(weightNames.length).toEqual(1);\n\n const weight1 = weights['weight1'];\n expectArraysClose(await weight1.data(), [3, 4, 5]);\n expect(weight1.shape).toEqual([3]);\n expect(weight1.dtype).toEqual('float32');\n });\n\n it('1 group, 2 weights, fetch all weights', async () => {\n setupFakeWeightFiles({'./weightfile0': new Float32Array([1, 2, 3, 4, 5])});\n\n const manifest: WeightsManifestConfig = [{\n 'paths': ['weightfile0'],\n 'weights': [\n {'name': 'weight0', 'dtype': 'float32', 'shape': [2]},\n {'name': 'weight1', 'dtype': 'float32', 'shape': [3]}\n ]\n }];\n\n // Load all weights.\n const weights =\n await tf.io.loadWeights(manifest, './', ['weight0', 'weight1']);\n expect((tf.env().platform.fetch as jasmine.Spy).calls.count()).toBe(1);\n\n const weightNames = Object.keys(weights);\n expect(weightNames.length).toEqual(2);\n\n const weight0 = weights['weight0'];\n expectArraysClose(await weight0.data(), [1, 2]);\n expect(weight0.shape).toEqual([2]);\n expect(weight0.dtype).toEqual('float32');\n\n const weight1 = weights['weight1'];\n expectArraysClose(await weight1.data(), [3, 4, 5]);\n expect(weight1.shape).toEqual([3]);\n expect(weight1.dtype).toEqual('float32');\n });\n\n it('1 group, multiple weights, different dtypes', async () => {\n const buffer = new ArrayBuffer(5 * 4 + 1);\n const view = new DataView(buffer);\n view.setInt32(0, 1, true);\n view.setInt32(4, 2, true);\n view.setUint8(8, 1);\n view.setFloat32(9, 3., true);\n view.setFloat32(13, 4., true);\n view.setFloat32(17, 5., true);\n setupFakeWeightFiles({'./weightfile0': buffer});\n\n const manifest: WeightsManifestConfig = [{\n 'paths': ['weightfile0'],\n 'weights': [\n {'name': 'weight0', 'dtype': 'int32', 'shape': [2]},\n {'name': 'weight1', 'dtype': 'bool', 'shape': []},\n {'name': 'weight2', 'dtype': 'float32', 'shape': [3]},\n ]\n }];\n\n // Load all weights.\n const weights = await tf.io.loadWeights(\n manifest, './', ['weight0', 'weight1', 'weight2']);\n expect((tf.env().platform.fetch as jasmine.Spy).calls.count()).toBe(1);\n\n const weightNames = Object.keys(weights);\n expect(weightNames.length).toEqual(3);\n\n const weight0 = weights['weight0'];\n expectArraysClose(await weight0.data(), [1, 2]);\n expect(weight0.shape).toEqual([2]);\n expect(weight0.dtype).toEqual('int32');\n\n const weight1 = weights['weight1'];\n expectArraysClose(await weight1.data(), [1]);\n expect(weight1.shape).toEqual([]);\n expect(weight1.dtype).toEqual('bool');\n\n const weight2 = weights['weight2'];\n expectArraysClose(await weight2.data(), [3, 4, 5]);\n expect(weight2.shape).toEqual([3]);\n expect(weight2.dtype).toEqual('float32');\n });\n\n it('1 group, sharded 1 weight across multiple files', async () => {\n const shard0 = new Float32Array([1, 2, 3, 4, 5]);\n const shard1 = new Float32Array([1.1, 2.2]);\n const shard2 = new Float32Array([10, 20, 30]);\n\n setupFakeWeightFiles({\n './weightfile0': shard0,\n './weightsfile1': shard1,\n './weightsfile2': shard2\n });\n\n const manifest: WeightsManifestConfig = [{\n 'paths': ['weightfile0', 'weightsfile1', 'weightsfile2'],\n 'weights': [{'name': 'weight0', 'dtype': 'float32', 'shape': [5, 2]}]\n }];\n\n const weights = await tf.io.loadWeights(manifest, './', ['weight0']);\n expect((tf.env().platform.fetch as jasmine.Spy).calls.count()).toBe(3);\n\n const weightNames = Object.keys(weights);\n expect(weightNames.length).toEqual(1);\n\n const weight0 = weights['weight0'];\n expectArraysClose(\n await weight0.data(), [1, 2, 3, 4, 5, 1.1, 2.2, 10, 20, 30]);\n expect(weight0.shape).toEqual([5, 2]);\n expect(weight0.dtype).toEqual('float32');\n });\n\n it('1 group, sharded 2 weights across multiple files', async () => {\n const shard0 = new Int32Array([1, 2, 3, 4, 5]);\n\n // shard1 contains part of the first weight and part of the second.\n const shard1 = new ArrayBuffer(5 * 4);\n const intBuffer = new Int32Array(shard1, 0, 2);\n intBuffer.set([10, 20]);\n const floatBuffer = new Float32Array(shard1, intBuffer.byteLength, 3);\n floatBuffer.set([3.0, 4.0, 5.0]);\n\n const shard2 = new Float32Array([10, 20, 30]);\n\n setupFakeWeightFiles({\n './weightfile0': shard0,\n './weightsfile1': shard1,\n './weightsfile2': shard2\n });\n\n const manifest: WeightsManifestConfig = [{\n 'paths': ['weightfile0', 'weightsfile1', 'weightsfile2'],\n 'weights': [\n {'name': 'weight0', 'dtype': 'int32', 'shape': [7, 1]},\n {'name': 'weight1', 'dtype': 'float32', 'shape': [3, 2]}\n ]\n }];\n\n const weights =\n await tf.io.loadWeights(manifest, './', ['weight0', 'weight1']);\n expect((tf.env().platform.fetch as jasmine.Spy).calls.count()).toBe(3);\n\n const weightNames = Object.keys(weights);\n expect(weightNames.length).toEqual(2);\n\n const weight0 = weights['weight0'];\n expectArraysClose(await weight0.data(), [1, 2, 3, 4, 5, 10, 20]);\n expect(weight0.shape).toEqual([7, 1]);\n expect(weight0.dtype).toEqual('int32');\n\n const weight1 = weights['weight1'];\n expectArraysClose(await weight1.data(), [3.0, 4.0, 5.0, 10, 20, 30]);\n expect(weight1.shape).toEqual([3, 2]);\n expect(weight1.dtype).toEqual('float32');\n });\n\n it('2 group, 4 weights, fetches one group', async () => {\n setupFakeWeightFiles({\n './weightfile0': new Float32Array([1, 2, 3, 4, 5]),\n './weightfile1': new Float32Array([6, 7, 8, 9])\n });\n\n const manifest: WeightsManifestConfig = [\n {\n 'paths': ['weightfile0'],\n 'weights': [\n {'name': 'weight0', 'dtype': 'float32', 'shape': [2]},\n {'name': 'weight1', 'dtype': 'float32', 'shape': [3]}\n ]\n },\n {\n 'paths': ['weightfile1'],\n 'weights': [\n {'name': 'weight2', 'dtype': 'float32', 'shape': [3, 1]},\n {'name': 'weight3', 'dtype': 'float32', 'shape': []}\n ]\n }\n ];\n\n const weights =\n await tf.io.loadWeights(manifest, './', ['weight0', 'weight1']);\n // Only the first group should be fetched.\n expect((tf.env().platform.fetch as jasmine.Spy).calls.count()).toBe(1);\n\n const weightNames = Object.keys(weights);\n expect(weightNames.length).toEqual(2);\n\n const weight0 = weights['weight0'];\n expectArraysClose(await weight0.data(), [1, 2]);\n expect(weight0.shape).toEqual([2]);\n expect(weight0.dtype).toEqual('float32');\n\n const weight1 = weights['weight1'];\n expectArraysClose(await weight1.data(), [3, 4, 5]);\n expect(weight1.shape).toEqual([3]);\n expect(weight1.dtype).toEqual('float32');\n });\n\n it('2 group, 4 weights, one weight from each group', async () => {\n setupFakeWeightFiles({\n './weightfile0': new Float32Array([1, 2, 3, 4, 5]),\n './weightfile1': new Float32Array([6, 7, 8, 9])\n });\n\n const manifest: WeightsManifestConfig = [\n {\n 'paths': ['weightfile0'],\n 'weights': [\n {'name': 'weight0', 'dtype': 'float32', 'shape': [2]},\n {'name': 'weight1', 'dtype': 'float32', 'shape': [3]}\n ]\n },\n {\n 'paths': ['weightfile1'],\n 'weights': [\n {'name': 'weight2', 'dtype': 'float32', 'shape': [3, 1]},\n {'name': 'weight3', 'dtype': 'float32', 'shape': []}\n ]\n }\n ];\n\n const weights =\n await tf.io.loadWeights(manifest, './', ['weight0', 'weight2']);\n // Both groups need to be fetched.\n expect((tf.env().platform.fetch as jasmine.Spy).calls.count()).toBe(2);\n\n const weightNames = Object.keys(weights);\n expect(weightNames.length).toEqual(2);\n\n const weight0 = weights['weight0'];\n expectArraysClose(await weight0.data(), [1, 2]);\n expect(weight0.shape).toEqual([2]);\n expect(weight0.dtype).toEqual('float32');\n\n const weight2 = weights['weight2'];\n expectArraysClose(await weight2.data(), [6, 7, 8]);\n expect(weight2.shape).toEqual([3, 1]);\n expect(weight2.dtype).toEqual('float32');\n });\n\n it('2 group, 4 weights, dont specify weights fetchs all', async () => {\n setupFakeWeightFiles({\n './weightfile0': new Float32Array([1, 2, 3, 4, 5]),\n './weightfile1': new Float32Array([6, 7, 8, 9])\n });\n\n const manifest: WeightsManifestConfig = [\n {\n 'paths': ['weightfile0'],\n 'weights': [\n {'name': 'weight0', 'dtype': 'float32', 'shape': [2]},\n {'name': 'weight1', 'dtype': 'float32', 'shape': [3]}\n ]\n },\n {\n 'paths': ['weightfile1'],\n 'weights': [\n {'name': 'weight2', 'dtype': 'float32', 'shape': [3, 1]},\n {'name': 'weight3', 'dtype': 'float32', 'shape': []}\n ]\n }\n ];\n\n // Don't pass a third argument to loadWeights to load all weights.\n const weights = await tf.io.loadWeights(manifest, './');\n // Both groups need to be fetched.\n expect((tf.env().platform.fetch as jasmine.Spy).calls.count()).toBe(2);\n\n const weightNames = Object.keys(weights);\n expect(weightNames.length).toEqual(4);\n\n const weight0 = weights['weight0'];\n expectArraysClose(await weight0.data(), [1, 2]);\n expect(weight0.shape).toEqual([2]);\n expect(weight0.dtype).toEqual('float32');\n\n const weight1 = weights['weight1'];\n expectArraysClose(await weight1.data(), [3, 4, 5]);\n expect(weight1.shape).toEqual([3]);\n expect(weight1.dtype).toEqual('float32');\n\n const weight2 = weights['weight2'];\n expectArraysClose(await weight2.data(), [6, 7, 8]);\n expect(weight2.shape).toEqual([3, 1]);\n expect(weight2.dtype).toEqual('float32');\n\n const weight3 = weights['weight3'];\n expectArraysClose(await weight3.data(), [9]);\n expect(weight3.shape).toEqual([]);\n expect(weight3.dtype).toEqual('float32');\n });\n\n it('throws if requested weight not found', async () => {\n setupFakeWeightFiles({'./weightfile0': new Float32Array([1, 2, 3])});\n\n const manifest: WeightsManifestConfig = [{\n 'paths': ['weightfile0'],\n 'weights': [{'name': 'weight0', 'dtype': 'float32', 'shape': [3]}]\n }];\n\n const weightsNamesToFetch = ['doesntexist'];\n try {\n await tf.io.loadWeights(manifest, './', weightsNamesToFetch);\n fail();\n } catch (e) {\n expect(e.message).toContain('Could not find weights');\n }\n });\n\n it('throws if requested weight has unknown dtype', async () => {\n setupFakeWeightFiles({'./weightfile0': new Float32Array([1, 2, 3])});\n\n const manifest: WeightsManifestConfig = [{\n 'paths': ['weightfile0'],\n 'weights': [{\n 'name': 'weight0',\n // tslint:disable-next-line:no-any\n 'dtype': 'null' as any,\n 'shape': [3]\n }]\n }];\n\n const weightsNamesToFetch = ['weight0'];\n try {\n await tf.io.loadWeights(manifest, './', weightsNamesToFetch);\n fail();\n } catch (e) {\n expect(e.message).toContain('Unsupported dtype');\n }\n });\n\n it('should use request option', async () => {\n setupFakeWeightFiles({'./weightfile0': new Float32Array([1, 2, 3])});\n\n const manifest: WeightsManifestConfig = [{\n 'paths': ['weightfile0'],\n 'weights': [{'name': 'weight0', 'dtype': 'float32', 'shape': [3]}]\n }];\n\n const weightsNamesToFetch = ['weight0'];\n await tf.io.loadWeights(\n manifest, './', weightsNamesToFetch, {credentials: 'include'});\n expect((tf.env().platform.fetch as jasmine.Spy).calls.count()).toBe(1);\n expect(tf.env().platform.fetch)\n .toHaveBeenCalledWith(\n './weightfile0', {credentials: 'include'}, {isBinary: true});\n });\n\n const quantizationTest = async (quantizationDtype: 'uint8'|'uint16') => {\n const arrayType = quantizationDtype === 'uint8' ? Uint8Array : Uint16Array;\n setupFakeWeightFiles(\n {'./weightfile0': new arrayType([0, 48, 255, 0, 48, 255])});\n\n const manifest: WeightsManifestConfig = [{\n 'paths': ['weightfile0'],\n 'weights': [\n {\n 'name': 'weight0',\n 'dtype': 'float32',\n 'shape': [3],\n 'quantization': {'min': -1, 'scale': 0.1, 'dtype': quantizationDtype}\n },\n {\n 'name': 'weight1',\n 'dtype': 'int32',\n 'shape': [3],\n 'quantization': {'min': -1, 'scale': 0.1, 'dtype': quantizationDtype}\n }\n ]\n }];\n\n const weightsNamesToFetch = ['weight0', 'weight1'];\n const weights =\n await tf.io.loadWeights(manifest, './', weightsNamesToFetch);\n expect((tf.env().platform.fetch as jasmine.Spy).calls.count()).toBe(1);\n\n const weightNames = Object.keys(weights);\n expect(weightNames.length).toEqual(weightsNamesToFetch.length);\n\n const weight0 = weights['weight0'];\n expectArraysClose(await weight0.data(), [-1, 3.8, 24.5]);\n expect(weight0.shape).toEqual([3]);\n expect(weight0.dtype).toEqual('float32');\n\n const weight1 = weights['weight1'];\n expectArraysEqual(await weight1.data(), [-1, 4, 25]);\n expect(weight1.shape).toEqual([3]);\n expect(weight1.dtype).toEqual('int32');\n };\n\n it('quantized weights (uint8)', async () => {\n await quantizationTest('uint8');\n });\n\n it('quantized weights (uint16)', async () => {\n await quantizationTest('uint16');\n });\n\n it('2 groups, 1 quantized, 1 unquantized', async () => {\n setupFakeWeightFiles({\n './weightfile0': new Uint8Array([0, 48, 255, 0, 48, 255]),\n './weightfile1': new Float32Array([6, 7, 8, 9])\n });\n\n const manifest: WeightsManifestConfig = [\n {\n 'paths': ['weightfile0'],\n 'weights': [\n {\n 'name': 'weight0',\n 'dtype': 'float32',\n 'shape': [3],\n 'quantization': {'min': -1, 'scale': 0.1, 'dtype': 'uint8'}\n },\n {\n 'name': 'weight1',\n 'dtype': 'int32',\n 'shape': [3],\n 'quantization': {'min': -1, 'scale': 0.1, 'dtype': 'uint8'}\n }\n ]\n },\n {\n 'paths': ['weightfile1'],\n 'weights': [\n {'name': 'weight2', 'dtype': 'float32', 'shape': [3, 1]},\n {'name': 'weight3', 'dtype': 'float32', 'shape': []}\n ]\n }\n ];\n\n const weights =\n await tf.io.loadWeights(manifest, './', ['weight0', 'weight2']);\n // Both groups need to be fetched.\n expect((tf.env().platform.fetch as jasmine.Spy).calls.count()).toBe(2);\n\n const weightNames = Object.keys(weights);\n expect(weightNames.length).toEqual(2);\n\n const weight0 = weights['weight0'];\n expectArraysClose(await weight0.data(), [-1, 3.8, 24.5]);\n expect(weight0.shape).toEqual([3]);\n expect(weight0.dtype).toEqual('float32');\n\n const weight2 = weights['weight2'];\n expectArraysClose(await weight2.data(), [6, 7, 8]);\n expect(weight2.shape).toEqual([3, 1]);\n expect(weight2.dtype).toEqual('float32');\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"weights_loader_test.js","sourceRoot":"","sources":["../../src/io/weights_loader_test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/jasmine_util.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/jasmine_util.js.map index 9cd7d9983..d2df9da44 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/jasmine_util.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/jasmine_util.js.map @@ -1 +1 @@ -{"version":3,"file":"jasmine_util.js","sourceRoot":"","sources":["../src/jasmine_util.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\n// We use the pattern below (as opposed to require('jasmine') to create the\n// jasmine module in order to avoid loading node specific modules which may\n// be ignored in browser environments but cannot be ignored in react-native\n// due to the pre-bundling of dependencies that it must do.\n// tslint:disable-next-line:no-require-imports\nconst jasmineRequire = require('jasmine-core/lib/jasmine-core/jasmine.js');\nconst jasmineCore = jasmineRequire.core(jasmineRequire);\nimport {KernelBackend} from './backends/backend';\nimport {ENGINE} from './engine';\nimport {env, Environment, Flags} from './environment';\n\nError.stackTraceLimit = Infinity;\njasmineCore.DEFAULT_TIMEOUT_INTERVAL = 20000;\n\nexport type Constraints = {\n flags?: Flags,\n predicate?: (testEnv: TestEnv) => boolean,\n};\n\nexport const NODE_ENVS: Constraints = {\n predicate: () => env().platformName === 'node'\n};\nexport const CHROME_ENVS: Constraints = {\n flags: {'IS_CHROME': true}\n};\nexport const BROWSER_ENVS: Constraints = {\n predicate: () => env().platformName === 'browser'\n};\n\nexport const SYNC_BACKEND_ENVS: Constraints = {\n predicate: (testEnv: TestEnv) => testEnv.isDataSync === true\n};\n\nexport const HAS_WORKER = {\n predicate: () => typeof (Worker) !== 'undefined' &&\n typeof (Blob) !== 'undefined' && typeof (URL) !== 'undefined'\n};\n\nexport const HAS_NODE_WORKER = {\n predicate: () => {\n let hasWorker = true;\n try {\n require.resolve('worker_threads');\n } catch {\n hasWorker = false;\n }\n return typeof (process) !== 'undefined' && hasWorker;\n }\n};\n\nexport const ALL_ENVS: Constraints = {};\n\n// Tests whether the current environment satisfies the set of constraints.\nexport function envSatisfiesConstraints(\n env: Environment, testEnv: TestEnv, constraints: Constraints): boolean {\n if (constraints == null) {\n return true;\n }\n\n if (constraints.flags != null) {\n for (const flagName in constraints.flags) {\n const flagValue = constraints.flags[flagName];\n if (env.get(flagName) !== flagValue) {\n return false;\n }\n }\n }\n if (constraints.predicate != null && !constraints.predicate(testEnv)) {\n return false;\n }\n return true;\n}\n\nexport interface TestFilter {\n include?: string;\n startsWith?: string;\n excludes?: string[];\n}\n\n/**\n * Add test filtering logic to Jasmine's specFilter hook.\n *\n * @param testFilters Used for include a test suite, with the ability\n * to selectively exclude some of the tests.\n * Either `include` or `startsWith` must exist for a `TestFilter`.\n * Tests that have the substrings specified by the include or startsWith\n * will be included in the test run, unless one of the substrings specified\n * by `excludes` appears in the name.\n * @param customInclude Function to programatically include a test.\n * If this function returns true, a test will immediately run. Otherwise,\n * `testFilters` is used for fine-grained filtering.\n *\n * If a test is not handled by `testFilters` or `customInclude`, the test will\n * be excluded in the test run.\n */\nexport function setupTestFilters(\n testFilters: TestFilter[], customInclude: (name: string) => boolean) {\n const env = jasmine.getEnv();\n\n // Account for --grep flag passed to karma by saving the existing specFilter.\n const grepFilter = env.specFilter;\n\n /**\n * Filter method that returns boolean, if a given test should run or be\n * ignored based on its name. The exclude list has priority over the\n * include list. Thus, if a test matches both the exclude and the include\n * list, it will be exluded.\n */\n // tslint:disable-next-line: no-any\n env.specFilter = (spec: any) => {\n // Filter out tests if the --grep flag is passed.\n if (!grepFilter(spec)) {\n return false;\n }\n\n const name = spec.getFullName();\n\n if (customInclude(name)) {\n return true;\n }\n\n // Include tests of a test suite unless tests are in excludes list.\n for (let i = 0; i < testFilters.length; ++i) {\n const testFilter = testFilters[i];\n if ((testFilter.include != null &&\n name.indexOf(testFilter.include) > -1) ||\n (testFilter.startsWith != null &&\n name.startsWith(testFilter.startsWith))) {\n if (testFilter.excludes != null) {\n for (let j = 0; j < testFilter.excludes.length; j++) {\n if (name.indexOf(testFilter.excludes[j]) > -1) {\n return false;\n }\n }\n }\n return true;\n }\n }\n\n // Otherwise ignore the test.\n return false;\n };\n}\n\nexport function parseTestEnvFromKarmaFlags(\n args: string[], registeredTestEnvs: TestEnv[]): TestEnv {\n let flags: Flags;\n let testEnvName: string;\n\n args.forEach((arg, i) => {\n if (arg === '--flags') {\n flags = JSON.parse(args[i + 1]);\n } else if (arg === '--testEnv') {\n testEnvName = args[i + 1];\n }\n });\n\n const testEnvNames = registeredTestEnvs.map(env => env.name).join(', ');\n if (flags != null && testEnvName == null) {\n throw new Error(\n '--testEnv flag is required when --flags is present. ' +\n `Available values are [${testEnvNames}].`);\n }\n if (testEnvName == null) {\n return null;\n }\n\n let testEnv: TestEnv;\n registeredTestEnvs.forEach(env => {\n if (env.name === testEnvName) {\n testEnv = env;\n }\n });\n if (testEnv == null) {\n throw new Error(\n `Test environment with name ${testEnvName} not ` +\n `found. Available test environment names are ` +\n `${testEnvNames}`);\n }\n if (flags != null) {\n testEnv.flags = flags;\n }\n\n return testEnv;\n}\n\nexport function describeWithFlags(\n name: string, constraints: Constraints, tests: (env: TestEnv) => void) {\n if (TEST_ENVS.length === 0) {\n throw new Error(\n `Found no test environments. This is likely due to test environment ` +\n `registries never being imported or test environment registries ` +\n `being registered too late.`);\n }\n\n TEST_ENVS.forEach(testEnv => {\n env().setFlags(testEnv.flags);\n if (envSatisfiesConstraints(env(), testEnv, constraints)) {\n const testName =\n name + ' ' + testEnv.name + ' ' + JSON.stringify(testEnv.flags || {});\n executeTests(testName, tests, testEnv);\n }\n });\n}\n\nexport interface TestEnv {\n name: string;\n backendName: string;\n flags?: Flags;\n isDataSync?: boolean;\n}\n\nexport const TEST_ENVS: TestEnv[] = [];\n\n// Whether a call to setTestEnvs has been called so we turn off\n// registration. This allows command line overriding or programmatic\n// overriding of the default registrations.\nlet testEnvSet = false;\nexport function setTestEnvs(testEnvs: TestEnv[]) {\n testEnvSet = true;\n TEST_ENVS.length = 0;\n TEST_ENVS.push(...testEnvs);\n}\n\nexport function registerTestEnv(testEnv: TestEnv) {\n // When using an explicit call to setTestEnvs, turn off registration of\n // test environments because the explicit call will set the test\n // environments.\n if (testEnvSet) {\n return;\n }\n TEST_ENVS.push(testEnv);\n}\n\nfunction executeTests(\n testName: string, tests: (env: TestEnv) => void, testEnv: TestEnv) {\n describe(testName, () => {\n beforeAll(async () => {\n ENGINE.reset();\n if (testEnv.flags != null) {\n env().setFlags(testEnv.flags);\n }\n env().set('IS_TEST', true);\n // Await setting the new backend since it can have async init.\n await ENGINE.setBackend(testEnv.backendName);\n });\n\n beforeEach(() => {\n ENGINE.startScope();\n });\n\n afterEach(() => {\n ENGINE.endScope();\n ENGINE.disposeVariables();\n });\n\n afterAll(() => {\n ENGINE.reset();\n });\n\n tests(testEnv);\n });\n}\n\nexport class TestKernelBackend extends KernelBackend {\n dispose(): void {}\n}\n"]} \ No newline at end of file +{"version":3,"file":"jasmine_util.js","sourceRoot":"","sources":["../src/jasmine_util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,2EAA2E;AAC3E,2EAA2E;AAC3E,2EAA2E;AAC3E,2DAA2D;AAC3D,8CAA8C;AAC9C,MAAM,cAAc,GAAG,OAAO,CAAC,0CAA0C,CAAC,CAAC;AAC3E,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,GAAG,EAAqB,MAAM,eAAe,CAAC;AAEtD,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;AACjC,WAAW,CAAC,wBAAwB,GAAG,KAAK,CAAC;AAO7C,MAAM,CAAC,MAAM,SAAS,GAAgB;IACpC,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,YAAY,KAAK,MAAM;CAC/C,CAAC;AACF,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,KAAK,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC;CAC3B,CAAC;AACF,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,YAAY,KAAK,SAAS;CAClD,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAgB;IAC5C,SAAS,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI;CAC7D,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,WAAW;QAC5C,OAAO,CAAC,IAAI,CAAC,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,WAAW;CAClE,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,SAAS,EAAE,GAAG,EAAE;QACd,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,IAAI;YACF,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;SACnC;QAAC,WAAM;YACN,SAAS,GAAG,KAAK,CAAC;SACnB;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,WAAW,IAAI,SAAS,CAAC;IACvD,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAgB,EAAE,CAAC;AAExC,0EAA0E;AAC1E,MAAM,UAAU,uBAAuB,CACnC,GAAgB,EAAE,OAAgB,EAAE,WAAwB;IAC9D,IAAI,WAAW,IAAI,IAAI,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;IAED,IAAI,WAAW,CAAC,KAAK,IAAI,IAAI,EAAE;QAC7B,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,KAAK,EAAE;YACxC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE;gBACnC,OAAO,KAAK,CAAC;aACd;SACF;KACF;IACD,IAAI,WAAW,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QACpE,OAAO,KAAK,CAAC;KACd;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAQD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,gBAAgB,CAC5B,WAAyB,EAAE,aAAwC;IACrE,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAE7B,6EAA6E;IAC7E,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IAElC;;;;;OAKG;IACH,mCAAmC;IACnC,GAAG,CAAC,UAAU,GAAG,CAAC,IAAS,EAAE,EAAE;QAC7B,iDAAiD;QACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACrB,OAAO,KAAK,CAAC;SACd;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEhC,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC;SACb;QAED,mEAAmE;QACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC3C,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI;gBAC1B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvC,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI;oBAC7B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE;gBAC5C,IAAI,UAAU,CAAC,QAAQ,IAAI,IAAI,EAAE;oBAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACnD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;4BAC7C,OAAO,KAAK,CAAC;yBACd;qBACF;iBACF;gBACD,OAAO,IAAI,CAAC;aACb;SACF;QAED,6BAA6B;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACtC,IAAc,EAAE,kBAA6B;IAC/C,IAAI,KAAY,CAAC;IACjB,IAAI,WAAmB,CAAC;IAExB,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACjC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE;YAC9B,WAAW,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC3B;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,IAAI,KAAK,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,EAAE;QACxC,MAAM,IAAI,KAAK,CACX,sDAAsD;YACtD,yBAAyB,YAAY,IAAI,CAAC,CAAC;KAChD;IACD,IAAI,WAAW,IAAI,IAAI,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;IAED,IAAI,OAAgB,CAAC;IACrB,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE;YAC5B,OAAO,GAAG,GAAG,CAAC;SACf;IACH,CAAC,CAAC,CAAC;IACH,IAAI,OAAO,IAAI,IAAI,EAAE;QACnB,MAAM,IAAI,KAAK,CACX,8BAA8B,WAAW,OAAO;YAChD,8CAA8C;YAC9C,GAAG,YAAY,EAAE,CAAC,CAAC;KACxB;IACD,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;KACvB;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC7B,IAAY,EAAE,WAAwB,EAAE,KAA6B;IACvE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,MAAM,IAAI,KAAK,CACX,qEAAqE;YACrE,iEAAiE;YACjE,4BAA4B,CAAC,CAAC;KACnC;IAED,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC1B,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,uBAAuB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE;YACxD,MAAM,QAAQ,GACV,IAAI,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC1E,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SACxC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AASD,MAAM,CAAC,MAAM,SAAS,GAAc,EAAE,CAAC;AAEvC,+DAA+D;AAC/D,oEAAoE;AACpE,2CAA2C;AAC3C,IAAI,UAAU,GAAG,KAAK,CAAC;AACvB,MAAM,UAAU,WAAW,CAAC,QAAmB;IAC7C,UAAU,GAAG,IAAI,CAAC;IAClB,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACrB,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,uEAAuE;IACvE,gEAAgE;IAChE,gBAAgB;IAChB,IAAI,UAAU,EAAE;QACd,OAAO;KACR;IACD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CACjB,QAAgB,EAAE,KAA6B,EAAE,OAAgB;IACnE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE;gBACzB,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAC/B;YACD,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC3B,8DAA8D;YAC9D,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,GAAG,EAAE;YACb,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,EAAE;YACZ,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAClD,OAAO,KAAU,CAAC;CACnB"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/jasmine_util_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/jasmine_util_test.js.map index 19402943a..6c3ddb07c 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/jasmine_util_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/jasmine_util_test.js.map @@ -1 +1 @@ -{"version":3,"file":"jasmine_util_test.js","sourceRoot":"","sources":["../src/jasmine_util_test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,uBAAuB,EAAE,0BAA0B,EAAU,MAAM,gBAAgB,CAAC;AAE5F,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;QAChC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEjB,MAAM,WAAW,GAAG,EAAE,CAAC;QAEvB,MAAM,WAAW,GAAG,cAAc,CAAC;QAEnC,MAAM,CACF,uBAAuB,CAAC,GAAG,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAC,EAAE,WAAW,CAAC,CAAC;aACtE,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;QAChC,GAAG,CAAC,QAAQ,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC,CAAC;QAElC,MAAM,WAAW,GAAG,EAAC,KAAK,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,EAAC,CAAC;QAEjD,MAAM,WAAW,GAAG,cAAc,CAAC;QAEnC,MAAM,CACF,uBAAuB,CAAC,GAAG,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAC,EAAE,WAAW,CAAC,CAAC;aACtE,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;QAChC,GAAG,CAAC,QAAQ,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC,CAAC;QAElC,MAAM,WAAW,GAAG,EAAC,KAAK,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,EAAC,CAAC;QAExE,MAAM,WAAW,GAAG,cAAc,CAAC;QAEnC,MAAM,CACF,uBAAuB,CAAC,GAAG,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAC,EAAE,WAAW,CAAC,CAAC;aACtE,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;QAChC,GAAG,CAAC,QAAQ,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC,CAAC;QAElC,MAAM,WAAW,GAAG,EAAC,KAAK,EAAE,EAAC,WAAW,EAAE,KAAK,EAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,EAAC,CAAC;QAEzE,MAAM,WAAW,GAAG,cAAc,CAAC;QAEnC,MAAM,CACF,uBAAuB,CAAC,GAAG,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAC,EAAE,WAAW,CAAC,CAAC;aACtE,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;QAChC,GAAG,CAAC,QAAQ,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC,CAAC;QAElC,MAAM,WAAW,GAAG,EAAC,KAAK,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,EAAC,CAAC;QAEzE,MAAM,WAAW,GAAG,cAAc,CAAC;QAEnC,MAAM,CACF,uBAAuB,CAAC,GAAG,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAC,EAAE,WAAW,CAAC,CAAC;aACtE,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;QAChC,GAAG,CAAC,QAAQ,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC,CAAC;QAElC,MAAM,WAAW,GAAG,EAAC,KAAK,EAAE,EAAC,WAAW,EAAE,KAAK,EAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,EAAC,CAAC;QAE1E,MAAM,WAAW,GAAG,cAAc,CAAC;QAEnC,MAAM,CACF,uBAAuB,CAAC,GAAG,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAC,EAAE,WAAW,CAAC,CAAC;aACtE,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,MAAM,kBAAkB,GAAc;QACpC,EAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAC;KAC7E,CAAC;IAEF,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,GAAG,GAAG,0BAA0B,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAC/D,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,GAAG,GAAG,0BAA0B,CAClC,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,CAAC,EACzD,kBAAkB,CAAC,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CACF,GAAG,EAAE,CAAC,0BAA0B,CAC5B,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,kBAAkB,CAAC,CAAC;aACjD,YAAY,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,CACF,GAAG,EAAE,CAAC,0BAA0B,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAC;aACvE,YAAY,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EACtE,GAAG,EAAE;QACH,MAAM,CACF,GAAG,EAAE,CAAC,0BAA0B,CAC5B,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,kBAAkB,CAAC,CAAC;aAC7D,YAAY,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEN,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CACF,GAAG,EAAE,CAAC,0BAA0B,CAC5B,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,EAC/C,kBAAkB,CAAC,CAAC;aACvB,YAAY,EAAE,CAAC;IACtB,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 */\n\nimport {Environment} from './environment';\nimport {envSatisfiesConstraints, parseTestEnvFromKarmaFlags, TestEnv} from './jasmine_util';\n\ndescribe('jasmine_util.envSatisfiesConstraints', () => {\n it('ENV satisfies empty constraints', () => {\n const env = new Environment({});\n env.setFlags({});\n\n const constraints = {};\n\n const backendName = 'test-backend';\n\n expect(\n envSatisfiesConstraints(env, {name: 'test', backendName}, constraints))\n .toBe(true);\n });\n\n it('ENV satisfies matching flag constraints no predicate', () => {\n const env = new Environment({});\n env.setFlags({'TEST-FLAG': true});\n\n const constraints = {flags: {'TEST-FLAG': true}};\n\n const backendName = 'test-backend';\n\n expect(\n envSatisfiesConstraints(env, {name: 'test', backendName}, constraints))\n .toBe(true);\n });\n\n it('ENV satisfies matching flag and predicate is true', () => {\n const env = new Environment({});\n env.setFlags({'TEST-FLAG': true});\n\n const constraints = {flags: {'TEST-FLAG': true}, predicate: () => true};\n\n const backendName = 'test-backend';\n\n expect(\n envSatisfiesConstraints(env, {name: 'test', backendName}, constraints))\n .toBe(true);\n });\n\n it('ENV doesnt satisfy flags and predicate is true', () => {\n const env = new Environment({});\n env.setFlags({'TEST-FLAG': true});\n\n const constraints = {flags: {'TEST-FLAG': false}, predicate: () => true};\n\n const backendName = 'test-backend';\n\n expect(\n envSatisfiesConstraints(env, {name: 'test', backendName}, constraints))\n .toBe(false);\n });\n\n it('ENV satisfies flags and predicate is false', () => {\n const env = new Environment({});\n env.setFlags({'TEST-FLAG': true});\n\n const constraints = {flags: {'TEST-FLAG': true}, predicate: () => false};\n\n const backendName = 'test-backend';\n\n expect(\n envSatisfiesConstraints(env, {name: 'test', backendName}, constraints))\n .toBe(false);\n });\n\n it('ENV doesnt satiisfy flags and predicate is false', () => {\n const env = new Environment({});\n env.setFlags({'TEST-FLAG': true});\n\n const constraints = {flags: {'TEST-FLAG': false}, predicate: () => false};\n\n const backendName = 'test-backend';\n\n expect(\n envSatisfiesConstraints(env, {name: 'test', backendName}, constraints))\n .toBe(false);\n });\n});\n\ndescribe('jasmine_util.parseKarmaFlags', () => {\n const registeredTestEnvs: TestEnv[] = [\n {name: 'test-env', backendName: 'test-backend', isDataSync: true, flags: {}}\n ];\n\n it('parse empty args', () => {\n const res = parseTestEnvFromKarmaFlags([], registeredTestEnvs);\n expect(res).toBeNull();\n });\n\n it('--testEnv test-env --flags {\"IS_NODE\": true}', () => {\n const res = parseTestEnvFromKarmaFlags(\n ['--testEnv', 'test-env', '--flags', '{\"IS_NODE\": true}'],\n registeredTestEnvs);\n expect(res.name).toBe('test-env');\n expect(res.backendName).toBe('test-backend');\n expect(res.flags).toEqual({IS_NODE: true});\n });\n\n it('\"--testEnv unknown\" throws error', () => {\n expect(\n () => parseTestEnvFromKarmaFlags(\n ['--testEnv', 'unknown'], registeredTestEnvs))\n .toThrowError();\n });\n\n it('\"--flags {}\" throws error since --testEnv is missing', () => {\n expect(\n () => parseTestEnvFromKarmaFlags(['--flags', '{}'], registeredTestEnvs))\n .toThrowError();\n });\n\n it('\"--testEnv cpu --flags\" throws error since features value is missing',\n () => {\n expect(\n () => parseTestEnvFromKarmaFlags(\n ['--testEnv', 'test-env', '--flags'], registeredTestEnvs))\n .toThrowError();\n });\n\n it('\"--backend cpu --flags notJson\" throws error', () => {\n expect(\n () => parseTestEnvFromKarmaFlags(\n ['--testEnv', 'test-env', '--flags', 'notJson'],\n registeredTestEnvs))\n .toThrowError();\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"jasmine_util_test.js","sourceRoot":"","sources":["../src/jasmine_util_test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_names.d.ts b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_names.d.ts index 2c9cbf8db..f20c4cda2 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_names.d.ts +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_names.d.ts @@ -221,7 +221,7 @@ export declare const DepthwiseConv2dNative = "DepthwiseConv2dNative"; export declare type DepthwiseConv2dNativeInputs = Pick; export interface DepthwiseConv2dNativeAttrs { strides: [number, number] | number; - pad: 'valid' | 'same' | number | ExplicitPadding; + pad: 'valid' | 'same' | number; dataFormat: 'NHWC' | 'NCHW'; dilations: [number, number] | number; dimRoundingMode?: 'floor' | 'round' | 'ceil'; @@ -231,7 +231,7 @@ export declare type DepthwiseConv2dNativeBackpropFilterInputs = Pick; export declare const RealDiv = "RealDiv"; export declare type RealDivInputs = BinaryInputs; -export declare const Einsum = "Einsum"; -export declare type EinsumInputs = TensorInfo[]; -export interface EinsumAttrs { - equation: string; -} export declare const Elu = "Elu"; export declare type EluInputs = Pick; export declare const EluGrad = "EluGrad"; @@ -608,19 +603,17 @@ export declare type SoftmaxInputs = Pick; export interface SoftmaxAttrs { dim: number; } -export declare const SparseFillEmptyRows = "SparseFillEmptyRows"; -export declare type SparseFillEmptyRowsInputs = Pick; -export declare const SparseReshape = "SparseReshape"; -export declare type SparseReshapeInputs = Pick; +export declare const SquaredDifference = "SquaredDifference"; +export declare type SquaredDifferenceInputs = BinaryInputs; +export declare const Square = "Square"; +export declare type SquareInputs = Pick; +export declare const Sub = "Sub"; +export declare type SubInputs = BinaryInputs; export declare const SparseToDense = "SparseToDense"; export declare type SparseToDenseInputs = Pick; export interface SparseToDenseAttrs { outputShape: number[]; } -export declare const SquaredDifference = "SquaredDifference"; -export declare type SquaredDifferenceInputs = BinaryInputs; -export declare const Square = "Square"; -export declare type SquareInputs = Pick; export declare const StridedSlice = "StridedSlice"; export declare type StridedSliceInputs = Pick; export interface StridedSliceAttrs { @@ -633,8 +626,6 @@ export interface StridedSliceAttrs { newAxisMask: number; shrinkAxisMask: number; } -export declare const Sub = "Sub"; -export declare type SubInputs = BinaryInputs; export declare const Tan = "Tan"; export declare type TanInputs = UnaryInputs; export declare const Tanh = "Tanh"; @@ -650,14 +641,6 @@ export interface TopKAttrs { k: number; sorted: boolean; } -export declare const Transform = "Transform"; -export declare type TransformInputs = Pick; -export interface TransformAttrs { - interpolation: 'nearest' | 'bilinear'; - fillMode: 'constant' | 'reflect' | 'wrap' | 'nearest'; - fillValue: number; - outputShape?: [number, number]; -} export declare const Transpose = "Transpose"; export declare type TransposeInputs = Pick; export interface TransposeAttrs { @@ -741,7 +724,7 @@ export interface FusedDepthwiseConv2DInputs extends NamedTensorInfoMap { } export interface FusedDepthwiseConv2DAttrs { strides: [number, number] | number; - pad: 'valid' | 'same' | number | ExplicitPadding; + pad: 'valid' | 'same' | number; dataFormat: 'NHWC' | 'NCHW'; dilations: [number, number] | number; dimRoundingMode: 'floor' | 'round' | 'ceil'; diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_names.js b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_names.js index da09e0f75..b45c89337 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_names.js +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_names.js @@ -46,7 +46,6 @@ export const Dilation2D = 'Dilation2D'; export const Dilation2DBackpropInput = 'Dilation2DBackpropInput'; export const Dilation2DBackpropFilter = 'Dilation2DBackpropFilter'; export const RealDiv = 'RealDiv'; -export const Einsum = 'Einsum'; export const Elu = 'Elu'; export const EluGrad = 'EluGrad'; export const Erf = 'Erf'; @@ -136,18 +135,15 @@ export const Sum = 'Sum'; export const SpaceToBatchND = 'SpaceToBatchND'; export const SplitV = 'SplitV'; export const Softmax = 'Softmax'; -export const SparseFillEmptyRows = 'SparseFillEmptyRows'; -export const SparseReshape = 'SparseReshape'; -export const SparseToDense = 'SparseToDense'; export const SquaredDifference = 'SquaredDifference'; export const Square = 'Square'; -export const StridedSlice = 'StridedSlice'; export const Sub = 'Sub'; +export const SparseToDense = 'SparseToDense'; +export const StridedSlice = 'StridedSlice'; export const Tan = 'Tan'; export const Tanh = 'Tanh'; export const Tile = 'Tile'; export const TopK = 'TopK'; -export const Transform = 'Transform'; export const Transpose = 'Transpose'; export const Unique = 'Unique'; export const Unpack = 'Unpack'; diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_names.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_names.js.map index a7c31a43b..24aaa2729 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_names.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_names.js.map @@ -1 +1 @@ -{"version":3,"file":"kernel_names.js","sourceRoot":"","sources":["../src/kernel_names.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// Allow UpperCamelCase variable names\n// tslint:disable: variable-name\n// Unfortunately just enabling PascalCase per file (tslint:enable:\n// allow-pascal-case) doesn't work.\nimport {NamedTensorInfoMap, TensorInfo} from './kernel_registry';\nimport {ExplicitPadding} from './ops/conv_util';\nimport {Activation} from './ops/fused_types';\nimport {DataType, PixelData} from './types';\n\nexport const Abs = 'Abs';\nexport type AbsInputs = UnaryInputs;\n\nexport const Acos = 'Acos';\nexport type AcosInputs = UnaryInputs;\n\nexport const Acosh = 'Acosh';\nexport type AcoshInputs = UnaryInputs;\n\nexport const Add = 'Add';\nexport type AddInputs = BinaryInputs;\n\nexport const AddN = 'AddN';\nexport type AddNInputs = TensorInfo[];\n\nexport const All = 'All';\nexport type AllInputs = Pick;\nexport interface AllAttrs {\n axis: number|number[];\n keepDims: boolean;\n}\n\nexport const Any = 'Any';\nexport type AnyInputs = Pick;\nexport interface AnyAttrs {\n axis: number|number[];\n keepDims: boolean;\n}\n\nexport const ArgMax = 'ArgMax';\nexport type ArgMaxInputs = Pick;\nexport interface ArgMaxAttrs {\n axis: number;\n}\n\nexport const ArgMin = 'ArgMin';\nexport type ArgMinInputs = Pick;\nexport interface ArgMinAttrs {\n axis: number;\n}\n\nexport const Asin = 'Asin';\nexport type AsinInputs = UnaryInputs;\n\nexport const Asinh = 'Asinh';\nexport type AsinhInputs = UnaryInputs;\n\nexport const Atan = 'Atan';\nexport type AtanInputs = UnaryInputs;\n\nexport const Atanh = 'Atanh';\nexport type AtanhInputs = UnaryInputs;\n\nexport const Atan2 = 'Atan2';\nexport type Atan2Inputs = BinaryInputs;\n\nexport const AvgPool = 'AvgPool';\nexport type AvgPoolInputs = Pick;\nexport interface AvgPoolAttrs {\n filterSize: [number, number]|number;\n strides: [number, number]|number;\n pad: 'valid'|'same'|number;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n}\n\nexport const AvgPoolGrad = 'AvgPoolGrad';\nexport type AvgPoolGradInputs = Pick;\nexport interface AvgPoolGradAttrs {\n filterSize: [number, number]|number;\n strides: [number, number]|number;\n pad: 'valid'|'same'|number;\n}\n\nexport const AvgPool3D = 'AvgPool3D';\nexport type AvgPool3DInputs = Pick;\nexport interface AvgPool3DAttrs {\n filterSize: [number, number, number]|number;\n strides: [number, number, number]|number;\n pad: 'valid'|'same'|number;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n dataFormat: 'NDHWC'|'NCDHW';\n}\n\nexport const AvgPool3DGrad = 'AvgPool3DGrad';\nexport type AvgPool3DGradInputs = Pick;\nexport interface AvgPool3DGradAttrs {\n filterSize: [number, number, number]|number;\n strides: [number, number, number]|number;\n pad: 'valid'|'same'|number;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n}\n\nexport const BatchMatMul = 'BatchMatMul';\nexport type BatchMatMulInputs = Pick;\nexport interface BatchMatMulAttrs {\n transposeA: boolean;\n transposeB: boolean;\n}\n\nexport const BatchToSpaceND = 'BatchToSpaceND';\nexport type BatchToSpaceNDInputs = Pick;\nexport interface BatchToSpaceNDAttrs {\n blockShape: number[];\n crops: number[][];\n}\n\nexport type BinaryInputs = Pick;\n\nexport const Bincount = 'Bincount';\nexport type BincountInputs = Pick;\nexport interface BincountAttrs {\n size: number;\n}\n\nexport const BroadcastTo = 'BroadcastTo';\nexport type BroadcastToInputs = Pick;\nexport interface BroadCastToAttrs {\n shape: number[];\n inputShape: number[]; // for gradient\n}\n\nexport const Cast = 'Cast';\nexport type CastInputs = UnaryInputs;\nexport interface CastAttrs {\n dtype: DataType;\n}\n\nexport const Ceil = 'Ceil';\nexport type CeilInputs = UnaryInputs;\n\nexport const ClipByValue = 'ClipByValue';\nexport type ClipByValueInputs = UnaryInputs;\nexport interface ClipByValueAttrs {\n clipValueMin: number;\n clipValueMax: number;\n}\n\nexport const Complex = 'Complex';\nexport type ComplexInputs = Pick;\n\nexport const ComplexAbs = 'ComplexAbs';\nexport type ComplexAbsInputs = UnaryInputs;\n\nexport const Concat = 'Concat';\nexport type ConcatInputs = TensorInfo[];\nexport interface ConcatAttrs {\n axis: number;\n}\n\nexport const Conv2D = 'Conv2D';\nexport type Conv2DInputs = Pick;\nexport interface Conv2DAttrs {\n strides: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n dataFormat: 'NHWC'|'NCHW';\n dilations: [number, number]|number;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n}\n\nexport const Conv2DBackpropFilter = 'Conv2DBackpropFilter';\nexport type Conv2DBackpropFilterInputs = Pick;\nexport interface Conv2DBackpropFilterAttrs {\n strides: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n dataFormat: 'NHWC'|'NCHW';\n dimRoundingMode?: 'floor'|'round'|'ceil';\n filterShape: [number, number, number, number];\n}\n\nexport const Conv2DBackpropInput = 'Conv2DBackpropInput';\nexport type Conv2DBackpropInputInputs = Pick;\nexport interface Conv2DBackpropInputAttrs {\n strides: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n dataFormat: 'NHWC'|'NCHW';\n dimRoundingMode?: 'floor'|'round'|'ceil';\n inputShape: [number, number, number, number];\n}\n\nexport const Conv3D = 'Conv3D';\nexport type Conv3DInputs = Pick;\nexport interface Conv3DAttrs {\n strides: [number, number, number]|number;\n pad: 'valid'|'same';\n dataFormat: 'NDHWC'|'NCDHW';\n dilations: [number, number, number]|number;\n}\n\nexport const Conv3DBackpropFilterV2 = 'Conv3DBackpropFilterV2';\nexport type Conv3DBackpropFilterV2Inputs = Pick;\n\nexport interface Conv3DBackpropFilterV2Attrs {\n strides: [number, number, number]|number;\n pad: 'valid'|'same';\n filterShape: [number, number, number, number, number];\n}\n\nexport const Conv3DBackpropInputV2 = 'Conv3DBackpropInputV2';\nexport type Conv3DBackpropInputV2Inputs =\n Pick;\nexport interface Conv3DBackpropInputV2Attrs {\n strides: [number, number, number]|number;\n pad: 'valid'|'same';\n inputShape: [number, number, number, number, number];\n}\n\nexport const Cos = 'Cos';\nexport type CosInputs = UnaryInputs;\n\nexport const Cosh = 'Cosh';\nexport type CoshInputs = UnaryInputs;\n\nexport const Cumsum = 'Cumsum';\nexport type CumsumInputs = Pick;\nexport interface CumsumAttrs {\n axis: number;\n exclusive: boolean;\n reverse: boolean;\n}\n\nexport const CropAndResize = 'CropAndResize';\nexport type CropAndResizeInputs =\n Pick;\nexport interface CropAndResizeAttrs {\n cropSize: [number, number];\n method: 'bilinear'|'nearest';\n extrapolationValue: number;\n}\n\nexport const DenseBincount = 'DenseBincount';\nexport type DenseBincountInputs = Pick;\nexport interface DenseBincountAttrs {\n size: number;\n binaryOutput?: boolean;\n}\n\nexport const DepthToSpace = 'DepthToSpace';\nexport type DepthToSpaceInputs = Pick;\nexport interface DepthToSpaceAttrs {\n blockSize: number;\n dataFormat: 'NHWC'|'NCHW';\n}\n\nexport const DepthwiseConv2dNative = 'DepthwiseConv2dNative';\nexport type DepthwiseConv2dNativeInputs =\n Pick;\nexport interface DepthwiseConv2dNativeAttrs {\n strides: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n dataFormat: 'NHWC'|'NCHW';\n dilations: [number, number]|number;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n}\n\nexport const DepthwiseConv2dNativeBackpropFilter =\n 'DepthwiseConv2dNativeBackpropFilter';\nexport type DepthwiseConv2dNativeBackpropFilterInputs =\n Pick;\nexport interface DepthwiseConv2dNativeBackpropFilterAttrs {\n strides: [number, number]|number;\n dilations: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n filterShape: [number, number, number, number];\n}\n\nexport const DepthwiseConv2dNativeBackpropInput =\n 'DepthwiseConv2dNativeBackpropInput';\nexport type DepthwiseConv2dNativeBackpropInputInputs =\n Pick;\nexport interface DepthwiseConv2dNativeBackpropInputAttrs {\n strides: [number, number]|number;\n dilations: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n inputShape: [number, number, number, number];\n}\n\nexport const Diag = 'Diag';\nexport type DiagInputs = Pick;\n\nexport const Dilation2D = 'Dilation2D';\nexport type Dilation2DInputs = Pick;\nexport interface Dilation2DAttrs {\n strides: [number, number]|number;\n pad: 'valid'|'same'|number;\n dilations: [number, number]|number;\n}\n\nexport const Dilation2DBackpropInput = 'Dilation2DBackpropInput';\nexport type Dilation2DBackpropInputInputs =\n Pick;\n\nexport const Dilation2DBackpropFilter = 'Dilation2DBackpropFilter';\nexport type Dilation2DBackpropFilterInputs =\n Pick;\n\nexport const RealDiv = 'RealDiv';\nexport type RealDivInputs = BinaryInputs;\n\nexport const Einsum = 'Einsum';\nexport type EinsumInputs = TensorInfo[];\nexport interface EinsumAttrs {\n equation: string;\n}\n\nexport const Elu = 'Elu';\nexport type EluInputs = Pick;\n\nexport const EluGrad = 'EluGrad';\nexport type EluGradInputs = Pick;\n\nexport const Erf = 'Erf';\nexport type ErfInputs = UnaryInputs;\n\nexport const Equal = 'Equal';\nexport type EqualInputs = BinaryInputs;\n\nexport const Exp = 'Exp';\nexport type ExpInputs = UnaryInputs;\n\nexport const ExpandDims = 'ExpandDims';\nexport type ExpandDimsInputs = Pick;\nexport interface ExpandDimsAttrs {\n dim: number;\n}\n\nexport const Expm1 = 'Expm1';\nexport type Expm1Inputs = UnaryInputs;\n\nexport const FFT = 'FFT';\nexport type FFTInputs = Pick;\n\nexport const Fill = 'Fill';\nexport interface FillAttrs {\n shape: number[];\n value: number|string;\n dtype: DataType;\n}\n\nexport const FlipLeftRight = 'FlipLeftRight';\nexport type FlipLeftRightInputs = Pick;\n\nexport const Floor = 'Floor';\nexport type FloorInputs = UnaryInputs;\n\nexport const FloorDiv = 'FloorDiv';\nexport type FloorDivInputs = BinaryInputs;\n\nexport const FusedBatchNorm = 'FusedBatchNorm';\nexport type FusedBatchNormInputs =\n Pick;\nexport interface FusedBatchNormAttrs {\n varianceEpsilon: number;\n}\n\nexport const GatherV2 = 'GatherV2';\nexport type GatherV2Inputs = Pick;\nexport interface GatherV2Attrs {\n axis: number;\n batchDims: number;\n}\n\nexport const GatherNd = 'GatherNd';\nexport type GatherNdInputs = Pick;\n\nexport const Greater = 'Greater';\nexport type GreaterInputs = BinaryInputs;\n\nexport const GreaterEqual = 'GreaterEqual';\nexport type GreaterEqualInputs = BinaryInputs;\n\nexport const Identity = 'Identity';\nexport type IdentityInputs = Pick;\n\nexport const IFFT = 'IFFT';\nexport type IFFTInputs = Pick;\n\nexport const Imag = 'Imag';\nexport type ImagInputs = Pick;\n\nexport const IsFinite = 'IsFinite';\nexport type IsFiniteInputs = UnaryInputs;\n\nexport const IsInf = 'IsInf';\nexport type IsInfInputs = UnaryInputs;\n\nexport const IsNan = 'IsNan';\nexport type IsNanInputs = UnaryInputs;\n\nexport const LeakyRelu = 'LeakyRelu';\nexport type LeakyReluInputs = Pick;\nexport interface LeakyReluAttrs {\n alpha: number;\n}\n\nexport const Less = 'Less';\nexport type LessInputs = BinaryInputs;\n\nexport const LessEqual = 'LessEqual';\nexport type LessEqualInputs = BinaryInputs;\n\nexport const LinSpace = 'LinSpace';\nexport interface LinSpaceAttrs {\n start: number;\n stop: number;\n num: number;\n}\nexport const Log = 'Log';\nexport type LogInputs = UnaryInputs;\n\nexport const Log1p = 'Log1p';\nexport type Log1pInputs = UnaryInputs;\n\nexport const LogicalAnd = 'LogicalAnd';\nexport type LogicalAndInputs = BinaryInputs;\n\nexport const LogicalNot = 'LogicalNot';\nexport type LogicalNotInputs = Pick;\n\nexport const LogicalOr = 'LogicalOr';\nexport type LogicalOrInputs = BinaryInputs;\n\nexport const LogSoftmax = 'LogSoftmax';\nexport type LogSoftmaxInputs = Pick;\nexport interface LogSoftmaxAttrs {\n axis: number;\n}\n\nexport const LRN = 'LRN';\nexport type LRNInputs = Pick;\nexport interface LRNAttrs {\n depthRadius: number;\n bias: number;\n alpha: number;\n beta: number;\n}\n\nexport const LRNGrad = 'LRNGrad';\nexport type LRNGradInputs = Pick;\nexport interface LRNGradAttrs {\n depthRadius: number;\n bias: number;\n alpha: number;\n beta: number;\n}\n\nexport const Max = 'Max';\nexport type MaxInputs = Pick;\nexport interface MaxAttrs {\n reductionIndices: number|number[];\n keepDims: boolean;\n}\n\nexport const Maximum = 'Maximum';\nexport type MaximumInputs = BinaryInputs;\n\nexport const MaxPool = 'MaxPool';\nexport type MaxPoolInputs = Pick;\nexport interface MaxPoolAttrs {\n filterSize: [number, number]|number;\n strides: [number, number]|number;\n pad: 'valid'|'same'|number;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n}\n\nexport const MaxPoolGrad = 'MaxPoolGrad';\nexport type MaxPoolGradInputs = Pick;\nexport interface MaxPoolGradAttrs {\n filterSize: [number, number]|number;\n strides: [number, number]|number;\n pad: 'valid'|'same'|number;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n}\n\nexport const MaxPool3D = 'MaxPool3D';\nexport type MaxPool3DInputs = Pick;\nexport interface MaxPool3DAttrs {\n filterSize: [number, number, number]|number;\n strides: [number, number, number]|number;\n pad: 'valid'|'same'|number;\n dataFormat: 'NDHWC'|'NCDHW';\n dimRoundingMode?: 'floor'|'round'|'ceil';\n}\n\nexport const MaxPool3DGrad = 'MaxPool3DGrad';\nexport type MaxPool3DGradInputs =\n Pick;\nexport interface MaxPool3DGradAttrs {\n filterSize: [number, number, number]|number;\n strides: [number, number, number]|number;\n pad: 'valid'|'same'|number;\n dimRoundingMode?: 'floor'|'round'|'ceil';\n}\n\nexport const MaxPoolWithArgmax = 'MaxPoolWithArgmax';\nexport type MaxPoolWithArgmaxInputs = Pick;\nexport interface MaxPoolWithArgmaxAttrs {\n filterSize: [number, number]|number;\n strides: [number, number]|number;\n pad: 'valid'|'same'|number;\n includeBatchInIndex: boolean;\n}\n\nexport const Mean = 'Mean';\nexport type MeanInputs = Pick;\nexport interface MeanAttrs {\n axis: number|number[];\n keepDims: boolean;\n}\n\nexport const Min = 'Min';\nexport type MinInputs = Pick;\nexport interface MinAttrs {\n axis: number|number[];\n keepDims: boolean;\n}\n\nexport const Minimum = 'Minimum';\nexport type MinimumInputs = BinaryInputs;\n\nexport const MirrorPad = 'MirrorPad';\nexport type MirrorPadInputs = Pick;\nexport interface MirrorPadAttrs {\n paddings: Array<[number, number]>;\n mode: 'reflect'|'symmetric';\n}\n\nexport const Mod = 'Mod';\nexport type ModInputs = BinaryInputs;\n\nexport const Multinomial = 'Multinomial';\nexport type MultinomialInputs = Pick;\nexport interface MultinomialAttrs {\n numSamples: number;\n seed: number;\n normalized: boolean;\n}\n\nexport const Multiply = 'Multiply';\nexport type MultiplyInputs = BinaryInputs;\n\nexport const Neg = 'Neg';\nexport type NegInputs = UnaryInputs;\n\nexport const NotEqual = 'NotEqual';\nexport type NotEqualInputs = BinaryInputs;\n\nexport const NonMaxSuppressionV3 = 'NonMaxSuppressionV3';\nexport type NonMaxSuppressionV3Inputs =\n Pick;\nexport interface NonMaxSuppressionV3Attrs {\n maxOutputSize: number;\n iouThreshold: number;\n scoreThreshold: number;\n}\n\nexport const NonMaxSuppressionV4 = 'NonMaxSuppressionV4';\nexport type NonMaxSuppressionV4Inputs =\n Pick;\nexport interface NonMaxSuppressionV4Attrs {\n maxOutputSize: number;\n iouThreshold: number;\n scoreThreshold: number;\n padToMaxOutputSize: boolean;\n}\n\nexport const NonMaxSuppressionV5 = 'NonMaxSuppressionV5';\nexport type NonMaxSuppressionV5Inputs =\n Pick;\nexport interface NonMaxSuppressionV5Attrs {\n maxOutputSize: number;\n iouThreshold: number;\n scoreThreshold: number;\n softNmsSigma: number;\n}\n\nexport const OnesLike = 'OnesLike';\nexport type OnesLikeInputs = UnaryInputs;\n\nexport const OneHot = 'OneHot';\nexport type OneHotInputs = Pick;\nexport interface OneHotAttrs {\n depth: number;\n onValue: number;\n offValue: number;\n}\n\nexport const Pack = 'Pack';\nexport type PackInputs = TensorInfo[];\nexport interface PackAttrs {\n axis: number;\n}\n\nexport const PadV2 = 'PadV2';\nexport type PadV2Inputs = Pick;\nexport interface PadV2Attrs {\n paddings: Array<[number, number]>;\n constantValue: number;\n}\n\nexport const Pool = 'Pool';\nexport type PoolInputs = Pick;\n\nexport const Pow = 'Pow';\nexport type PowInputs = BinaryInputs;\n\nexport const Prelu = 'Prelu';\nexport type PreluInputs = Pick;\n\nexport const Prod = 'Prod';\nexport type ProdInputs = Pick;\nexport interface ProdAttrs {\n axis: number|number[];\n keepDims: boolean;\n}\n\nexport const Range = 'Range';\nexport interface RangeAttrs {\n start: number;\n stop: number;\n step: number;\n dtype: 'float32'|'int32';\n}\n\nexport const Real = 'Real';\nexport type RealInputs = Pick;\n\nexport const Reciprocal = 'Reciprocal';\nexport type ReciprocalInputs = UnaryInputs;\n\nexport const Relu = 'Relu';\nexport type ReluInputs = Pick;\n\nexport const Reshape = 'Reshape';\nexport type ReshapeInputs = Pick;\nexport interface ReshapeAttrs {\n shape: number[];\n}\n\nexport const ResizeNearestNeighbor = 'ResizeNearestNeighbor';\nexport type ResizeNearestNeighborInputs = Pick;\nexport interface ResizeNearestNeighborAttrs {\n alignCorners: boolean;\n halfPixelCenters: boolean;\n size: [number, number];\n}\n\nexport const ResizeNearestNeighborGrad = 'ResizeNearestNeighborGrad';\nexport type ResizeNearestNeighborGradInputs =\n Pick;\nexport type ResizeNearestNeighborGradAttrs = ResizeNearestNeighborAttrs;\n\nexport const ResizeBilinear = 'ResizeBilinear';\nexport type ResizeBilinearInputs = Pick;\nexport interface ResizeBilinearAttrs {\n alignCorners: boolean;\n halfPixelCenters: boolean;\n size: [number, number];\n}\n\nexport const ResizeBilinearGrad = 'ResizeBilinearGrad';\nexport type ResizeBilinearGradInputs = Pick;\nexport type ResizeBilinearGradAttrs = ResizeBilinearAttrs;\n\nexport const Relu6 = 'Relu6';\nexport type Relu6Inputs = Pick;\n\nexport const Reverse = 'Reverse';\nexport type ReverseInputs = Pick;\nexport interface ReverseAttrs {\n dims: number|number[];\n}\n\nexport const Round = 'Round';\nexport type RoundInputs = UnaryInputs;\n\nexport const Rsqrt = 'Rsqrt';\nexport type RsqrtInputs = UnaryInputs;\n\nexport const ScatterNd = 'ScatterNd';\nexport type ScatterNdInputs = Pick;\nexport interface ScatterNdAttrs {\n shape: number[];\n}\n\nexport const Select = 'Select';\nexport type SelectInputs = Pick;\n\nexport const Selu = 'Selu';\nexport type SeluInputs = Pick;\n\nexport const Slice = 'Slice';\nexport type SliceInputs = Pick;\nexport interface SliceAttrs {\n begin: number|number[];\n size: number|number[];\n}\nexport const Sin = 'Sin';\nexport type SinInputs = UnaryInputs;\n\nexport const Sinh = 'Sinh';\nexport type SinhInputs = UnaryInputs;\n\nexport const Sign = 'Sign';\nexport type SignInputs = UnaryInputs;\n\nexport const Sigmoid = 'Sigmoid';\nexport type SigmoidInputs = UnaryInputs;\n\nexport const Softplus = 'Softplus';\nexport type SoftplusInputs = UnaryInputs;\n\nexport const Sqrt = 'Sqrt';\nexport type SqrtInputs = UnaryInputs;\n\nexport const Sum = 'Sum';\nexport type SumInputs = Pick;\nexport interface SumAttrs {\n axis: number|number[];\n keepDims: boolean;\n}\n\nexport const SpaceToBatchND = 'SpaceToBatchND';\nexport type SpaceToBatchNDInputs = Pick;\nexport interface SpaceToBatchNDAttrs {\n blockShape: number[];\n paddings: number[][];\n}\n\nexport const SplitV = 'SplitV';\nexport type SplitVInputs = Pick;\nexport interface SplitVAttrs {\n numOrSizeSplits: number[]|number;\n axis: number;\n}\n\nexport const Softmax = 'Softmax';\nexport type SoftmaxInputs = Pick;\nexport interface SoftmaxAttrs {\n dim: number;\n}\n\nexport const SparseFillEmptyRows = 'SparseFillEmptyRows';\nexport type SparseFillEmptyRowsInputs =\n Pick;\n\nexport const SparseReshape = 'SparseReshape';\nexport type SparseReshapeInputs =\n Pick;\n\nexport const SparseToDense = 'SparseToDense';\nexport type SparseToDenseInputs =\n Pick;\nexport interface SparseToDenseAttrs {\n outputShape: number[];\n}\n\nexport const SquaredDifference = 'SquaredDifference';\nexport type SquaredDifferenceInputs = BinaryInputs;\n\nexport const Square = 'Square';\nexport type SquareInputs = Pick;\n\nexport const StridedSlice = 'StridedSlice';\nexport type StridedSliceInputs = Pick;\nexport interface StridedSliceAttrs {\n begin: number[];\n end: number[];\n strides: number[];\n beginMask: number;\n endMask: number;\n ellipsisMask: number;\n newAxisMask: number;\n shrinkAxisMask: number;\n}\n\nexport const Sub = 'Sub';\nexport type SubInputs = BinaryInputs;\n\nexport const Tan = 'Tan';\nexport type TanInputs = UnaryInputs;\n\nexport const Tanh = 'Tanh';\nexport type TanhInputs = UnaryInputs;\n\nexport const Tile = 'Tile';\nexport type TileInputs = Pick;\nexport interface TileAttrs {\n reps: number[];\n}\n\nexport const TopK = 'TopK';\nexport type TopKInputs = Pick;\nexport interface TopKAttrs {\n k: number;\n sorted: boolean;\n}\n\nexport const Transform = 'Transform';\nexport type TransformInputs = Pick;\nexport interface TransformAttrs {\n interpolation: 'nearest'|'bilinear';\n fillMode: 'constant'|'reflect'|'wrap'|'nearest';\n fillValue: number;\n outputShape?: [number, number];\n}\n\nexport const Transpose = 'Transpose';\nexport type TransposeInputs = Pick;\nexport interface TransposeAttrs {\n perm: number[];\n}\n\nexport const Unique = 'Unique';\nexport type UniqueInputs = Pick;\nexport interface UniqueAttrs {\n axis: number;\n}\n\nexport type UnaryInputs = Pick;\n\nexport const Unpack = 'Unpack';\nexport type UnpackInputs = Pick;\nexport interface UnpackAttrs {\n axis: number;\n}\n\nexport const UnsortedSegmentSum = 'UnsortedSegmentSum';\nexport type UnsortedSegmentSumInputs =\n Pick;\nexport interface UnsortedSegmentSumAttrs {\n numSegments: number;\n}\n\nexport const ZerosLike = 'ZerosLike';\nexport type ZerosLikeInputs = UnaryInputs;\n\n/**\n * TensorFlow.js-only kernels\n */\nexport const Step = 'Step';\nexport type StepInputs = UnaryInputs;\nexport interface StepAttrs {\n alpha: number;\n}\n\nexport const FromPixels = 'FromPixels';\nexport interface FromPixelsInputs {\n pixels: PixelData|ImageData|HTMLImageElement|HTMLCanvasElement|\n HTMLVideoElement|ImageBitmap;\n}\nexport interface FromPixelsAttrs {\n numChannels: number;\n}\n\nexport const RotateWithOffset = 'RotateWithOffset';\nexport type RotateWithOffsetInputs = Pick;\nexport interface RotateWithOffsetAttrs {\n radians: number;\n fillValue: number|[number, number, number];\n center: number|[number, number];\n}\n\nexport const _FusedMatMul = '_FusedMatMul';\n// tslint:disable-next-line: class-name\nexport interface _FusedMatMulInputs extends NamedTensorInfoMap {\n a: TensorInfo;\n b: TensorInfo;\n bias?: TensorInfo;\n preluActivationWeights?: TensorInfo;\n}\n// tslint:disable-next-line: class-name\nexport interface _FusedMatMulAttrs {\n transposeA: boolean;\n transposeB: boolean;\n activation: Activation;\n leakyreluAlpha?: number;\n}\n\nexport const FusedConv2D = 'FusedConv2D';\nexport interface FusedConv2DInputs extends NamedTensorInfoMap {\n x: TensorInfo;\n filter: TensorInfo;\n bias?: TensorInfo;\n preluActivationWeights?: TensorInfo;\n}\nexport interface FusedConv2DAttrs {\n strides: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n dataFormat: 'NHWC'|'NCHW';\n dilations: [number, number]|number;\n dimRoundingMode: 'floor'|'round'|'ceil';\n activation: Activation;\n leakyreluAlpha?: number;\n}\n\nexport const FusedDepthwiseConv2D = 'FusedDepthwiseConv2D';\nexport interface FusedDepthwiseConv2DInputs extends NamedTensorInfoMap {\n x: TensorInfo;\n filter: TensorInfo;\n bias?: TensorInfo;\n preluActivationWeights?: TensorInfo;\n}\nexport interface FusedDepthwiseConv2DAttrs {\n strides: [number, number]|number;\n pad: 'valid'|'same'|number|ExplicitPadding;\n dataFormat: 'NHWC'|'NCHW';\n dilations: [number, number]|number;\n dimRoundingMode: 'floor'|'round'|'ceil';\n activation: Activation;\n leakyreluAlpha?: number;\n}\n"]} \ No newline at end of file +{"version":3,"file":"kernel_names.js","sourceRoot":"","sources":["../src/kernel_names.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_registry.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_registry.js.map index 72d7d8d7b..cf93e4796 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_registry.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_registry.js.map @@ -1 +1 @@ -{"version":3,"file":"kernel_registry.js","sourceRoot":"","sources":["../src/kernel_registry.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 */\nimport {env} from './environment';\n\nimport {getGlobal} from './global_util';\nimport {NamedGradientMap} from './tape';\nimport {Tensor} from './tensor';\nimport {DataType, RecursiveArray} from './types';\n\nconst kernelRegistry =\n getGlobal('kernelRegistry', () => new Map());\nconst gradRegistry =\n getGlobal('gradRegistry', () => new Map());\n\nexport type DataId = object;\n\ntype AttributeValue =\n number|number[]|boolean|boolean[]|string|string[]|NamedAttrMap;\n\n/** These are extra non-tensor/primitive params passed to kernel functions. */\nexport type Attribute = AttributeValue|RecursiveArray;\n\n/** Specifies the code to run when executing a kernel. */\nexport type KernelFunc = (params: {\n inputs: NamedTensorInfoMap,\n backend: {},\n attrs?: NamedAttrMap,\n}) => TensorInfo|TensorInfo[];\n\n/** The function to run when computing a gradient during backprop. */\nexport type GradFunc =\n (dy: Tensor|Tensor[], saved: Tensor[], attrs: NamedAttrMap) =>\n NamedGradientMap;\n\n/** Function that gets called after the backend initializes. */\nexport type KernelSetupFunc = (backend: {}) => void;\n/** Function that gets called right before the backend is disposed. */\nexport type KernelDisposeFunc = KernelSetupFunc;\n\n/** Config object for registering a kernel in the global registry. */\nexport interface KernelConfig {\n kernelName: string;\n backendName: string;\n kernelFunc: KernelFunc;\n setupFunc?: KernelSetupFunc;\n disposeFunc?: KernelDisposeFunc;\n}\n\n/** Config object for registering a gradient in the global registry. */\nexport interface GradConfig {\n kernelName: string;\n inputsToSave?: string[];\n // When saveAllInputs is true, all inputs will be saved. Only use this flag\n // if inputs is an array of Tensors.\n saveAllInputs?: boolean;\n outputsToSave?: boolean[];\n gradFunc: GradFunc;\n}\n\n/** Holds metadata for a given tensor. */\nexport interface TensorInfo {\n dataId: DataId;\n shape: number[];\n dtype: DataType;\n}\n\nexport interface NamedTensorInfoMap {\n [name: string]: TensorInfo;\n}\n\nexport interface NamedAttrMap {\n [name: string]: Attribute;\n}\n\n/**\n * Returns the kernel function (code) associated with the provided names.\n *\n * @param kernelName The official name of the kernel.\n * @param backendName The official name of the backend.\n */\nexport function getKernel(\n kernelName: string, backendName: string): KernelConfig {\n const key = makeKey(kernelName, backendName);\n return kernelRegistry.get(key);\n}\n\n/**\n * Returns the registered gradient info associated with the provided kernel.\n * @param kernelName The official TF kernel name.\n */\nexport function getGradient(kernelName: string): GradConfig {\n return gradRegistry.get(kernelName);\n}\n\nexport function getKernelsForBackend(backendName: string): KernelConfig[] {\n const it = kernelRegistry.entries();\n const result: KernelConfig[] = [];\n\n while (true) {\n const {done, value} = it.next();\n if (done) {\n break;\n }\n const [key, config] = value;\n const [backend, ] = key.split('_');\n if (backend === backendName) {\n result.push(config);\n }\n }\n return result;\n}\n\n/**\n * Registers the function (forward pass) for the kernel in a global registry.\n *\n * @param config A config object with the following properties:\n * - `kernelName` The official name of the kernel.\n * - `backendName` The official name of the backend.\n * - `kernelFunc` The function to run during the forward pass of the kernel.\n * - `setupFunc` Optional. Gets called once, after the backend initializes.\n * - `disposeFunc` Optional. Gets called once, right before the backend is\n * disposed.\n */\nexport function registerKernel(config: KernelConfig) {\n const {kernelName, backendName} = config;\n const key = makeKey(kernelName, backendName);\n if (kernelRegistry.has(key)) {\n console.warn(\n `The kernel '${kernelName}' for backend ` +\n `'${backendName}' is already registered`);\n }\n kernelRegistry.set(key, config);\n}\n\n/**\n * Registers a gradient function for a given kernel in the global registry,\n * to be used during the back-propagation of that kernel.\n *\n * @param config An object with the following properties:\n * - `kernelName` The name of the kernel that the gradient function is for.\n * - `gradFunc` The function to run during back-propagation.\n */\nexport function registerGradient(config: GradConfig) {\n const {kernelName} = config;\n\n if (gradRegistry.has(kernelName)) {\n // TODO (yassogba) after 3.0 assess whether we need to keep this gated\n // to debug mode.\n if (env().getBool('DEBUG')) {\n console.warn(`Overriding the gradient for '${kernelName}'`);\n }\n }\n gradRegistry.set(kernelName, config);\n}\n\n/**\n * Removes the kernel function from the registry.\n *\n * @param kernelName The official name of the kernel.\n * @param backendName The official name of the backend.\n *\n */\nexport function unregisterKernel(\n kernelName: string, backendName: string): void {\n const key = makeKey(kernelName, backendName);\n if (!kernelRegistry.has(key)) {\n throw new Error(\n `The kernel '${kernelName}' for backend ` +\n `'${backendName}' is not registered`);\n }\n kernelRegistry.delete(key);\n}\n\n/** Removes the registered gradient from the global registry. */\nexport function unregisterGradient(kernelName: string): void {\n if (!gradRegistry.has(kernelName)) {\n throw new Error(\n `The gradient '${kernelName}' for backend is not registered`);\n }\n gradRegistry.delete(kernelName);\n}\n\n/**\n * Finds kernels that have already been registered to a backend and re-registers\n * them for a new backend. Useful for registering custom backends.\n * @param registeredBackendName Already registered backend.\n * @param newBackendName New backend.\n */\nexport function copyRegisteredKernels(\n registeredBackendName: string, newBackendName: string): void {\n const kernels = getKernelsForBackend(registeredBackendName);\n kernels.forEach(kernelConfig => {\n const newKernelConfig =\n Object.assign({}, kernelConfig, {backendName: newBackendName});\n registerKernel(newKernelConfig);\n });\n}\n\nfunction makeKey(kernelName: string, backendName: string) {\n return `${backendName}_${kernelName}`;\n}\n"]} \ No newline at end of file +{"version":3,"file":"kernel_registry.js","sourceRoot":"","sources":["../src/kernel_registry.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_registry_test.js b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_registry_test.js index d2e1df623..82ee2a548 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_registry_test.js +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_registry_test.js @@ -19,9 +19,6 @@ import { ALL_ENVS, describeWithFlags } from './jasmine_util'; import { expectArraysClose } from './test_util'; describeWithFlags('kernel_registry', ALL_ENVS, () => { it('register a kernel and call it', () => { - // Make sure the backend is loaded. Perhaps tf.getBackend - // should call tf.backend to make sure the backend is loaded? - expect(tf.backend()).toBeDefined(); let called = false; tf.registerKernel({ kernelName: 'MyKernel', @@ -84,7 +81,7 @@ describeWithFlags('kernel_registry', ALL_ENVS, () => { return { id: 1, dispose: () => null, - disposeData: (dataId) => true, + disposeData: (dataId) => null, numDataIds: () => 0 }; }); @@ -123,7 +120,7 @@ describeWithFlags('kernel_registry', ALL_ENVS, () => { const kernelName = 'MyKernel'; const customBackend = { dispose: () => null, - disposeData: (dataId) => true, + disposeData: (dataId) => null, numDataIds: () => 0 }; tf.registerBackend(backendName, () => customBackend); @@ -194,16 +191,15 @@ describeWithFlags('gradient registry', ALL_ENVS, () => { let kernelWasCalled = false; let gradientWasCalled = false; const kernelName = 'MyKernel'; - const tensor = tf.zeros([3, 3], 'float32'); - const forwardReturnDataId = tensor.dataId; + const forwardReturnDataId = {}; tf.registerKernel({ kernelName, backendName: tf.getBackend(), kernelFunc: () => { kernelWasCalled = true; return { - dtype: tensor.dtype, - shape: tensor.shape, + dtype: 'float32', + shape: [3, 3], dataId: forwardReturnDataId }; } diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_registry_test.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_registry_test.js.map index 3ab471f3e..708c38ce8 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_registry_test.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/kernel_registry_test.js.map @@ -1 +1 @@ -{"version":3,"file":"kernel_registry_test.js","sourceRoot":"","sources":["../src/kernel_registry_test.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 * as tf from './index';\nimport {KernelBackend} from './index';\nimport {ALL_ENVS, describeWithFlags} from './jasmine_util';\nimport {KernelFunc, TensorInfo} from './kernel_registry';\nimport {expectArraysClose} from './test_util';\n\ndescribeWithFlags('kernel_registry', ALL_ENVS, () => {\n it('register a kernel and call it', () => {\n // Make sure the backend is loaded. Perhaps tf.getBackend\n // should call tf.backend to make sure the backend is loaded?\n expect(tf.backend()).toBeDefined();\n let called = false;\n tf.registerKernel({\n kernelName: 'MyKernel',\n backendName: tf.getBackend(),\n kernelFunc: ({inputs, attrs}) => {\n expect(attrs.a).toBe(5);\n expect(inputs.x.shape).toEqual([2, 2]);\n expect(inputs.x.dtype).toBe('float32');\n called = true;\n return {dtype: 'float32', shape: [3, 3], dataId: {}};\n }\n });\n\n const inputs = {x: tf.zeros([2, 2])};\n const attrs = {a: 5};\n const res = tf.engine().runKernel('MyKernel', inputs, attrs) as TensorInfo;\n\n expect(called).toBe(true);\n expect(res.dtype).toBe('float32');\n expect(res.shape).toEqual([3, 3]);\n\n tf.unregisterKernel('MyKernel', tf.getBackend());\n });\n\n it('errors when running non-existent kernel', () => {\n const inputs = {};\n const attrs = {};\n expect(() => tf.engine().runKernel('DoesNotExist', inputs, attrs))\n .toThrowError();\n });\n\n // TODO (yassogba) double registration happens now because a backend might be\n // imported more than once (e.g. by a top level package and a dependent\n // package). We may want to remove this test long-term but skip it for\n // now.\n // tslint:disable-next-line: ban\n xit('errors when registering the same kernel twice', () => {\n interface TestBackend extends KernelBackend {\n id: number;\n }\n tf.registerBackend('backend1', () => {\n return {\n id: 1,\n dispose: () => null,\n disposeData: (dataId: {}) => null,\n numDataIds: () => 0\n } as TestBackend;\n });\n\n tf.registerKernel({\n kernelName: 'MyKernel',\n backendName: 'backend1',\n kernelFunc: () => {\n return null;\n }\n });\n expect(() => tf.registerKernel({\n kernelName: 'MyKernel',\n backendName: 'backend1',\n kernelFunc: () => {\n return null;\n }\n })).toThrowError();\n\n tf.unregisterKernel('MyKernel', 'backend1');\n tf.removeBackend('backend1');\n });\n\n it('register same kernel on two different backends', () => {\n interface TestBackend extends KernelBackend {\n id: number;\n }\n tf.registerBackend('backend1', () => {\n return {\n id: 1,\n dispose: () => null,\n disposeData: (dataId: {}) => true,\n numDataIds: () => 0\n } as TestBackend;\n });\n tf.registerBackend('backend2', () => {\n return {\n id: 2,\n dispose: () => null,\n disposeData: (dataId: {}) => null,\n numDataIds: () => 0\n } as TestBackend;\n });\n\n let lastStorageId = -1;\n const kernelFunc: KernelFunc = ({backend}) => {\n lastStorageId = (backend as TestBackend).id;\n return {dataId: {}, shape: [], dtype: 'float32'};\n };\n tf.registerKernel(\n {kernelName: 'MyKernel', backendName: 'backend1', kernelFunc});\n tf.registerKernel(\n {kernelName: 'MyKernel', backendName: 'backend2', kernelFunc});\n\n // No kernel has been executed yet.\n expect(lastStorageId).toBe(-1);\n\n // Kernel was executed on the first backend.\n tf.setBackend('backend1');\n tf.engine().runKernel('MyKernel', {}, {});\n expect(lastStorageId).toBe(1);\n\n // Kernel was executed on the second backend.\n tf.setBackend('backend2');\n tf.engine().runKernel('MyKernel', {}, {});\n expect(lastStorageId).toBe(2);\n\n tf.removeBackend('backend1');\n tf.removeBackend('backend2');\n tf.unregisterKernel('MyKernel', 'backend1');\n tf.unregisterKernel('MyKernel', 'backend2');\n });\n\n it('register kernel with setup and dispose functions', () => {\n const backendName = 'custom-backend';\n const kernelName = 'MyKernel';\n interface TestBackend extends KernelBackend {}\n const customBackend = {\n dispose: () => null,\n disposeData: (dataId: {}) => true,\n numDataIds: () => 0\n } as TestBackend;\n tf.registerBackend(backendName, () => customBackend);\n\n const kernelFunc: KernelFunc = () => {\n return {dataId: {}, shape: [], dtype: 'float32'};\n };\n let setupCalled = false;\n const setupFunc = (backend: KernelBackend) => {\n expect(backend).toBe(customBackend);\n setupCalled = true;\n };\n let disposeCalled = false;\n const disposeFunc = (backend: KernelBackend) => {\n expect(backend).toBe(customBackend);\n disposeCalled = true;\n };\n tf.registerKernel(\n {kernelName, backendName, kernelFunc, setupFunc, disposeFunc});\n\n expect(setupCalled).toBe(false);\n expect(disposeCalled).toBe(false);\n\n tf.setBackend(backendName);\n expect(setupCalled).toBe(true);\n expect(disposeCalled).toBe(false);\n\n // Kernel was executed on the first backend.\n tf.engine().runKernel(kernelName, {}, {});\n\n tf.removeBackend(backendName);\n expect(setupCalled).toBe(true);\n expect(disposeCalled).toBe(true);\n\n tf.unregisterKernel(kernelName, backendName);\n });\n});\n\ndescribeWithFlags('gradient registry', ALL_ENVS, () => {\n it('register a kernel with gradient and call it', async () => {\n let kernelWasCalled = false;\n let gradientWasCalled = false;\n const kernelName = 'MyKernel';\n const x = tf.zeros([2, 2]);\n\n tf.registerKernel({\n kernelName,\n backendName: tf.getBackend(),\n kernelFunc: () => {\n kernelWasCalled = true;\n return {dtype: 'float32', shape: [3, 3], dataId: {}};\n }\n });\n\n tf.registerGradient({\n kernelName,\n inputsToSave: ['x'],\n gradFunc: (dy: tf.Tensor, saved) => {\n // Make sure saved input (x) was passed to the gradient function.\n expect(saved[0].dataId).toEqual(x.dataId);\n // Make sure dy matches the shape of the output.\n expect(dy.shape).toEqual([3, 3]);\n gradientWasCalled = true;\n return {x: () => tf.fill([2, 2], 3)};\n },\n });\n\n const gradFunc =\n tf.grad(x => tf.engine().runKernel(kernelName, {x}, {} /* attrs */));\n const dx = gradFunc(x);\n expect(kernelWasCalled).toBe(true);\n expect(gradientWasCalled).toBe(true);\n expect(dx.dtype).toBe('float32');\n expect(dx.shape).toEqual([2, 2]);\n expectArraysClose(await dx.data(), [3, 3, 3, 3]);\n tf.unregisterKernel(kernelName, tf.getBackend());\n tf.unregisterGradient(kernelName);\n });\n\n it('register a kernel with gradient that specifies outputsToSave and call it',\n async () => {\n let kernelWasCalled = false;\n let gradientWasCalled = false;\n const kernelName = 'MyKernel';\n\n const tensor = tf.zeros([3, 3], 'float32');\n const forwardReturnDataId = tensor.dataId;\n tf.registerKernel({\n kernelName,\n backendName: tf.getBackend(),\n kernelFunc: () => {\n kernelWasCalled = true;\n return {\n dtype: tensor.dtype,\n shape: tensor.shape,\n dataId: forwardReturnDataId\n };\n }\n });\n\n tf.registerGradient({\n kernelName,\n outputsToSave: [true],\n gradFunc: (dy: tf.Tensor, saved) => {\n // Make sure saved output was passed to the gradient function.\n expect(saved[0].dataId).toEqual(forwardReturnDataId);\n // Make sure dy matches the shape of the output.\n expect(dy.shape).toEqual([3, 3]);\n gradientWasCalled = true;\n return {x: () => tf.fill([2, 2], 3)};\n },\n });\n\n const gradFunc = tf.grad(\n x => tf.engine().runKernel(\n kernelName, {x}, {} /* attrs */\n ));\n const x = tf.zeros([2, 2]);\n const dx = gradFunc(x);\n expect(kernelWasCalled).toBe(true);\n expect(gradientWasCalled).toBe(true);\n expect(dx.dtype).toBe('float32');\n expect(dx.shape).toEqual([2, 2]);\n tf.unregisterKernel(kernelName, tf.getBackend());\n tf.unregisterGradient(kernelName);\n });\n\n it('register a kernel with array inputs and saveAllInputs true', async () => {\n let kernelWasCalled = false;\n let gradientWasCalled = false;\n const kernelName = 'MyKernel';\n const x = [tf.zeros([2, 2]), tf.zeros([2, 2])];\n\n const forwardReturnDataId = {};\n tf.registerKernel({\n kernelName,\n backendName: tf.getBackend(),\n kernelFunc: () => {\n kernelWasCalled = true;\n return {dtype: 'float32', shape: [3, 3], dataId: forwardReturnDataId};\n }\n });\n\n tf.registerGradient({\n kernelName,\n saveAllInputs: true,\n gradFunc: (dy: tf.Tensor, saved) => {\n // Make sure saved input (x) was passed to the gradient function.\n const [$x0, $x1] = x;\n expect(saved.length).toEqual(x.length);\n expect($x0.dataId).toEqual(x[0].dataId);\n expect($x1.dataId).toEqual(x[1].dataId);\n gradientWasCalled = true;\n return {0: () => tf.fill([2, 2], 3), 1: () => tf.fill([2, 2], 3)};\n }\n });\n\n // Inputs as array.\n const z = (...x: tf.Tensor[]) =>\n // tslint:disable-next-line: no-unnecessary-type-assertion\n tf.engine().runKernel(\n kernelName, x as {} as tf.NamedTensorMap, {} /* attrs */) as\n tf.Tensor;\n const gradFunc = tf.grads(z);\n const dx = gradFunc(x);\n expect(kernelWasCalled).toBe(true);\n expect(gradientWasCalled).toBe(true);\n expect(dx.length).toEqual(2);\n expect(dx[0].dtype).toBe('float32');\n expect(dx[0].shape).toEqual([2, 2]);\n expect(dx[1].dtype).toBe('float32');\n expect(dx[1].shape).toEqual([2, 2]);\n expectArraysClose(await dx[0].data(), [3, 3, 3, 3]);\n expectArraysClose(await dx[1].data(), [3, 3, 3, 3]);\n tf.unregisterKernel(kernelName, tf.getBackend());\n tf.unregisterGradient(kernelName);\n });\n\n it('register a kernel with map inputs and saveAllInputs true should throw ' +\n 'error',\n async () => {\n const kernelName = 'MyKernel';\n const x0 = tf.zeros([2, 2]);\n const x1 = tf.zeros([2, 2]);\n\n const forwardReturnDataId = {};\n tf.registerKernel({\n kernelName,\n backendName: tf.getBackend(),\n kernelFunc: () => {\n return {\n dtype: 'float32',\n shape: [3, 3],\n dataId: forwardReturnDataId\n };\n }\n });\n\n tf.registerGradient({\n kernelName,\n saveAllInputs: true,\n gradFunc: (dy: tf.Tensor, saved) => {\n // Make sure saved input (x) was passed to the gradient function.\n const [$x0, $x1] = saved;\n expect($x0.dataId).toEqual(x0.dataId);\n expect($x1.dataId).toEqual(x1.dataId);\n return {x0: () => tf.fill([2, 2], 3), x1: () => tf.fill([2, 2], 3)};\n }\n });\n\n // Inputs as map.\n const z = (x0: tf.Tensor, x1: tf.Tensor) =>\n // tslint:disable-next-line: no-unnecessary-type-assertion\n tf.engine().runKernel(kernelName, {x0, x1}, {} /* attrs */) as\n tf.Tensor;\n const gradFunc = tf.grads(z);\n expect(() => gradFunc([x0, x1]))\n .toThrowError(\n /saveAllInputs is true, expected inputs to be an array/);\n tf.unregisterKernel(kernelName, tf.getBackend());\n tf.unregisterGradient(kernelName);\n });\n\n it('errors when running non-existent gradient', () => {\n const kernelName = 'MyKernel';\n const x = tf.zeros([2, 2]);\n\n tf.registerKernel({\n kernelName,\n backendName: tf.getBackend(),\n kernelFunc: () => ({dtype: 'float32', shape: [3, 3], dataId: {}})\n });\n\n const gradFunc =\n tf.grad(x => tf.engine().runKernel(kernelName, {x}, {} /* attrs */));\n expect(() => gradFunc(x))\n .toThrowError(/gradient function not found for MyKernel/);\n\n tf.unregisterKernel(kernelName, tf.getBackend());\n });\n\n // tslint:disable-next-line: ban\n xit('warning when registering the same gradient twice', () => {\n const kernelName = 'MyKernel';\n tf.registerGradient({kernelName, gradFunc: () => null});\n spyOn(console, 'warn').and.callFake((msg: string) => {\n expect(msg).toBe('Overriding the gradient for \\'MyKernel\\'');\n });\n tf.registerGradient({kernelName, gradFunc: () => null});\n tf.unregisterGradient(kernelName);\n });\n});\n"]} \ No newline at end of file +{"version":3,"file":"kernel_registry_test.js","sourceRoot":"","sources":["../src/kernel_registry_test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/log.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/log.js.map index c91b7234d..aea1c41f7 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/log.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/log.js.map @@ -1 +1 @@ -{"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAC;AAElC,MAAM,UAAU,IAAI,CAAC,GAAG,GAAc;IACpC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC7B,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;KACtB;AACH,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,GAAG,GAAc;IACnC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;KACrB;AACH,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 */\n\nimport {env} from './environment';\n\nexport function warn(...msg: Array<{}>): void {\n if (!env().getBool('IS_TEST')) {\n console.warn(...msg);\n }\n}\n\nexport function log(...msg: Array<{}>): void {\n if (!env().getBool('IS_TEST')) {\n console.log(...msg);\n }\n}\n"]} \ No newline at end of file +{"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAC;AAElC,MAAM,UAAU,IAAI,CAAC,GAAG,GAAc;IACpC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC7B,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;KACtB;AACH,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,GAAG,GAAc;IACnC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;KACrB;AACH,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/math.js.map b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/math.js.map index c3d2937e2..d8b12347c 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/math.js.map +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/math.js.map @@ -1 +1 @@ -{"version":3,"file":"math.js","sourceRoot":"","sources":["../src/math.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;GAEG;AAEH,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAC,eAAe,EAAC,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 */\n\n/**\n * Exports under the tf.math.* namespace.\n */\n\nimport {confusionMatrix} from './ops/confusion_matrix';\n\nexport {confusionMatrix};\n"]} \ No newline at end of file +{"version":3,"file":"math.js","sourceRoot":"","sources":["../src/math.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;GAEG;AAEH,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAC,eAAe,EAAC,CAAC"} \ No newline at end of file diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/miniprogram/index.js b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/miniprogram/index.js index e4b5a8826..06d46fe9f 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/miniprogram/index.js +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/node_modules/@tensorflow/tfjs-core/dist/miniprogram/index.js @@ -14,5 +14,5 @@ * limitations under the License. * ============================================================================= */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).tf=e.tf||{})}(this,(function(e){"use strict";var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,n)};function n(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}function r(e,t,n,r){return new(n||(n=Promise))((function(a,o){function i(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,s)}u((r=r.apply(e,t||[])).next())}))}function a(e,t){var n,r,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(a=2&o[0]?r.return:o[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,o[1])).done)return a;switch(r=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,r=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){i=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]0;)r=Math.random()*t|0,n=e[--t],e[t]=e[r],e[r]=n}function l(e,t,n){return Math.max(e,Math.min(t,n))}function c(e,t){if(!e)throw new Error("string"==typeof t?t:t())}function f(e,t,n){void 0===n&&(n=""),c(v(e,t),(function(){return n+" Shapes "+e+" and "+t+" must match"}))}function h(e){c(null!=e,(function(){return"The input to the tensor constructor must be a non-null value."}))}function d(e,t,n){if(void 0===t&&(t=[]),void 0===n&&(n=!1),null==t&&(t=[]),Array.isArray(e)||S(e)&&!n)for(var r=0;r=-n&&es)&&1===e[s]&&(n.push(e[s]),r.push(s)),o[i]<=s&&i++}1!==e[s]&&(n.push(e[s]),r.push(s))}return{newShape:n,keptDims:r}}function w(e,t){var n=null;if(null==e||"float32"===e)n=new Float32Array(t);else if("int32"===e)n=new Int32Array(t);else{if("bool"!==e)throw new Error("Unknown data type "+e);n=new Uint8Array(t)}return n}function k(e,t){var n=null;if(null==e||"float32"===e)n=new Float32Array(t);else if("int32"===e)n=new Int32Array(t);else if("bool"===e)n=new Uint8Array(t);else{if("string"!==e)throw new Error("Unknown data type "+e);n=new Array(t)}return n}function x(e,t){for(var n=0;n=0;--r)n[r]=n[r+1]*e[r+1];return n}function C(e,t,n){if(void 0===n&&(n=!1),0===e.length)return t[0];var r=e.reduce((function(e,t){return e*t}))*(n?2:1);if(0===r)return[];if(r!==t.length)throw new Error("["+e+"] does not match the input size "+t.length+(n?" for a complex tensor":"")+".");return function e(t,n,r,a){void 0===a&&(a=!1);var o=new Array;if(1===n.length)for(var i=n[0]*(a?2:1),s=0;s=0,(function(){return"Tensor must have a shape comprised of positive integers but got shape ["+e+"]."}))}))}function z(e){return e&&e.then&&"function"==typeof e.then}var O,K=function(){function e(e){this.global=e,this.flags={},this.flagRegistry={},this.urlFlags={},this.getQueryParams=W,this.populateURLFlags()}return e.prototype.setPlatform=function(e,t){null!=this.platform&&console.warn("Platform "+this.platformName+" has already been set. Overwriting the platform with "+t+"."),this.platformName=e,this.platform=t},e.prototype.registerFlag=function(e,t,n){if(this.flagRegistry[e]={evaluationFn:t,setHook:n},null!=this.urlFlags[e]){var r=this.urlFlags[e];console.warn("Setting feature override from URL "+e+": "+r+"."),this.set(e,r)}},e.prototype.getAsync=function(e){return r(this,void 0,void 0,(function(){var t,n;return a(this,(function(r){switch(r.label){case 0:return e in this.flags?[2,this.flags[e]]:(t=this.flags,n=e,[4,this.evaluateFlag(e)]);case 1:return t[n]=r.sent(),[2,this.flags[e]]}}))}))},e.prototype.get=function(e){if(e in this.flags)return this.flags[e];var t=this.evaluateFlag(e);if(z(t))throw new Error("Flag "+e+" cannot be synchronously evaluated. Please use getAsync() instead.");return this.flags[e]=t,this.flags[e]},e.prototype.getNumber=function(e){return this.get(e)},e.prototype.getBool=function(e){return this.get(e)},e.prototype.getFlags=function(){return this.flags},Object.defineProperty(e.prototype,"features",{get:function(){return this.flags},enumerable:!0,configurable:!0}),e.prototype.set=function(e,t){if(null==this.flagRegistry[e])throw new Error("Cannot set flag "+e+" as it has not been registered.");this.flags[e]=t,null!=this.flagRegistry[e].setHook&&this.flagRegistry[e].setHook(t)},e.prototype.evaluateFlag=function(e){if(null==this.flagRegistry[e])throw new Error("Cannot evaluate flag '"+e+"': no evaluation function found.");return this.flagRegistry[e].evaluationFn()},e.prototype.setFlags=function(e){this.flags=Object.assign({},e)},e.prototype.reset=function(){this.flags={},this.urlFlags={},this.populateURLFlags()},e.prototype.populateURLFlags=function(){var e=this;if(void 0!==this.global&&void 0!==this.global.location&&void 0!==this.global.location.search){var t=this.getQueryParams(this.global.location.search);if("tfjsflags"in t)t.tfjsflags.split(",").forEach((function(t){var n=t.split(":"),r=n[0],a=n[1];e.urlFlags[r]=function(e,t){if("true"===(t=t.toLowerCase())||"false"===t)return"true"===t;if(""+ +t===t)return+t;throw new Error("Could not parse value flag value "+t+" for flag "+e+".")}(r,a)}))}},e}();function W(e){var t={};return e.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,(function(e){for(var n=[],r=1;r0;)o=Math.random()*a|0,n=e[--a],r=t[a],e[a]=e[o],t[a]=t[o],e[o]=n,t[o]=r},clamp:l,nearestLargerEven:function(e){return e%2==0?e:e+1},sum:function(e){for(var t=0,n=0;n=n?a():setTimeout(i,s)}};i()}))},inferFromImplicitShape:function(e,t){for(var n=1,r=-1,a=0;a=0)n*=e[a];else if(-1===e[a]){if(-1!==r)throw Error("Shapes can only have 1 implicit size. Found -1 at dim "+r+" and dim "+a);r=a}else if(e[a]<0)throw Error("Shapes can not be < 0. Found "+e[a]+" at dim "+a);if(-1===r){if(t>0&&t!==n)throw Error("Size("+t+") must match the product of shape "+e);return e}if(0===n)throw Error("Cannot infer the missing size in ["+e+"] when there are 0 elements");if(t%n!=0)throw Error("The implicit shape can't be a fractional number. Got "+t+" / "+n);var o=e.slice();return o[r]=t/n,o},parseAxisParam:y,squeezeShape:b,getTypedArrayFromDType:w,getArrayFromDType:k,checkConversionForErrors:x,isValidDtype:E,hasEncodingLoss:function(e,t){return"complex64"!==t&&(("float32"!==t||"complex64"===e)&&(("int32"!==t||"float32"===e||"complex64"===e)&&("bool"!==t||"bool"!==e)))},isTypedArray:S,bytesPerElement:A,bytesFromStringArray:M,isString:I,isBoolean:N,isNumber:_,inferDtype:D,isFunction:T,nearestDivisor:R,computeStrides:F,toNestedArray:C,makeOnesTypedArray:B,makeZerosTypedArray:P,makeZerosNestedTypedArray:function(e,t){var n=e.reduce((function(e,t){return e*t}),1);if(null==t||"float32"===t)return C(e,new Float32Array(n));if("int32"===t)return C(e,new Int32Array(n));if("bool"===t)return C(e,new Uint8Array(n));throw new Error("Unknown data type "+t)},assertNonNegativeIntegerDimensions:L,locToIndex:function(e,t,n){if(0===t)return 0;if(1===t)return e[0];for(var r=e[e.length-1],a=0;a0?p:"")+" "}}console.log("%c"+s+"\t%c"+i+"\t%c"+u+"D "+c+"\t%c"+l+"\t%c"+f+"\t%c"+o,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")},e}();function ie(e,t,n,r){var a=F(t),o=function(e,t,n,r){var a=p(t),o=r[r.length-1],i=new Array(o).fill(0),s=t.length,u="complex64"===n?le(e):e;if(s>1)for(var l=0;l20){var c=3*s,f=Array.from(t.slice(0,c)),h=Array.from(t.slice((u-3)*s,u*s));return"complex64"===r&&(f=le(f),h=le(h)),["["+f.map((function(e,t){return se(e,o[t],r)})).join(", ")+", ..., "+h.map((function(e,t){return se(e,o[u-3+t],r)})).join(", ")+"]"]}return["["+("complex64"===r?le(t):Array.from(t)).map((function(e,t){return se(e,o[t],r)})).join(", ")+"]"]}var d=n.slice(1),p=a.slice(1),v=a[0]*s,m=[];if(u>20){for(var g=0;g<3;g++){var y=(b=g*v)+v;m.push.apply(m,e(t.slice(b,y),d,r,p,o,!1))}m.push("...");for(g=u-3;g=this.shape[n]){var i="Requested out of range element at "+e+". Buffer shape="+this.shape;throw new Error(i)}n++}for(var s=e[e.length-1],u=0;u0)throw new Error("Backend '"+this.backendName+"' has an internal memory leak ("+i+" data ids) after running '"+e+"'")},e.prototype.runKernelFunc=function(e){var t,n,r,a=this,o=[],i=this.isTapeOn(),s=this.state.numBytes,u=this.state.numTensors;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0),null==this.backendName&&this.backend;var l=Me(e)?e.kernelName:null!=this.state.activeScope?this.state.activeScope.name:"";if(Me(e)){var f=e.kernelName,h=e.inputs,d=e.attrs;null==this.backendName&&this.backend;var p=J(f,this.backendName);c(null!=p,(function(){return"Cannot find registered kernel '"+f+"' for backend '"+a.backendName+"'"})),n=function(){var e=a.backend.numDataIds();r=p.kernelFunc({inputs:h,attrs:d,backend:a.backend});var t=Array.isArray(r)?r:[r];a.shouldCheckForMemLeaks()&&a.checkKernelForMemLeak(f,e,t);var n=t.map((function(e){if(null!=e.rank)return e;var t=e,n=t.dataId,r=t.shape,o=t.dtype;return a.makeTensorFromDataId(n,r,o)}));if(i){var s=a.getTensorsForGradient(f,h,n);o=a.saveTensorsForBackwardMode(s)}return n}}else{var v=e.forwardFunc,m=function(e){i&&(o=e.map((function(e){return a.keep(a.clone(e))})))};n=function(){var e=a.backend.numDataIds();r=a.tidy((function(){return v(a.backend,m)}));var t=Array.isArray(r)?r:[r];return a.shouldCheckForMemLeaks()&&a.checkKernelForMemLeak(l,e,t),t}}var g,y=e.inputs,b=e.attrs,w=Me(e)?null:e.backwardsFunc;return this.scopedRun((function(){return a.state.kernelDepth++}),(function(){return a.state.kernelDepth--}),(function(){a.ENV.getBool("DEBUG")||a.state.profiling?(g=a.profiler.profileKernel(l,y,(function(){return n()})),a.ENV.getBool("DEBUG")&&a.profiler.logKernelProfile(g),t=g.outputs):t=n()})),i&&this.addTapeNode(l,y,t,w,o,b),this.state.profiling&&this.state.activeProfile.kernels.push({name:l,bytesAdded:this.state.numBytes-s,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-u,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(y).map((function(e){return null!=y[e]?y[e].shape:null})),outputShapes:t.map((function(e){return e.shape})),kernelTimeMs:g.timeMs,extraInfo:g.extraInfo}),Array.isArray(r)?t:t[0]},e.prototype.saveTensorsForBackwardMode=function(e){var t=this;return e.map((function(e){return t.keep(t.clone(e))}))},e.prototype.getTensorsForGradient=function(e,t,n){var r=Y(e);if(null!=r){var a=r.inputsToSave||[],o=r.outputsToSave||[],i=void 0;r.saveAllInputs?(c(Array.isArray(t),(function(){return"saveAllInputs is true, expected inputs to be an array."})),i=Object.keys(t).map((function(e){return t[e]}))):i=a.map((function(e){return t[e]}));var s=n.filter((function(e,t){return o[t]}));return i.concat(s)}return[]},e.prototype.makeTensor=function(e,t,n,r){if(null==e)throw new Error("Values passed to engine.makeTensor() are null");n=n||"float32",r=r||this.backend;var a=e;"string"===n&&I(e[0])&&(a=e.map((function(e){return te(e)})));var o=r.write(a,t,n),i=new de(t,n,o,this.nextTensorId());if(this.trackTensor(i,r),"string"===n){var s=this.state.tensorInfo.get(o),u=M(a);this.state.numBytes+=u-s.bytes,s.bytes=u}return i},e.prototype.makeTensorFromDataId=function(e,t,n,r){var a=new de(t,n=n||"float32",e,this.nextTensorId());return this.trackTensor(a,r),a},e.prototype.makeVariable=function(e,t,n,r){void 0===t&&(t=!0),n=n||this.nextVariableId().toString(),null!=r&&r!==e.dtype&&(e=e.cast(r));var a=new be(e,t,n,this.nextTensorId());if(null!=this.state.registeredVariables[a.name])throw new Error("Variable with name "+a.name+" was already registered");return this.state.registeredVariables[a.name]=a,this.incRef(a,this.backend),a},e.prototype.trackTensor=function(e,t){this.state.numTensors++,"string"===e.dtype&&this.state.numStringTensors++;var n=0;"complex64"!==e.dtype&&"string"!==e.dtype&&(n=e.size*A(e.dtype)),this.state.numBytes+=n,this.state.tensorInfo.has(e.dataId)||(this.state.numDataBuffers++,this.state.tensorInfo.set(e.dataId,{backend:t||this.backend,dtype:e.dtype,shape:e.shape,bytes:n})),e instanceof be||this.track(e)},e.prototype.incRef=function(e,t){this.trackTensor(e,t),this.backend.incRef(e.dataId)},e.prototype.removeDataId=function(e,t){this.state.tensorInfo.has(e)&&this.state.tensorInfo.get(e).backend===t&&(this.state.tensorInfo.delete(e),this.state.numDataBuffers--)},e.prototype.disposeTensor=function(e){if(this.state.tensorInfo.has(e.dataId)){var t=this.state.tensorInfo.get(e.dataId);if(this.state.numTensors--,"string"===e.dtype&&(this.state.numStringTensors--,this.state.numBytes-=t.bytes),"complex64"!==e.dtype&&"string"!==e.dtype){var n=e.size*A(e.dtype);this.state.numBytes-=n}t.backend.disposeData(e.dataId)&&this.removeDataId(e.dataId,t.backend)}},e.prototype.disposeVariables=function(){for(var e in this.state.registeredVariables){var t=this.state.registeredVariables[e];this.disposeVariable(t)}},e.prototype.disposeVariable=function(e){this.disposeTensor(e),null!=this.state.registeredVariables[e.name]&&delete this.state.registeredVariables[e.name]},e.prototype.memory=function(){var e=this.backend.memory();return e.numTensors=this.state.numTensors,e.numDataBuffers=this.state.numDataBuffers,e.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(e.unreliable=!0,null==e.reasons&&(e.reasons=[]),e.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)")),e},e.prototype.profile=function(e){return r(this,void 0,void 0,(function(){var t,n,r,o,i,s,u,l;return a(this,(function(a){switch(a.label){case 0:return this.state.profiling=!0,t=this.state.numBytes,n=this.state.numTensors,this.state.activeProfile.kernels=[],r=this.state.activeProfile,[4,e()];case 1:r.result=a.sent(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max.apply(Math,this.state.activeProfile.kernels.map((function(e){return e.totalBytesSnapshot}))),this.state.activeProfile.newBytes=this.state.numBytes-t,this.state.activeProfile.newTensors=this.state.numTensors-n,o=0,i=this.state.activeProfile.kernels,a.label=2;case 2:return o0&&0===this.state.kernelDepth},e.prototype.addTapeNode=function(e,t,n,r,a,o){var i=this,s={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:n,saved:a},u=Y(e);null!=u&&(r=u.gradFunc),null!=r&&(s.gradient=function(e){return e=e.map((function(e,t){if(null==e){var r=n[t],a=P(r.size,r.dtype);return i.makeTensor(a,r.shape,r.dtype)}return e})),r(e.length>1?e:e[0],a,o)}),this.state.activeTape.push(s)},e.prototype.keep=function(e){return e.kept=!0,e},e.prototype.startTape=function(){0===this.state.gradientDepth&&(this.state.activeTape=[]),this.state.gradientDepth++},e.prototype.endTape=function(){this.state.gradientDepth--},e.prototype.startScope=function(e){var t={track:[],name:"unnamed scope",id:this.state.nextScopeId++};e&&(t.name=e),this.state.scopeStack.push(t),this.state.activeScope=t},e.prototype.endScope=function(e){for(var t=this,n=Se(e),r=new Set(n.map((function(e){return e.id}))),a=0;a0,(function(){return"gradients() received an empty list of xs."})),null!=n&&"float32"!==n.dtype)throw new Error("dy must have 'float32' dtype, but has '"+n.dtype+"'");var o=this.scopedRun((function(){return a.startTape()}),(function(){return a.endTape()}),(function(){return a.tidy("forward",e)}));c(o instanceof de,(function(){return"The result y returned by f() must be a tensor."}));var i=function(e,t,n){for(var r={},a={},o=0;o=0;o--)for(i=(p=e[o]).inputs,c=0;c0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.");return this.tidy("backward",(function(){var e,r,s={};s[o.id]=null==n?(e=o.shape,r=B(p(e),"float32"),De.makeTensor(r,e,"float32")):n,function(e,t,n,r){for(var a=function(a){var o=t[a],i=[];if(o.outputs.forEach((function(t){var n=e[t.id];null!=n?i.push(n):i.push(null)})),null==o.gradient)throw new Error("Cannot compute gradient: gradient function not found for "+o.kernelName+".");var s=o.gradient(i),u=function(t){if(!(t in s))throw new Error("Cannot backprop through input "+t+". Available gradients found: "+Object.keys(s)+".");var a=n((function(){return s[t]()}));if("float32"!==a.dtype)throw new Error("Error in gradient for op "+o.kernelName+". The gradient of input "+t+" must have 'float32' dtype, but has '"+a.dtype+"'");var i=o.inputs[t];if(!v(a.shape,i.shape))throw new Error("Error in gradient for op "+o.kernelName+". The gradient of input '"+t+"' has shape '"+a.shape+"', which does not match the shape of the input '"+i.shape+"'");if(null==e[i.id])e[i.id]=a;else{var u=e[i.id];e[i.id]=r(u,a),u.dispose()}};for(var l in o.inputs)u(l)},o=t.length-1;o>=0;o--)a(o)}(s,i,(function(e){return a.tidy(e)}),Te);var u=t.map((function(e){return s[e.id]}));return 0===a.state.gradientDepth&&(a.state.activeTape.forEach((function(e){for(var t=0,n=e.saved;t0,(function(){return"Element arr["+r.join("][")+"] should be a primitive, but is an array of "+t.length+" elements"})),c(t.length===n[0],(function(){return"Element arr["+r.join("][")+"] should have "+n[0]+" elements, but has "+t.length+" elements"}));for(var a=n.slice(1),o=0;o=0&&(a=r),Pe(r,a,t,n),null==e||!S(e)&&!Array.isArray(e)&&"number"!=typeof e&&"boolean"!=typeof e&&"string"!=typeof e){var o=null==e?"null":e.constructor.name;throw new Error("Argument '"+t+"' passed to '"+n+"' must be a Tensor or TensorLike, but got '"+o+"'")}var i=Be(e,a);S(e)||Array.isArray(e)||(e=[e]);var s="string"!==a?Q(e,a):d(e,[],!0);return De.makeTensor(s,i,a)}function ze(e,t,n,r){if(void 0===r&&(r="numeric"),!Array.isArray(e))throw new Error("Argument "+t+" passed to "+n+" must be a `Tensor[]` or `TensorLike[]`");return e.map((function(e,a){return Le(e,t+"["+a+"]",n,r)}))}Ce.registerFlag("DEBUG",(function(){return!1}),(function(e){e&&console.warn("Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.")})),Ce.registerFlag("IS_BROWSER",(function(){return Re()})),Ce.registerFlag("IS_NODE",(function(){return"undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.node})),Ce.registerFlag("IS_CHROME",(function(){return"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)})),Ce.registerFlag("PROD",(function(){return!1})),Ce.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",(function(){return Ce.getBool("DEBUG")})),Ce.registerFlag("DEPRECATION_WARNINGS_ENABLED",(function(){return!0})),Ce.registerFlag("IS_TEST",(function(){return!1})),Ce.registerFlag("CHECK_COMPUTATION_FOR_ERRORS",(function(){return!0})),Ce.registerFlag("WRAP_TO_IMAGEBITMAP",(function(){return!1}));function Oe(e){var t=Object.keys(e);if(1!==t.length)throw new Error("Please provide an object with a single key (operation name) mapping to a function. Got an object with "+t.length+" keys.");var n=t[0],r=e[n];n.endsWith("_")&&(n=n.substring(0,n.length-1)),n+="__op";var a=function(){for(var e=[],t=0;t>10]+(1023&s)]+t[s>>10];o[i]=u}return new Float32Array(a)}}var $e=function(){function e(){this.saveRouters=[],this.loadRouters=[]}return e.getInstance=function(){return null==e.instance&&(e.instance=new e),e.instance},e.registerSaveRouter=function(t){e.getInstance().saveRouters.push(t)},e.registerLoadRouter=function(t){e.getInstance().loadRouters.push(t)},e.getSaveHandlers=function(t){return e.getHandlers(t,"save")},e.getLoadHandlers=function(t,n){return e.getHandlers(t,"load",n)},e.getHandlers=function(t,n,r){var a=[];return("load"===n?e.getInstance().loadRouters:e.getInstance().saveRouters).forEach((function(e){var n=e(t,r);null!==n&&a.push(n)})),a},e}();function Qe(){if(!U().getBool("IS_BROWSER"))throw new Error("Failed to obtain IndexedDB factory because the current environmentis not a web browser.");var e="undefined"==typeof window?self:window,t=e.indexedDB||e.mozIndexedDB||e.webkitIndexedDB||e.msIndexedDB||e.shimIndexedDB;if(null==t)throw new Error("The current browser does not appear to support IndexedDB.");return t}function et(e){var t=e.result;t.createObjectStore("models_store",{keyPath:"modelPath"}),t.createObjectStore("model_info_store",{keyPath:"modelPath"})}var tt=function(){function e(e){if(this.indexedDB=Qe(),null==e||!e)throw new Error("For IndexedDB, modelPath must not be null, undefined or empty.");this.modelPath=e}return e.prototype.save=function(e){return r(this,void 0,void 0,(function(){return a(this,(function(t){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");return[2,this.databaseAction(this.modelPath,e)]}))}))},e.prototype.load=function(){return r(this,void 0,void 0,(function(){return a(this,(function(e){return[2,this.databaseAction(this.modelPath)]}))}))},e.prototype.databaseAction=function(e,t){var n=this;return new Promise((function(e,r){var a=n.indexedDB.open("tensorflowjs",1);a.onupgradeneeded=function(){return et(a)},a.onsuccess=function(){var o=a.result;if(null==t){var i=o.transaction("models_store","readonly"),s=i.objectStore("models_store").get(n.modelPath);s.onsuccess=function(){if(null==s.result)return o.close(),r(new Error("Cannot find model with path '"+n.modelPath+"' in IndexedDB."));e(s.result.modelArtifacts)},s.onerror=function(e){return o.close(),r(s.error)},i.oncomplete=function(){return o.close()}}else{var u,l=Ze(t),c=o.transaction("model_info_store","readwrite"),f=c.objectStore("model_info_store"),h=f.put({modelPath:n.modelPath,modelArtifactsInfo:l});h.onsuccess=function(){var a=(u=o.transaction("models_store","readwrite")).objectStore("models_store").put({modelPath:n.modelPath,modelArtifacts:t,modelArtifactsInfo:l});a.onsuccess=function(){return e({modelArtifactsInfo:l})},a.onerror=function(e){var t=(f=c.objectStore("model_info_store")).delete(n.modelPath);t.onsuccess=function(){return o.close(),r(a.error)},t.onerror=function(e){return o.close(),r(a.error)}}},h.onerror=function(e){return o.close(),r(h.error)},c.oncomplete=function(){null==u?o.close():u.oncomplete=function(){return o.close()}}}},a.onerror=function(e){return r(a.error)}}))},e.URL_SCHEME="indexeddb://",e}(),nt=function(e){return U().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(tt.URL_SCHEME)?(t=e.slice(tt.URL_SCHEME.length),new tt(t)):null;var t};$e.registerSaveRouter(nt),$e.registerLoadRouter(nt);var rt=function(){function e(){this.indexedDB=Qe()}return e.prototype.listModels=function(){return r(this,void 0,void 0,(function(){var e=this;return a(this,(function(t){return[2,new Promise((function(t,n){var r=e.indexedDB.open("tensorflowjs",1);r.onupgradeneeded=function(){return et(r)},r.onsuccess=function(){var e=r.result,a=e.transaction("model_info_store","readonly"),o=a.objectStore("model_info_store").getAll();o.onsuccess=function(){for(var e={},n=0,r=o.result;n0,(function(){return"scheme must not be an empty string."}));var r=e.getInstance();c(null==r.managers[t],(function(){return"A model store manager is already registered for scheme '"+t+"'."})),r.managers[t]=n},e.getManager=function(e){var t=this.getInstance().managers[e];if(null==t)throw new Error("Cannot find model manager for scheme '"+e+"'");return t},e.getSchemes=function(){return Object.keys(this.getInstance().managers)},e}();function mt(e){if(-1===e.indexOf("://"))throw new Error("The url string provided does not contain a scheme. Supported schemes are: "+vt.getSchemes().join(","));return{scheme:e.split("://")[0],path:e.split("://")[1]}}function gt(e,t,n){return void 0===n&&(n=!1),r(this,void 0,void 0,(function(){var r,o,i,s,u,l,f,h,d;return a(this,(function(a){switch(a.label){case 0:return c(e!==t,(function(){return"Old path and new path are the same: '"+e+"'"})),c((r=$e.getLoadHandlers(e)).length>0,(function(){return"Copying failed because no load handler is found for source URL "+e+"."})),c(r.length<2,(function(){return"Copying failed because more than one ("+r.length+") load handlers for source URL "+e+"."})),o=r[0],c((i=$e.getSaveHandlers(t)).length>0,(function(){return"Copying failed because no save handler is found for destination URL "+t+"."})),c(i.length<2,(function(){return"Copying failed because more than one ("+r.length+") save handlers for destination URL "+t+"."})),s=i[0],u=mt(e).scheme,l=mt(e).path,f=u===mt(e).scheme,[4,o.load()];case 1:return h=a.sent(),n&&f?[4,vt.getManager(u).removeModel(l)]:[3,3];case 2:a.sent(),a.label=3;case 3:return[4,s.save(h)];case 4:return d=a.sent(),!n||f?[3,6]:[4,vt.getManager(u).removeModel(l)];case 5:a.sent(),a.label=6;case 6:return[2,d.modelArtifactsInfo]}}))}))}var yt=function(){function e(){}return e.prototype.fetch=function(e,t){return fetch(e,t)},e.prototype.now=function(){return performance.now()},e.prototype.encode=function(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error("Browser's encoder only supports utf-8, but got "+t);return null==this.textEncoder&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(e)},e.prototype.decode=function(e,t){return new TextDecoder(t).decode(e)},e}();if(U().get("IS_BROWSER")){U().setPlatform("browser",new yt);try{vt.registerManager(ht.URL_SCHEME,new pt)}catch(e){}try{vt.registerManager(tt.URL_SCHEME,new rt)}catch(e){}}var bt,wt=function(){return require("node-fetch")},kt=function(){function e(){this.util=require("util"),this.textEncoder=new this.util.TextEncoder}return e.prototype.fetch=function(e,t){return null!=U().global.fetch?U().global.fetch(e,t):(null==bt&&(bt=wt()),bt(e,t))},e.prototype.now=function(){var e=process.hrtime();return 1e3*e[0]+e[1]/1e6},e.prototype.encode=function(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error("Node built-in encoder only supports utf-8, but got "+t);return this.textEncoder.encode(e)},e.prototype.decode=function(e,t){return 0===e.length?"":new this.util.TextDecoder(t).decode(e)},e}();function xt(e,t,n){return void 0===t&&(t="float32"),t=t||"float32",L(e),new ce(e,t,n)}U().get("IS_NODE")&&U().setPlatform("node",new kt);var Et=Oe({cast_:function(e,t){var n=Le(e,"x","cast");if(!E(t))throw new Error("Failed to cast to unknown dtype "+t);if("string"===t&&"string"!==n.dtype||"string"!==t&&"string"===n.dtype)throw new Error("Only strings can be casted to strings");var r={x:n},a={dtype:t};return De.runKernel("Cast",r,a)}});var St=Oe({clone_:function(e){var t={x:Le(e,"x","clone","string_or_numeric")};return De.runKernel("Identity",t)}});function At(e,t){void 0===t&&(t=!1),console.log(e.toString(t))}_e(),he={buffer:xt,cast:Et,clone:St,print:At};function Mt(e){return new Promise((function(e){return setTimeout(e)})).then(e)}var It=function(){function e(t){if(!U().getBool("IS_BROWSER"))throw new Error("browserDownloads() cannot proceed because the current environment is not a browser.");t.startsWith(e.URL_SCHEME)&&(t=t.slice(e.URL_SCHEME.length)),null!=t&&0!==t.length||(t="model"),this.modelTopologyFileName=t+".json",this.weightDataFileName=t+".weights.bin"}return e.prototype.save=function(e){return r(this,void 0,void 0,(function(){var t,n,r,o,i,s;return a(this,(function(a){switch(a.label){case 0:if("undefined"==typeof document)throw new Error("Browser downloads are not supported in this environment since `document` is not present");if(t=window.URL.createObjectURL(new Blob([e.weightData],{type:"application/octet-stream"})),!(e.modelTopology instanceof ArrayBuffer))return[3,1];throw new Error("BrowserDownloads.save() does not support saving model topology in binary formats yet.");case 1:return n=[{paths:["./"+this.weightDataFileName],weights:e.weightSpecs}],r={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,weightsManifest:n},null!=e.signature&&(r.signature=e.signature),null!=e.userDefinedMetadata&&(r.userDefinedMetadata=e.userDefinedMetadata),null!=e.modelInitializer&&(r.modelInitializer=e.modelInitializer),o=window.URL.createObjectURL(new Blob([JSON.stringify(r)],{type:"application/json"})),(i=null==this.jsonAnchor?document.createElement("a"):this.jsonAnchor).download=this.modelTopologyFileName,i.href=o,[4,Mt((function(){return i.dispatchEvent(new MouseEvent("click"))}))];case 2:return a.sent(),null==e.weightData?[3,4]:((s=null==this.weightDataAnchor?document.createElement("a"):this.weightDataAnchor).download=this.weightDataFileName,s.href=t,[4,Mt((function(){return s.dispatchEvent(new MouseEvent("click"))}))]);case 3:a.sent(),a.label=4;case 4:return[2,{modelArtifactsInfo:Ze(e)}]}}))}))},e.URL_SCHEME="downloads://",e}(),Nt=function(){function e(e){if(null==e||e.length<1)throw new Error("When calling browserFiles, at least 1 file is required, but received "+e);this.files=e}return e.prototype.load=function(){return r(this,void 0,void 0,(function(){var e,t,n=this;return a(this,(function(r){return e=this.files[0],t=this.files.slice(1),[2,new Promise((function(r,a){var o=new FileReader;o.onload=function(o){var i=JSON.parse(o.target.result),s=i.modelTopology;if(null!=s){0===t.length&&r({modelTopology:s});var u=i.weightsManifest;if(null!=u){var l;try{l=n.checkManifestAndWeightFiles(u,t)}catch(e){return void a(e)}var c=[],f=[],h=[];u.forEach((function(e){e.paths.forEach((function(e){f.push(e),h.push(null)})),c.push.apply(c,e.weights)})),u.forEach((function(e){e.paths.forEach((function(e){var t=new FileReader;t.onload=function(t){var n=t.target.result,a=f.indexOf(e);if(h[a]=n,-1===h.indexOf(null)){var o={modelTopology:s,weightSpecs:c,weightData:Je(h),format:i.format,generatedBy:i.generatedBy,convertedBy:i.convertedBy};null!=i.signature&&(o.signature=i.signature),null!=i.userDefinedMetadata&&(o.userDefinedMetadata=i.userDefinedMetadata),null!=i.modelInitializer&&(o.modelInitializer=i.modelInitializer),r(o)}},t.onerror=function(t){return a("Failed to weights data from file of path '"+e+"'.")},t.readAsArrayBuffer(l[e])}))}))}else a(new Error("weightManifest field is missing from file "+e.name))}else a(new Error("modelTopology field is missing from file "+e.name))},o.onerror=function(t){return a("Failed to read model topology and weights manifest JSON from file '"+e.name+"'. BrowserFiles supports loading Keras-style tf.Model artifacts only.")},o.readAsText(e)}))]}))}))},e.prototype.checkManifestAndWeightFiles=function(e,t){for(var n=[],r=t.map((function(e){return Ye(e.name)})),a={},o=0,i=e;o0,(function(){return"promises must be a none empty array"}))}(e),function(e,t){c(e>=0&&e<=1,(function(){return"Progress fraction must be in range [0, 1], but got startFraction "+e})),c(t>=0&&t<=1,(function(){return"Progress fraction must be in range [0, 1], but got endFraction "+t})),c(t>=e,(function(){return"startFraction must be no more than endFraction, but got startFraction "+e+" and endFraction "+t}))}(n=null==n?0:n,r=null==r?1:r);var a=0;return Promise.all(e.map((function(o){return o.then((function(o){var i=n+ ++a/e.length*(r-n);return t(i),o})),o})))}function Dt(e,t){return r(this,void 0,void 0,(function(){var n,r,o,i,s,u,l,c,f;return a(this,(function(a){switch(a.label){case 0:return null==t&&(t={}),n=null==t.fetchFunc?U().platform.fetch:t.fetchFunc,r=e.map((function(e){return n(e,t.requestInit,{isBinary:!0})})),o=0,i=.5,null!=t.onProgress?[3,2]:[4,Promise.all(r)];case 1:return s=a.sent(),[3,4];case 2:return[4,_t(r,t.onProgress,o,i)];case 3:s=a.sent(),a.label=4;case 4:return u=s.map((function(e){return e.arrayBuffer()})),l=.5,c=1,null!=t.onProgress?[3,6]:[4,Promise.all(u)];case 5:return f=a.sent(),[3,8];case 6:return[4,_t(u,t.onProgress,l,c)];case 7:f=a.sent(),a.label=8;case 8:return[2,f]}}))}))}function Tt(e){var t=this;return function(n,o,i){return void 0===o&&(o=""),r(t,void 0,void 0,(function(){var t,r,s,u,l,c,f,h,d,v;return a(this,(function(a){switch(a.label){case 0:if(t=n.map((function(){return!1})),r={},s=null!=i?i.map((function(){return!1})):[],u=[],n.forEach((function(e,n){var a=0;e.weights.forEach((function(e){var o="quantization"in e?e.quantization.dtype:e.dtype,l=Ue[o]*p(e.shape),c=function(){t[n]=!0,null==r[n]&&(r[n]=[]),r[n].push({manifestEntry:e,groupOffset:a,sizeBytes:l})};null!=i?i.forEach((function(t,n){t===e.name&&(c(),s[n]=!0)})):c(),u.push(e.name),a+=l}))})),!s.every((function(e){return e})))throw l=i.filter((function(e,t){return!s[t]})),new Error("Could not find weights in manifest with names: "+l.join(", ")+". \nManifest JSON has weights with names: "+u.join(", ")+".");return c=t.reduce((function(e,t,n){return t&&e.push(n),e}),[]),f=[],c.forEach((function(e){n[e].paths.forEach((function(e){var t=o+(o.endsWith("/")?"":"/")+e;f.push(t)}))})),[4,e(f)];case 1:return h=a.sent(),d={},v=0,c.forEach((function(e){for(var t=n[e].paths.length,a=0,o=0;o0,(function(){return"URL path for http must not be null, undefined or empty."})),Array.isArray(e)&&c(2===e.length,(function(){return"URL paths for http must have a length of 2, (actual length is "+e.length+")."})),this.path=e,null!=t.requestInit&&null!=t.requestInit.body)throw new Error("requestInit is expected to have no pre-existing body, but has one.");this.requestInit=t.requestInit||{}}return e.prototype.save=function(e){return r(this,void 0,void 0,(function(){var t,n,r,o;return a(this,(function(a){switch(a.label){case 0:if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.");return(t=Object.assign({method:this.DEFAULT_METHOD},this.requestInit)).body=new FormData,n=[{paths:["./model.weights.bin"],weights:e.weightSpecs}],r={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,weightsManifest:n},null!=e.signature&&(r.signature=e.signature),null!=e.userDefinedMetadata&&(r.userDefinedMetadata=e.userDefinedMetadata),null!=e.modelInitializer&&(r.modelInitializer=e.modelInitializer),t.body.append("model.json",new Blob([JSON.stringify(r)],{type:"application/json"}),"model.json"),null!=e.weightData&&t.body.append("model.weights.bin",new Blob([e.weightData],{type:"application/octet-stream"}),"model.weights.bin"),[4,this.fetch(this.path,t)];case 1:if((o=a.sent()).ok)return[2,{modelArtifactsInfo:Ze(e),responses:[o]}];throw new Error("BrowserHTTPRequest.save() failed due to HTTP response status "+o.status+".")}}))}))},e.prototype.load=function(){return r(this,void 0,void 0,(function(){var e,t,n,r,o,i,s,u,l,c,f,h,d,p,v;return a(this,(function(a){switch(a.label){case 0:return[4,this.fetch(this.path,this.requestInit)];case 1:if(!(e=a.sent()).ok)throw new Error("Request to "+this.path+" failed with status code "+e.status+". Please verify this URL points to the model JSON of the model to load.");a.label=2;case 2:return a.trys.push([2,4,,5]),[4,e.json()];case 3:return t=a.sent(),[3,5];case 4:throw a.sent(),n="Failed to parse model JSON of response from "+this.path+".",this.path.endsWith(".pb")?n+=" Your path contains a .pb file extension. Support for .pb models have been removed in TensorFlow.js 1.0 in favor of .json models. You can re-convert your Python TensorFlow model using the TensorFlow.js 1.0 conversion scripts or you can convert your.pb models with the 'pb2json'NPM script in the tensorflow/tfjs-converter repository.":n+=" Please make sure the server is serving valid JSON for this request.",new Error(n);case 5:if(r=t.modelTopology,o=t.weightsManifest,i=t.generatedBy,s=t.convertedBy,u=t.format,l=t.signature,c=t.userDefinedMetadata,null==r&&null==o)throw new Error("The JSON from HTTP path "+this.path+" contains neither model topology or manifest for weights.");return null==o?[3,7]:[4,this.loadWeights(o)];case 6:d=a.sent(),f=d[0],h=d[1],a.label=7;case 7:return p={modelTopology:r,weightSpecs:f,weightData:h,generatedBy:i,convertedBy:s,format:u},null!=l&&(p.signature=l),null!=c&&(p.userDefinedMetadata=c),(v=t.modelInitializer)&&(p.modelInitializer=v),[2,p]}}))}))},e.prototype.loadWeights=function(e){return r(this,void 0,void 0,(function(){var t,n,r,o,i,s,u,l,c,f,h,d,p,v,m,g,y,b,w,k,x;return a(this,(function(a){switch(a.label){case 0:for(t=Array.isArray(this.path)?this.path[1]:this.path,n=function(e){var t=e.lastIndexOf("/"),n=e.lastIndexOf("?"),r=e.substring(0,t),a=n>t?e.substring(n):"";return[r+"/",a]}(t),r=n[0],o=n[1],i=this.weightPathPrefix||r,s=[],u=0,l=e;u=2, but it is "+t);var a={indices:Le(e,"indices","oneHot","int32")},o={depth:t,onValue:n,offValue:r};return De.runKernel("OneHot",a,o)}});var Wt=Oe({transpose_:function(e,t){var n=Le(e,"x","transpose");if(null==t&&(t=n.shape.map((function(e,t){return t})).reverse()),c(n.rank===t.length,(function(){return"Error in transpose: rank of input "+n.rank+" must match length of perm "+t+"."})),t.forEach((function(e){c(e>=0&&e0&&Number.isInteger(n),(function(){return"If provided, numClasses must be a positive integer, but got "+n})),c(1===r.rank,(function(){return"Expected the rank of labels to be 1, but got "+r.rank})),c(1===a.rank,(function(){return"Expected the rank of predictions to be 1, but got "+a.rank})),c(r.shape[0]===a.shape[0],(function(){return"Mismatch in the number of examples: "+r.shape[0]+" vs. "+a.shape[0]+". Labels and predictions should have the same number of elements."})),c(n>0&&Number.isInteger(n),(function(){return"numClasses is required to be a positive integer, but got "+n}));var o=Kt(Et(r,"int32"),n),i=Kt(Et(a,"int32"),n),s=Wt(o),u=Ot(s,i);return Et(u,"int32")}})};function Gt(e,t,n){if(h(e),null!=t&&3!==t.length)throw new Error("tensor3d() requires shape to have three numbers");var r=Be(e,n);if(3!==r.length&&1!==r.length)throw new Error("tensor3d() requires values to be number[][][] or flat/TypedArray");if(1===r.length&&null==t)throw new Error("tensor3d() requires shape to be provided when `values` are a flat array");return We(e,t,r,n)}function Vt(e,t){if(void 0===t&&(t=3),t>4)throw new Error("Cannot construct Tensor with more than 4 channels from pixels.");if(null==e)throw new Error("pixels passed to tf.browser.fromPixels() can not be null");var n=!1,r=!1,a=!1,o=!1,i=!1,s=!1;if(e.data instanceof Uint8Array)n=!0;else if("undefined"!=typeof ImageData&&e instanceof ImageData)r=!0;else if("undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement)a=!0;else if("undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement)o=!0;else if(null!=e.getContext)i=!0;else{if(!("undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap))throw new Error("pixels passed to tf.browser.fromPixels() must be either an HTMLVideoElement, HTMLImageElement, HTMLCanvasElement, ImageData in browser, or OffscreenCanvas, ImageData in webworker or {data: Uint32Array, width: number, height: number}, but was "+e.constructor.name);s=!0}if(a){if(a&&e.readyState<2)throw new Error("The video element has not loaded data yet. Please wait for `loadeddata` event on the 20){var c=3*s,f=Array.from(t.slice(0,c)),h=Array.from(t.slice((u-3)*s,u*s));return"complex64"===r&&(f=ue(f),h=ue(h)),["["+f.map((function(e,t){return ie(e,o[t],r)})).join(", ")+", ..., "+h.map((function(e,t){return ie(e,o[u-3+t],r)})).join(", ")+"]"]}return["["+("complex64"===r?ue(t):Array.from(t)).map((function(e,t){return ie(e,o[t],r)})).join(", ")+"]"]}var d=n.slice(1),p=a.slice(1),v=a[0]*s,m=[];if(u>20){for(var g=0;g<3;g++){var y=(b=g*v)+v;m.push.apply(m,e(t.slice(b,y),d,r,p,o,!1))}m.push("...");for(g=u-3;g=this.shape[n]){var i="Requested out of range element at "+e+". Buffer shape="+this.shape;throw new Error(i)}n++}for(var s=e[e.length-1],u=0;u0)throw new Error("Backend '"+this.backendName+"' has an internal memory leak ("+i+" data ids) after running '"+e+"'")},e.prototype.runKernelFunc=function(e){var t,n,r,a=this,o=[],i=this.isTapeOn(),s=this.state.numBytes,u=this.state.numTensors;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0),null==this.backendName&&this.backend;var l=Ae(e)?e.kernelName:null!=this.state.activeScope?this.state.activeScope.name:"";if(Ae(e)){var f=e.kernelName,h=e.inputs,d=e.attrs;null==this.backendName&&this.backend;var p=j(f,this.backendName);c(null!=p,(function(){return"Cannot find registered kernel '"+f+"' for backend '"+a.backendName+"'"})),n=function(){var e=a.backend.numDataIds();r=p.kernelFunc({inputs:h,attrs:d,backend:a.backend});var t=Array.isArray(r)?r:[r];a.shouldCheckForMemLeaks()&&a.checkKernelForMemLeak(f,e,t);var n=t.map((function(e){if(null!=e.rank)return e;var t=e,n=t.dataId,r=t.shape,o=t.dtype;return a.makeTensorFromDataId(n,r,o)}));if(i){var s=a.getTensorsForGradient(f,h,n);o=a.saveTensorsForBackwardMode(s)}return n}}else{var v=e.forwardFunc,m=function(e){i&&(o=e.map((function(e){return a.keep(a.clone(e))})))};n=function(){var e=a.backend.numDataIds();r=a.tidy((function(){return v(a.backend,m)}));var t=Array.isArray(r)?r:[r];return a.shouldCheckForMemLeaks()&&a.checkKernelForMemLeak(l,e,t),t}}var g,y=e.inputs,b=e.attrs,w=Ae(e)?null:e.backwardsFunc;return this.scopedRun((function(){return a.state.kernelDepth++}),(function(){return a.state.kernelDepth--}),(function(){a.ENV.getBool("DEBUG")||a.state.profiling?(g=a.profiler.profileKernel(l,y,(function(){return n()})),a.ENV.getBool("DEBUG")&&a.profiler.logKernelProfile(g),t=g.outputs):t=n()})),i&&this.addTapeNode(l,y,t,w,o,b),this.state.profiling&&this.state.activeProfile.kernels.push({name:l,bytesAdded:this.state.numBytes-s,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-u,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(y).map((function(e){return null!=y[e]?y[e].shape:null})),outputShapes:t.map((function(e){return e.shape})),kernelTimeMs:g.timeMs,extraInfo:g.extraInfo}),Array.isArray(r)?t:t[0]},e.prototype.saveTensorsForBackwardMode=function(e){var t=this;return e.map((function(e){return t.keep(t.clone(e))}))},e.prototype.getTensorsForGradient=function(e,t,n){var r=J(e);if(null!=r){var a=r.inputsToSave||[],o=r.outputsToSave||[],i=void 0;r.saveAllInputs?(c(Array.isArray(t),(function(){return"saveAllInputs is true, expected inputs to be an array."})),i=Object.keys(t).map((function(e){return t[e]}))):i=a.map((function(e){return t[e]}));var s=n.filter((function(e,t){return o[t]}));return i.concat(s)}return[]},e.prototype.makeTensor=function(e,t,n,r){if(null==e)throw new Error("Values passed to engine.makeTensor() are null");n=n||"float32",r=r||this.backend;var a=e;"string"===n&&N(e[0])&&(a=e.map((function(e){return ee(e)})));var o=r.write(a,t,n),i=new he(t,n,o,this.nextTensorId());if(this.incRef(i,r),"string"===n){var s=this.state.tensorInfo.get(o),u=M(a);this.state.numBytes+=u-s.bytes,s.bytes=u}return i},e.prototype.makeTensorFromDataId=function(e,t,n,r){var a=new he(t,n=n||"float32",e,this.nextTensorId());return this.incRef(a,r),a},e.prototype.makeVariable=function(e,t,n,r){void 0===t&&(t=!0),n=n||this.nextVariableId().toString(),null!=r&&r!==e.dtype&&(e=e.cast(r));var a=new ye(e,t,n,this.nextTensorId());if(null!=this.state.registeredVariables[a.name])throw new Error("Variable with name "+a.name+" was already registered");return this.state.registeredVariables[a.name]=a,this.incRef(a,this.backend),a},e.prototype.incRef=function(e,t){var n=this.state.tensorInfo.has(e.dataId)?this.state.tensorInfo.get(e.dataId).refCount:0;if(this.state.numTensors++,"string"===e.dtype&&this.state.numStringTensors++,0===n){this.state.numDataBuffers++;var r=0;"complex64"!==e.dtype&&"string"!==e.dtype&&(r=e.size*A(e.dtype)),this.state.tensorInfo.set(e.dataId,{backend:t||this.backend,dtype:e.dtype,shape:e.shape,bytes:r,refCount:0}),this.state.numBytes+=r}this.state.tensorInfo.get(e.dataId).refCount++,e instanceof ye||this.track(e)},e.prototype.disposeTensor=function(e){if(this.state.tensorInfo.has(e.dataId)){this.state.numTensors--,"string"===e.dtype&&this.state.numStringTensors--;var t=this.state.tensorInfo.get(e.dataId);t.refCount<=1?("complex64"!==e.dtype&&(this.state.numBytes-=t.bytes),this.state.numDataBuffers--,t.backend.disposeData(e.dataId),this.state.tensorInfo.delete(e.dataId)):(t.backend.decComplexRef(e.dataId),this.state.tensorInfo.get(e.dataId).refCount--)}},e.prototype.disposeVariables=function(){for(var e in this.state.registeredVariables){var t=this.state.registeredVariables[e];this.disposeVariable(t)}},e.prototype.disposeVariable=function(e){this.disposeTensor(e),null!=this.state.registeredVariables[e.name]&&delete this.state.registeredVariables[e.name]},e.prototype.memory=function(){var e=this.backend.memory();return e.numTensors=this.state.numTensors,e.numDataBuffers=this.state.numDataBuffers,e.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(e.unreliable=!0,null==e.reasons&&(e.reasons=[]),e.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)")),e},e.prototype.profile=function(e){return r(this,void 0,void 0,(function(){var t,n,r,o,i,s,u,l;return a(this,(function(a){switch(a.label){case 0:return this.state.profiling=!0,t=this.state.numBytes,n=this.state.numTensors,this.state.activeProfile.kernels=[],r=this.state.activeProfile,[4,e()];case 1:r.result=a.sent(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max.apply(Math,this.state.activeProfile.kernels.map((function(e){return e.totalBytesSnapshot}))),this.state.activeProfile.newBytes=this.state.numBytes-t,this.state.activeProfile.newTensors=this.state.numTensors-n,o=0,i=this.state.activeProfile.kernels,a.label=2;case 2:return o0&&0===this.state.kernelDepth},e.prototype.addTapeNode=function(e,t,n,r,a,o){var i=this,s={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:n,saved:a},u=J(e);null!=u&&(r=u.gradFunc),null!=r&&(s.gradient=function(e){return e=e.map((function(e,t){if(null==e){var r=n[t],a=P(r.size,r.dtype);return i.makeTensor(a,r.shape,r.dtype)}return e})),r(e.length>1?e:e[0],a,o)}),this.state.activeTape.push(s)},e.prototype.keep=function(e){return e.kept=!0,e},e.prototype.startTape=function(){0===this.state.gradientDepth&&(this.state.activeTape=[]),this.state.gradientDepth++},e.prototype.endTape=function(){this.state.gradientDepth--},e.prototype.startScope=function(e){var t={track:[],name:"unnamed scope",id:this.state.nextScopeId++};e&&(t.name=e),this.state.scopeStack.push(t),this.state.activeScope=t},e.prototype.endScope=function(e){for(var t=this,n=Ee(e),r=new Set(n.map((function(e){return e.id}))),a=0;a0,(function(){return"gradients() received an empty list of xs."})),null!=n&&"float32"!==n.dtype)throw new Error("dy must have 'float32' dtype, but has '"+n.dtype+"'");var o=this.scopedRun((function(){return a.startTape()}),(function(){return a.endTape()}),(function(){return a.tidy("forward",e)}));c(o instanceof he,(function(){return"The result y returned by f() must be a tensor."}));var i=function(e,t,n){for(var r={},a={},o=0;o=0;o--)for(i=(p=e[o]).inputs,c=0;c0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.");return this.tidy("backward",(function(){var e,r,s={};s[o.id]=null==n?(e=o.shape,r=B(p(e),"float32"),Ie.makeTensor(r,e,"float32")):n,function(e,t,n,r){for(var a=function(a){var o=t[a],i=[];if(o.outputs.forEach((function(t){var n=e[t.id];null!=n?i.push(n):i.push(null)})),null==o.gradient)throw new Error("Cannot compute gradient: gradient function not found for "+o.kernelName+".");var s=o.gradient(i),u=function(t){if(!(t in s))throw new Error("Cannot backprop through input "+t+". Available gradients found: "+Object.keys(s)+".");var a=n((function(){return s[t]()}));if("float32"!==a.dtype)throw new Error("Error in gradient for op "+o.kernelName+". The gradient of input "+t+" must have 'float32' dtype, but has '"+a.dtype+"'");var i=o.inputs[t];if(!v(a.shape,i.shape))throw new Error("Error in gradient for op "+o.kernelName+". The gradient of input '"+t+"' has shape '"+a.shape+"', which does not match the shape of the input '"+i.shape+"'");if(null==e[i.id])e[i.id]=a;else{var u=e[i.id];e[i.id]=r(u,a),u.dispose()}};for(var l in o.inputs)u(l)},o=t.length-1;o>=0;o--)a(o)}(s,i,(function(e){return a.tidy(e)}),De);var u=t.map((function(e){return s[e.id]}));return 0===a.state.gradientDepth&&(a.state.activeTape.forEach((function(e){for(var t=0,n=e.saved;t0,(function(){return"Element arr["+r.join("][")+"] should be a primitive, but is an array of "+t.length+" elements"})),c(t.length===n[0],(function(){return"Element arr["+r.join("][")+"] should have "+n[0]+" elements, but has "+t.length+" elements"}));for(var a=n.slice(1),o=0;o=0&&(a=r),Be(r,a,t,n),null==e||!S(e)&&!Array.isArray(e)&&"number"!=typeof e&&"boolean"!=typeof e&&"string"!=typeof e){var o=null==e?"null":e.constructor.name;throw new Error("Argument '"+t+"' passed to '"+n+"' must be a Tensor or TensorLike, but got '"+o+"'")}var i=Fe(e,a);S(e)||Array.isArray(e)||(e=[e]);var s="string"!==a?$(e,a):d(e,[],!0);return Ie.makeTensor(s,i,a)}function Le(e,t,n,r){if(void 0===r&&(r="numeric"),!Array.isArray(e))throw new Error("Argument "+t+" passed to "+n+" must be a `Tensor[]` or `TensorLike[]`");return e.map((function(e,a){return Pe(e,t+"["+a+"]",n,r)}))}Ce.registerFlag("DEBUG",(function(){return!1}),(function(e){e&&console.warn("Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.")})),Ce.registerFlag("IS_BROWSER",(function(){return Te()})),Ce.registerFlag("IS_NODE",(function(){return"undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.node})),Ce.registerFlag("IS_CHROME",(function(){return"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)})),Ce.registerFlag("PROD",(function(){return!1})),Ce.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",(function(){return Ce.getBool("DEBUG")})),Ce.registerFlag("DEPRECATION_WARNINGS_ENABLED",(function(){return!0})),Ce.registerFlag("IS_TEST",(function(){return!1})),Ce.registerFlag("CHECK_COMPUTATION_FOR_ERRORS",(function(){return!0}));function ze(e){var t=Object.keys(e);if(1!==t.length)throw new Error("Please provide an object with a single key (operation name) mapping to a function. Got an object with "+t.length+" keys.");var n=t[0],r=e[n];n.endsWith("_")&&(n=n.substring(0,n.length-1)),n+="__op";var a=function(){for(var e=[],t=0;t>10]+(1023&s)]+t[s>>10];o[i]=u}return new Float32Array(a)}}var Xe=function(){function e(){this.saveRouters=[],this.loadRouters=[]}return e.getInstance=function(){return null==e.instance&&(e.instance=new e),e.instance},e.registerSaveRouter=function(t){e.getInstance().saveRouters.push(t)},e.registerLoadRouter=function(t){e.getInstance().loadRouters.push(t)},e.getSaveHandlers=function(t){return e.getHandlers(t,"save")},e.getLoadHandlers=function(t,n){return e.getHandlers(t,"load",n)},e.getHandlers=function(t,n,r){var a=[];return("load"===n?e.getInstance().loadRouters:e.getInstance().saveRouters).forEach((function(e){var n=e(t,r);null!==n&&a.push(n)})),a},e}();function $e(){if(!q().getBool("IS_BROWSER"))throw new Error("Failed to obtain IndexedDB factory because the current environmentis not a web browser.");var e="undefined"==typeof window?self:window,t=e.indexedDB||e.mozIndexedDB||e.webkitIndexedDB||e.msIndexedDB||e.shimIndexedDB;if(null==t)throw new Error("The current browser does not appear to support IndexedDB.");return t}function Qe(e){var t=e.result;t.createObjectStore("models_store",{keyPath:"modelPath"}),t.createObjectStore("model_info_store",{keyPath:"modelPath"})}var et=function(){function e(e){if(this.indexedDB=$e(),null==e||!e)throw new Error("For IndexedDB, modelPath must not be null, undefined or empty.");this.modelPath=e}return e.prototype.save=function(e){return r(this,void 0,void 0,(function(){return a(this,(function(t){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");return[2,this.databaseAction(this.modelPath,e)]}))}))},e.prototype.load=function(){return r(this,void 0,void 0,(function(){return a(this,(function(e){return[2,this.databaseAction(this.modelPath)]}))}))},e.prototype.databaseAction=function(e,t){var n=this;return new Promise((function(e,r){var a=n.indexedDB.open("tensorflowjs",1);a.onupgradeneeded=function(){return Qe(a)},a.onsuccess=function(){var o=a.result;if(null==t){var i=o.transaction("models_store","readonly"),s=i.objectStore("models_store").get(n.modelPath);s.onsuccess=function(){if(null==s.result)return o.close(),r(new Error("Cannot find model with path '"+n.modelPath+"' in IndexedDB."));e(s.result.modelArtifacts)},s.onerror=function(e){return o.close(),r(s.error)},i.oncomplete=function(){return o.close()}}else{var u,l=Ye(t),c=o.transaction("model_info_store","readwrite"),f=c.objectStore("model_info_store"),h=f.put({modelPath:n.modelPath,modelArtifactsInfo:l});h.onsuccess=function(){var a=(u=o.transaction("models_store","readwrite")).objectStore("models_store").put({modelPath:n.modelPath,modelArtifacts:t,modelArtifactsInfo:l});a.onsuccess=function(){return e({modelArtifactsInfo:l})},a.onerror=function(e){var t=(f=c.objectStore("model_info_store")).delete(n.modelPath);t.onsuccess=function(){return o.close(),r(a.error)},t.onerror=function(e){return o.close(),r(a.error)}}},h.onerror=function(e){return o.close(),r(h.error)},c.oncomplete=function(){null==u?o.close():u.oncomplete=function(){return o.close()}}}},a.onerror=function(e){return r(a.error)}}))},e.URL_SCHEME="indexeddb://",e}(),tt=function(e){return q().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(et.URL_SCHEME)?(t=e.slice(et.URL_SCHEME.length),new et(t)):null;var t};Xe.registerSaveRouter(tt),Xe.registerLoadRouter(tt);var nt=function(){function e(){this.indexedDB=$e()}return e.prototype.listModels=function(){return r(this,void 0,void 0,(function(){var e=this;return a(this,(function(t){return[2,new Promise((function(t,n){var r=e.indexedDB.open("tensorflowjs",1);r.onupgradeneeded=function(){return Qe(r)},r.onsuccess=function(){var e=r.result,a=e.transaction("model_info_store","readonly"),o=a.objectStore("model_info_store").getAll();o.onsuccess=function(){for(var e={},n=0,r=o.result;n0,(function(){return"scheme must not be an empty string."}));var r=e.getInstance();c(null==r.managers[t],(function(){return"A model store manager is already registered for scheme '"+t+"'."})),r.managers[t]=n},e.getManager=function(e){var t=this.getInstance().managers[e];if(null==t)throw new Error("Cannot find model manager for scheme '"+e+"'");return t},e.getSchemes=function(){return Object.keys(this.getInstance().managers)},e}();function vt(e){if(-1===e.indexOf("://"))throw new Error("The url string provided does not contain a scheme. Supported schemes are: "+pt.getSchemes().join(","));return{scheme:e.split("://")[0],path:e.split("://")[1]}}function mt(e,t,n){return void 0===n&&(n=!1),r(this,void 0,void 0,(function(){var r,o,i,s,u,l,f,h,d;return a(this,(function(a){switch(a.label){case 0:return c(e!==t,(function(){return"Old path and new path are the same: '"+e+"'"})),c((r=Xe.getLoadHandlers(e)).length>0,(function(){return"Copying failed because no load handler is found for source URL "+e+"."})),c(r.length<2,(function(){return"Copying failed because more than one ("+r.length+") load handlers for source URL "+e+"."})),o=r[0],c((i=Xe.getSaveHandlers(t)).length>0,(function(){return"Copying failed because no save handler is found for destination URL "+t+"."})),c(i.length<2,(function(){return"Copying failed because more than one ("+r.length+") save handlers for destination URL "+t+"."})),s=i[0],u=vt(e).scheme,l=vt(e).path,f=u===vt(e).scheme,[4,o.load()];case 1:return h=a.sent(),n&&f?[4,pt.getManager(u).removeModel(l)]:[3,3];case 2:a.sent(),a.label=3;case 3:return[4,s.save(h)];case 4:return d=a.sent(),!n||f?[3,6]:[4,pt.getManager(u).removeModel(l)];case 5:a.sent(),a.label=6;case 6:return[2,d.modelArtifactsInfo]}}))}))}var gt=function(){function e(){}return e.prototype.fetch=function(e,t){return fetch(e,t)},e.prototype.now=function(){return performance.now()},e.prototype.encode=function(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error("Browser's encoder only supports utf-8, but got "+t);return null==this.textEncoder&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(e)},e.prototype.decode=function(e,t){return new TextDecoder(t).decode(e)},e}();if(q().get("IS_BROWSER")){q().setPlatform("browser",new gt);try{pt.registerManager(ft.URL_SCHEME,new dt)}catch(e){}try{pt.registerManager(et.URL_SCHEME,new nt)}catch(e){}}var yt,bt=function(){return require("node-fetch")},wt=function(){function e(){this.util=require("util"),this.textEncoder=new this.util.TextEncoder}return e.prototype.fetch=function(e,t){return null!=q().global.fetch?q().global.fetch(e,t):(null==yt&&(yt=bt()),yt(e,t))},e.prototype.now=function(){var e=process.hrtime();return 1e3*e[0]+e[1]/1e6},e.prototype.encode=function(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error("Node built-in encoder only supports utf-8, but got "+t);return this.textEncoder.encode(e)},e.prototype.decode=function(e,t){return 0===e.length?"":new this.util.TextDecoder(t).decode(e)},e}();function kt(e,t,n){return void 0===t&&(t="float32"),t=t||"float32",L(e),new le(e,t,n)}q().get("IS_NODE")&&q().setPlatform("node",new wt);var xt=ze({cast_:function(e,t){var n=Pe(e,"x","cast");if(!E(t))throw new Error("Failed to cast to unknown dtype "+t);if("string"===t&&"string"!==n.dtype||"string"!==t&&"string"===n.dtype)throw new Error("Only strings can be casted to strings");var r={x:n},a={dtype:t};return Ie.runKernel("Cast",r,a)}});var Et=ze({clone_:function(e){var t={x:Pe(e,"x","clone","string_or_numeric")};return Ie.runKernel("Identity",t)}});function St(e,t){void 0===t&&(t=!1),console.log(e.toString(t))}_e(),fe={buffer:kt,cast:xt,clone:Et,print:St};function At(e){return new Promise((function(e){return setTimeout(e)})).then(e)}var Mt=function(){function e(t){if(!q().getBool("IS_BROWSER"))throw new Error("browserDownloads() cannot proceed because the current environment is not a browser.");t.startsWith(e.URL_SCHEME)&&(t=t.slice(e.URL_SCHEME.length)),null!=t&&0!==t.length||(t="model"),this.modelTopologyFileName=t+".json",this.weightDataFileName=t+".weights.bin"}return e.prototype.save=function(e){return r(this,void 0,void 0,(function(){var t,n,r,o,i,s;return a(this,(function(a){switch(a.label){case 0:if("undefined"==typeof document)throw new Error("Browser downloads are not supported in this environment since `document` is not present");if(t=window.URL.createObjectURL(new Blob([e.weightData],{type:"application/octet-stream"})),!(e.modelTopology instanceof ArrayBuffer))return[3,1];throw new Error("BrowserDownloads.save() does not support saving model topology in binary formats yet.");case 1:return n=[{paths:["./"+this.weightDataFileName],weights:e.weightSpecs}],r={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,weightsManifest:n},null!=e.signature&&(r.signature=e.signature),null!=e.userDefinedMetadata&&(r.userDefinedMetadata=e.userDefinedMetadata),null!=e.modelInitializer&&(r.modelInitializer=e.modelInitializer),o=window.URL.createObjectURL(new Blob([JSON.stringify(r)],{type:"application/json"})),(i=null==this.jsonAnchor?document.createElement("a"):this.jsonAnchor).download=this.modelTopologyFileName,i.href=o,[4,At((function(){return i.dispatchEvent(new MouseEvent("click"))}))];case 2:return a.sent(),null==e.weightData?[3,4]:((s=null==this.weightDataAnchor?document.createElement("a"):this.weightDataAnchor).download=this.weightDataFileName,s.href=t,[4,At((function(){return s.dispatchEvent(new MouseEvent("click"))}))]);case 3:a.sent(),a.label=4;case 4:return[2,{modelArtifactsInfo:Ye(e)}]}}))}))},e.URL_SCHEME="downloads://",e}(),Nt=function(){function e(e){if(null==e||e.length<1)throw new Error("When calling browserFiles, at least 1 file is required, but received "+e);this.files=e}return e.prototype.load=function(){return r(this,void 0,void 0,(function(){var e,t,n=this;return a(this,(function(r){return e=this.files[0],t=this.files.slice(1),[2,new Promise((function(r,a){var o=new FileReader;o.onload=function(o){var i=JSON.parse(o.target.result),s=i.modelTopology;if(null!=s){0===t.length&&r({modelTopology:s});var u=i.weightsManifest;if(null!=u){var l;try{l=n.checkManifestAndWeightFiles(u,t)}catch(e){return void a(e)}var c=[],f=[],h=[];u.forEach((function(e){e.paths.forEach((function(e){f.push(e),h.push(null)})),c.push.apply(c,e.weights)})),u.forEach((function(e){e.paths.forEach((function(e){var t=new FileReader;t.onload=function(t){var n=t.target.result,a=f.indexOf(e);if(h[a]=n,-1===h.indexOf(null)){var o={modelTopology:s,weightSpecs:c,weightData:je(h),format:i.format,generatedBy:i.generatedBy,convertedBy:i.convertedBy};null!=i.signature&&(o.signature=i.signature),null!=i.userDefinedMetadata&&(o.userDefinedMetadata=i.userDefinedMetadata),null!=i.modelInitializer&&(o.modelInitializer=i.modelInitializer),r(o)}},t.onerror=function(t){return a("Failed to weights data from file of path '"+e+"'.")},t.readAsArrayBuffer(l[e])}))}))}else a(new Error("weightManifest field is missing from file "+e.name))}else a(new Error("modelTopology field is missing from file "+e.name))},o.onerror=function(t){return a("Failed to read model topology and weights manifest JSON from file '"+e.name+"'. BrowserFiles supports loading Keras-style tf.Model artifacts only.")},o.readAsText(e)}))]}))}))},e.prototype.checkManifestAndWeightFiles=function(e,t){for(var n=[],r=t.map((function(e){return Je(e.name)})),a={},o=0,i=e;o0,(function(){return"promises must be a none empty array"}))}(e),function(e,t){c(e>=0&&e<=1,(function(){return"Progress fraction must be in range [0, 1], but got startFraction "+e})),c(t>=0&&t<=1,(function(){return"Progress fraction must be in range [0, 1], but got endFraction "+t})),c(t>=e,(function(){return"startFraction must be no more than endFraction, but got startFraction "+e+" and endFraction "+t}))}(n=null==n?0:n,r=null==r?1:r);var a=0;return Promise.all(e.map((function(o){return o.then((function(o){var i=n+ ++a/e.length*(r-n);return t(i),o})),o})))}function It(e,t){return r(this,void 0,void 0,(function(){var n,r,o,i,s,u,l,c,f;return a(this,(function(a){switch(a.label){case 0:return null==t&&(t={}),n=null==t.fetchFunc?q().platform.fetch:t.fetchFunc,r=e.map((function(e){return n(e,t.requestInit,{isBinary:!0})})),o=0,i=.5,null!=t.onProgress?[3,2]:[4,Promise.all(r)];case 1:return s=a.sent(),[3,4];case 2:return[4,_t(r,t.onProgress,o,i)];case 3:s=a.sent(),a.label=4;case 4:return u=s.map((function(e){return e.arrayBuffer()})),l=.5,c=1,null!=t.onProgress?[3,6]:[4,Promise.all(u)];case 5:return f=a.sent(),[3,8];case 6:return[4,_t(u,t.onProgress,l,c)];case 7:f=a.sent(),a.label=8;case 8:return[2,f]}}))}))}function Dt(e){var t=this;return function(n,o,i){return void 0===o&&(o=""),r(t,void 0,void 0,(function(){var t,r,s,u,l,c,f,h,d,v;return a(this,(function(a){switch(a.label){case 0:if(t=n.map((function(){return!1})),r={},s=null!=i?i.map((function(){return!1})):[],u=[],n.forEach((function(e,n){var a=0;e.weights.forEach((function(e){var o="quantization"in e?e.quantization.dtype:e.dtype,l=qe[o]*p(e.shape),c=function(){t[n]=!0,null==r[n]&&(r[n]=[]),r[n].push({manifestEntry:e,groupOffset:a,sizeBytes:l})};null!=i?i.forEach((function(t,n){t===e.name&&(c(),s[n]=!0)})):c(),u.push(e.name),a+=l}))})),!s.every((function(e){return e})))throw l=i.filter((function(e,t){return!s[t]})),new Error("Could not find weights in manifest with names: "+l.join(", ")+". \nManifest JSON has weights with names: "+u.join(", ")+".");return c=t.reduce((function(e,t,n){return t&&e.push(n),e}),[]),f=[],c.forEach((function(e){n[e].paths.forEach((function(e){var t=o+(o.endsWith("/")?"":"/")+e;f.push(t)}))})),[4,e(f)];case 1:return h=a.sent(),d={},v=0,c.forEach((function(e){for(var t=n[e].paths.length,a=0,o=0;o0,(function(){return"URL path for http must not be null, undefined or empty."})),Array.isArray(e)&&c(2===e.length,(function(){return"URL paths for http must have a length of 2, (actual length is "+e.length+")."})),this.path=e,null!=t.requestInit&&null!=t.requestInit.body)throw new Error("requestInit is expected to have no pre-existing body, but has one.");this.requestInit=t.requestInit||{}}return e.prototype.save=function(e){return r(this,void 0,void 0,(function(){var t,n,r,o;return a(this,(function(a){switch(a.label){case 0:if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.");return(t=Object.assign({method:this.DEFAULT_METHOD},this.requestInit)).body=new FormData,n=[{paths:["./model.weights.bin"],weights:e.weightSpecs}],r={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,weightsManifest:n},null!=e.signature&&(r.signature=e.signature),null!=e.userDefinedMetadata&&(r.userDefinedMetadata=e.userDefinedMetadata),null!=e.modelInitializer&&(r.modelInitializer=e.modelInitializer),t.body.append("model.json",new Blob([JSON.stringify(r)],{type:"application/json"}),"model.json"),null!=e.weightData&&t.body.append("model.weights.bin",new Blob([e.weightData],{type:"application/octet-stream"}),"model.weights.bin"),[4,this.fetch(this.path,t)];case 1:if((o=a.sent()).ok)return[2,{modelArtifactsInfo:Ye(e),responses:[o]}];throw new Error("BrowserHTTPRequest.save() failed due to HTTP response status "+o.status+".")}}))}))},e.prototype.load=function(){return r(this,void 0,void 0,(function(){var e,t,n,r,o,i,s,u,l,c,f,h,d,p,v;return a(this,(function(a){switch(a.label){case 0:return[4,this.fetch(this.path,this.requestInit)];case 1:if(!(e=a.sent()).ok)throw new Error("Request to "+this.path+" failed with status code "+e.status+". Please verify this URL points to the model JSON of the model to load.");a.label=2;case 2:return a.trys.push([2,4,,5]),[4,e.json()];case 3:return t=a.sent(),[3,5];case 4:throw a.sent(),n="Failed to parse model JSON of response from "+this.path+".",this.path.endsWith(".pb")?n+=" Your path contains a .pb file extension. Support for .pb models have been removed in TensorFlow.js 1.0 in favor of .json models. You can re-convert your Python TensorFlow model using the TensorFlow.js 1.0 conversion scripts or you can convert your.pb models with the 'pb2json'NPM script in the tensorflow/tfjs-converter repository.":n+=" Please make sure the server is serving valid JSON for this request.",new Error(n);case 5:if(r=t.modelTopology,o=t.weightsManifest,i=t.generatedBy,s=t.convertedBy,u=t.format,l=t.signature,c=t.userDefinedMetadata,null==r&&null==o)throw new Error("The JSON from HTTP path "+this.path+" contains neither model topology or manifest for weights.");return null==o?[3,7]:[4,this.loadWeights(o)];case 6:d=a.sent(),f=d[0],h=d[1],a.label=7;case 7:return p={modelTopology:r,weightSpecs:f,weightData:h,generatedBy:i,convertedBy:s,format:u},null!=l&&(p.signature=l),null!=c&&(p.userDefinedMetadata=c),(v=t.modelInitializer)&&(p.modelInitializer=v),[2,p]}}))}))},e.prototype.loadWeights=function(e){return r(this,void 0,void 0,(function(){var t,n,r,o,i,s,u,l,c,f,h,d,p,v,m,g,y,b,w,k,x;return a(this,(function(a){switch(a.label){case 0:for(t=Array.isArray(this.path)?this.path[1]:this.path,n=function(e){var t=e.lastIndexOf("/"),n=e.lastIndexOf("?"),r=e.substring(0,t),a=n>t?e.substring(n):"";return[r+"/",a]}(t),r=n[0],o=n[1],i=this.weightPathPrefix||r,s=[],u=0,l=e;u=2, but it is "+t);var a={indices:Pe(e,"indices","oneHot","int32")},o={depth:t,onValue:n,offValue:r};return Ie.runKernel("OneHot",a,o)}});var Kt=ze({transpose_:function(e,t){var n=Pe(e,"x","transpose");if(null==t&&(t=n.shape.map((function(e,t){return t})).reverse()),c(n.rank===t.length,(function(){return"Error in transpose: rank of input "+n.rank+" must match length of perm "+t+"."})),t.forEach((function(e){c(e>=0&&e0&&Number.isInteger(n),(function(){return"If provided, numClasses must be a positive integer, but got "+n})),c(1===r.rank,(function(){return"Expected the rank of labels to be 1, but got "+r.rank})),c(1===a.rank,(function(){return"Expected the rank of predictions to be 1, but got "+a.rank})),c(r.shape[0]===a.shape[0],(function(){return"Mismatch in the number of examples: "+r.shape[0]+" vs. "+a.shape[0]+". Labels and predictions should have the same number of elements."})),c(n>0&&Number.isInteger(n),(function(){return"numClasses is required to be a positive integer, but got "+n}));var o=Ot(xt(r,"int32"),n),i=Ot(xt(a,"int32"),n),s=Kt(o),u=zt(s,i);return xt(u,"int32")}})};function Ut(e,t,n){if(h(e),null!=t&&3!==t.length)throw new Error("tensor3d() requires shape to have three numbers");var r=Fe(e,n);if(3!==r.length&&1!==r.length)throw new Error("tensor3d() requires values to be number[][][] or flat/TypedArray");if(1===r.length&&null==t)throw new Error("tensor3d() requires shape to be provided when `values` are a flat array");return Ke(e,t,r,n)}var Gt={__proto__:null,toPixels:function(e,t){return r(this,void 0,void 0,(function(){var n,r,o,i,s,u,l,c,f,h,d,p,v,m,g,y;return a(this,(function(a){switch(a.label){case 0:if(n=Pe(e,"img","toPixels"),e instanceof he||(n=xt(r=n,"int32"),r.dispose()),2!==n.rank&&3!==n.rank)throw new Error("toPixels only supports rank 2 or 3 tensors, got rank "+n.rank+".");if(o=n.shape.slice(0,2),i=o[0],s=o[1],(u=2===n.rank?1:n.shape[2])>4||2===u)throw new Error("toPixels only supports depth of size 1, 3 or 4 but got "+u);if("float32"!==n.dtype&&"int32"!==n.dtype)throw new Error("Unsupported type for toPixels: "+n.dtype+". Please use float32 or int32 tensors.");return[4,n.data()];case 1:for(l=a.sent(),c="float32"===n.dtype?255:1,f=new Uint8ClampedArray(s*i*4),h=0;h1)throw new Error("Tensor values for a float32 Tensor must be in the range [0 - 1] but encountered "+v+".")}else if("int32"===n.dtype&&(v<0||v>255))throw new Error("Tensor values for a int32 Tensor must be in the range [0 - 255] but encountered "+v+".");1===u?(d[0]=v*c,d[1]=v*c,d[2]=v*c):d[p]=v*c}f[(m=4*h)+0]=Math.round(d[0]),f[m+1]=Math.round(d[1]),f[m+2]=Math.round(d[2]),f[m+3]=Math.round(d[3])}return null!=t&&(t.width=s,t.height=i,g=t.getContext("2d"),y=new ImageData(f,s,i),g.putImageData(y,0,0)),n!==e&&n.dispose(),[2,f]}}))}))},fromPixels:ze({fromPixels_:function(e,t){if(void 0===t&&(t=3),t>4)throw new Error("Cannot construct Tensor with more than 4 channels from pixels.");if(null==e)throw new Error("pixels passed to tf.browser.fromPixels() can not be null");var n=!1,r=!1,a=!1,o=!1,i=!1,s=!1;if(e.data instanceof Uint8Array)n=!0;else if("undefined"!=typeof ImageData&&e instanceof ImageData)r=!0;else if("undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement)a=!0;else if("undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement)o=!0;else if(null!=e.getContext)i=!0;else{if(!("undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap))throw new Error("pixels passed to tf.browser.fromPixels() must be either an HTMLVideoElement, HTMLImageElement, HTMLCanvasElement, ImageData in browser, or OffscreenCanvas, ImageData in webworker or {data: Uint32Array, width: number, height: number}, but was "+e.constructor.name);s=!0}if(a){if(a&&e.readyState<2)throw new Error("The video element has not loaded data yet. Please wait for `loadeddata` event on the