ONet.js 1.3 KB

123456789101112131415161718192021222324252627
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var tf = require("@tensorflow/tfjs-core");
  4. var common_1 = require("../common");
  5. var fullyConnectedLayer_1 = require("../common/fullyConnectedLayer");
  6. var prelu_1 = require("./prelu");
  7. var sharedLayers_1 = require("./sharedLayers");
  8. function ONet(x, params) {
  9. return tf.tidy(function () {
  10. var out = sharedLayers_1.sharedLayer(x, params);
  11. out = tf.maxPool(out, [2, 2], [2, 2], 'same');
  12. out = common_1.convLayer(out, params.conv4, 'valid');
  13. out = prelu_1.prelu(out, params.prelu4_alpha);
  14. var vectorized = tf.reshape(out, [out.shape[0], params.fc1.weights.shape[0]]);
  15. var fc1 = fullyConnectedLayer_1.fullyConnectedLayer(vectorized, params.fc1);
  16. var prelu5 = prelu_1.prelu(fc1, params.prelu5_alpha);
  17. var fc2_1 = fullyConnectedLayer_1.fullyConnectedLayer(prelu5, params.fc2_1);
  18. var max = tf.expandDims(tf.max(fc2_1, 1), 1);
  19. var prob = tf.softmax(tf.sub(fc2_1, max), 1);
  20. var regions = fullyConnectedLayer_1.fullyConnectedLayer(prelu5, params.fc2_2);
  21. var points = fullyConnectedLayer_1.fullyConnectedLayer(prelu5, params.fc2_3);
  22. var scores = tf.unstack(prob, 1)[1];
  23. return { scores: scores, regions: regions, points: points };
  24. });
  25. }
  26. exports.ONet = ONet;
  27. //# sourceMappingURL=ONet.js.map