@tensorflow-models/coco-ssd
Version:
Object detection model (coco-ssd) in TensorFlow.js
100 lines • 4.74 kB
JavaScript
/**
* @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
;