UNPKG

@tensorflow-models/coco-ssd

Version:

Object detection model (coco-ssd) in TensorFlow.js

100 lines 4.74 kB
"use strict"; /** * @license * Copyright 2018 Google Inc. 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. * ============================================================================= */ var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); var optimizer_1 = require("./optimizers/optimizer"); var serialization_1 = require("./serialization"); describe('registerClass', function () { var randomClassName = "OptimizerForTest" + Math.random(); var OptimizerForTest = /** @class */ (function (_super) { __extends(OptimizerForTest, _super); function OptimizerForTest() { return _super.call(this) || this; } OptimizerForTest.prototype.applyGradients = function (variableGradients) { }; OptimizerForTest.prototype.getConfig = function () { return {}; }; OptimizerForTest.className = randomClassName; return OptimizerForTest; }(optimizer_1.Optimizer)); it('registerClass succeeds', function () { serialization_1.registerClass(OptimizerForTest); expect(serialization_1.SerializationMap.getMap().classNameMap[randomClassName] != null) .toEqual(true); }); var OptimizerWithoutClassName = /** @class */ (function (_super) { __extends(OptimizerWithoutClassName, _super); function OptimizerWithoutClassName() { return _super.call(this) || this; } OptimizerWithoutClassName.prototype.applyGradients = function (variableGradients) { }; OptimizerWithoutClassName.prototype.getConfig = function () { return {}; }; return OptimizerWithoutClassName; }(optimizer_1.Optimizer)); it('registerClass fails on missing className', function () { // tslint:disable-next-line:no-any expect(function () { return serialization_1.registerClass(OptimizerWithoutClassName); }) .toThrowError(/does not have the static className property/); }); var OptimizerWithEmptyClassName = /** @class */ (function (_super) { __extends(OptimizerWithEmptyClassName, _super); function OptimizerWithEmptyClassName() { return _super.call(this) || this; } OptimizerWithEmptyClassName.prototype.applyGradients = function (variableGradients) { }; OptimizerWithEmptyClassName.prototype.getConfig = function () { return {}; }; OptimizerWithEmptyClassName.className = ''; return OptimizerWithEmptyClassName; }(optimizer_1.Optimizer)); it('registerClass fails on missing className', function () { expect(function () { return serialization_1.registerClass(OptimizerWithEmptyClassName); }) .toThrowError(/has an empty-string as its className/); }); var OptimizerWithNonStringClassName = /** @class */ (function (_super) { __extends(OptimizerWithNonStringClassName, _super); function OptimizerWithNonStringClassName() { return _super.call(this) || this; } OptimizerWithNonStringClassName.prototype.applyGradients = function (variableGradients) { }; OptimizerWithNonStringClassName.prototype.getConfig = function () { return {}; }; OptimizerWithNonStringClassName.className = 42; return OptimizerWithNonStringClassName; }(optimizer_1.Optimizer)); it('registerClass fails on missing className', function () { // tslint:disable-next-line:no-any expect(function () { return serialization_1.registerClass(OptimizerWithNonStringClassName); }) .toThrowError(/is required to be a string, but got type number/); }); }); //# sourceMappingURL=serialization_test.js.map