UNPKG

1.86 kBJavaScriptView Raw
1"use strict";
2/**
3 * @license
4 * Copyright 2020 Google LLC. All Rights Reserved.
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 * =============================================================================
17 */
18Object.defineProperty(exports, "__esModule", { value: true });
19var tfjs_1 = require("@tensorflow/tfjs");
20var nodejs_kernel_backend_1 = require("../nodejs_kernel_backend");
21// tslint:disable-next-line: variable-name
22exports.LRNGradConfig = {
23 kernelName: tfjs_1.LRNGrad,
24 backendName: 'tensorflow',
25 kernelFunc: function (args) {
26 var _a = args.inputs, x = _a.x, y = _a.y, dy = _a.dy;
27 var backend = args.backend;
28 var _b = args.attrs, depthRadius = _b.depthRadius, bias = _b.bias, alpha = _b.alpha, beta = _b.beta;
29 var opAttrs = [
30 nodejs_kernel_backend_1.createTensorsTypeOpAttr('T', dy.dtype),
31 {
32 name: 'depth_radius',
33 type: backend.binding.TF_ATTR_INT,
34 value: depthRadius
35 },
36 { name: 'bias', type: backend.binding.TF_ATTR_FLOAT, value: bias },
37 { name: 'alpha', type: backend.binding.TF_ATTR_FLOAT, value: alpha },
38 { name: 'beta', type: backend.binding.TF_ATTR_FLOAT, value: beta },
39 ];
40 return backend.executeSingleOutput(tfjs_1.LRNGrad, opAttrs, [dy, x, y]);
41 }
42};