index.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import * as tf from '@tensorflow/tfjs-core';
  2. import { Point } from '../classes';
  3. import { Dimensions } from '../classes/Dimensions';
  4. export function isTensor(tensor, dim) {
  5. return tensor instanceof tf.Tensor && tensor.shape.length === dim;
  6. }
  7. export function isTensor1D(tensor) {
  8. return isTensor(tensor, 1);
  9. }
  10. export function isTensor2D(tensor) {
  11. return isTensor(tensor, 2);
  12. }
  13. export function isTensor3D(tensor) {
  14. return isTensor(tensor, 3);
  15. }
  16. export function isTensor4D(tensor) {
  17. return isTensor(tensor, 4);
  18. }
  19. export function isFloat(num) {
  20. return num % 1 !== 0;
  21. }
  22. export function isEven(num) {
  23. return num % 2 === 0;
  24. }
  25. export function round(num, prec) {
  26. if (prec === void 0) { prec = 2; }
  27. var f = Math.pow(10, prec);
  28. return Math.floor(num * f) / f;
  29. }
  30. export function isDimensions(obj) {
  31. return obj && obj.width && obj.height;
  32. }
  33. export function computeReshapedDimensions(_a, inputSize) {
  34. var width = _a.width, height = _a.height;
  35. var scale = inputSize / Math.max(height, width);
  36. return new Dimensions(Math.round(width * scale), Math.round(height * scale));
  37. }
  38. export function getCenterPoint(pts) {
  39. return pts.reduce(function (sum, pt) { return sum.add(pt); }, new Point(0, 0))
  40. .div(new Point(pts.length, pts.length));
  41. }
  42. export function range(num, start, step) {
  43. return Array(num).fill(0).map(function (_, i) { return start + (i * step); });
  44. }
  45. export function isValidNumber(num) {
  46. return !!num && num !== Infinity && num !== -Infinity && !isNaN(num) || num === 0;
  47. }
  48. export function isValidProbablitiy(num) {
  49. return isValidNumber(num) && 0 <= num && num <= 1.0;
  50. }
  51. //# sourceMappingURL=index.js.map