UNPKG

ml5

Version:

A friendly machine learning library for the web.

18 lines 3.32 MB
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ml5=e():t.ml5=e()}(window,function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.r=function(t){Object.defineProperty(t,"__esModule",{value:!0})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/",n(n.s=581)}([function(t,e,n){"use strict";n.r(e),function(t,r,i,o){n.d(e,"AdadeltaOptimizer",function(){return Dh}),n.d(e,"AdagradOptimizer",function(){return Fh}),n.d(e,"AdamOptimizer",function(){return Th}),n.d(e,"AdamaxOptimizer",function(){return Nh}),n.d(e,"Add",function(){return Er}),n.d(e,"AddN",function(){return Cr}),n.d(e,"BroadcastTo",function(){return Tr}),n.d(e,"DataStorage",function(){return ho}),n.d(e,"Div",function(){return Ar}),n.d(e,"ENV",function(){return h}),n.d(e,"Environment",function(){return l}),n.d(e,"FromPixels",function(){return jr}),n.d(e,"FusedBatchNorm",function(){return Or}),n.d(e,"Identity",function(){return Ir}),n.d(e,"KernelBackend",function(){return po}),n.d(e,"MaxPoolWithArgmax",function(){return Br}),n.d(e,"MomentumOptimizer",function(){return Rh}),n.d(e,"NonMaxSuppressionV5",function(){return Fr}),n.d(e,"OneHot",function(){return Nr}),n.d(e,"Optimizer",function(){return Sh}),n.d(e,"PadV2",function(){return Mr}),n.d(e,"RMSPropOptimizer",function(){return Mh}),n.d(e,"Rank",function(){return Ot}),n.d(e,"Reduction",function(){return pl}),n.d(e,"SGDOptimizer",function(){return Ih}),n.d(e,"Square",function(){return Sr}),n.d(e,"SquaredDifference",function(){return _r}),n.d(e,"Tensor",function(){return At}),n.d(e,"TensorBuffer",function(){return wt}),n.d(e,"Tile",function(){return Rr}),n.d(e,"Transpose",function(){return Dr}),n.d(e,"Variable",function(){return Tt}),n.d(e,"abs",function(){return Wr}),n.d(e,"acos",function(){return Vr}),n.d(e,"acosh",function(){return qr}),n.d(e,"add",function(){return Pr}),n.d(e,"addN",function(){return Ps}),n.d(e,"addStrict",function(){return ki}),n.d(e,"all",function(){return Ic}),n.d(e,"any",function(){return Rc}),n.d(e,"argMax",function(){return Mc}),n.d(e,"argMin",function(){return jc}),n.d(e,"asin",function(){return $r}),n.d(e,"asinh",function(){return Hr}),n.d(e,"atan",function(){return Gr}),n.d(e,"atan2",function(){return Ei}),n.d(e,"atanh",function(){return Kr}),n.d(e,"avgPool",function(){return kc}),n.d(e,"avgPool3d",function(){return Ac}),n.d(e,"backend",function(){return mn}),n.d(e,"backend_util",function(){return To}),n.d(e,"basicLSTMCell",function(){return Qc}),n.d(e,"batchNorm",function(){return qs}),n.d(e,"batchNorm2d",function(){return Gs}),n.d(e,"batchNorm3d",function(){return Ys}),n.d(e,"batchNorm4d",function(){return Zs}),n.d(e,"batchNormalization",function(){return Vs}),n.d(e,"batchNormalization2d",function(){return Hs}),n.d(e,"batchNormalization3d",function(){return Xs}),n.d(e,"batchNormalization4d",function(){return Qs}),n.d(e,"batchToSpaceND",function(){return sr}),n.d(e,"booleanMaskAsync",function(){return Yu}),n.d(e,"broadcastTo",function(){return tu}),n.d(e,"browser",function(){return wh}),n.d(e,"buffer",function(){return or}),n.d(e,"cast",function(){return ur}),n.d(e,"ceil",function(){return Xr}),n.d(e,"clipByValue",function(){return Yr}),n.d(e,"clone",function(){return eu}),n.d(e,"complex",function(){return In}),n.d(e,"concat",function(){return Zn}),n.d(e,"concat1d",function(){return tr}),n.d(e,"concat2d",function(){return er}),n.d(e,"concat3d",function(){return nr}),n.d(e,"concat4d",function(){return rr}),n.d(e,"conv1d",function(){return tc}),n.d(e,"conv2d",function(){return ec}),n.d(e,"conv2dTranspose",function(){return cc}),n.d(e,"conv3d",function(){return nc}),n.d(e,"conv3dTranspose",function(){return lc}),n.d(e,"cos",function(){return Jr}),n.d(e,"cosh",function(){return Qr}),n.d(e,"cumsum",function(){return cr}),n.d(e,"customGrad",function(){return so}),n.d(e,"deprecationWarn",function(){return Qe}),n.d(e,"depthToSpace",function(){return lr}),n.d(e,"depthwiseConv2d",function(){return oc}),n.d(e,"diag",function(){return fl}),n.d(e,"disableDeprecationWarnings",function(){return Je}),n.d(e,"dispose",function(){return on}),n.d(e,"disposeVariables",function(){return Ze}),n.d(e,"div",function(){return Li}),n.d(e,"divNoNan",function(){return uu}),n.d(e,"divStrict",function(){return Ci}),n.d(e,"dot",function(){return hc}),n.d(e,"dropout",function(){return hl}),n.d(e,"elu",function(){return qc}),n.d(e,"enableDebugMode",function(){return Ye}),n.d(e,"enableProdMode",function(){return Xe}),n.d(e,"engine",function(){return tn}),n.d(e,"env",function(){return f}),n.d(e,"equal",function(){return Ru}),n.d(e,"equalStrict",function(){return Mu}),n.d(e,"erf",function(){return Zr}),n.d(e,"exp",function(){return ti}),n.d(e,"expandDims",function(){return fr}),n.d(e,"expm1",function(){return ei}),n.d(e,"eye",function(){return lu}),n.d(e,"fft",function(){return il}),n.d(e,"fill",function(){return Kn}),n.d(e,"findBackend",function(){return hn}),n.d(e,"findBackendFactory",function(){return dn}),n.d(e,"floor",function(){return ni}),n.d(e,"floorDiv",function(){return Ai}),n.d(e,"frame",function(){return vl}),n.d(e,"fused",function(){return Yl}),n.d(e,"gather",function(){return Ku}),n.d(e,"gatherND",function(){return ll}),n.d(e,"gather_util",function(){return Ui}),n.d(e,"getBackend",function(){return ln}),n.d(e,"getGradient",function(){return g}),n.d(e,"getKernel",function(){return m}),n.d(e,"getKernelsForBackend",function(){return v}),n.d(e,"grad",function(){return no}),n.d(e,"grads",function(){return ro}),n.d(e,"greater",function(){return ju}),n.d(e,"greaterEqual",function(){return Bu}),n.d(e,"greaterEqualStrict",function(){return Pu}),n.d(e,"greaterStrict",function(){return Lu}),n.d(e,"hammingWindow",function(){return gl}),n.d(e,"hannWindow",function(){return ml}),n.d(e,"ifft",function(){return ol}),n.d(e,"imag",function(){return Mn}),n.d(e,"image",function(){return Wl}),n.d(e,"inTopKAsync",function(){return xl}),n.d(e,"io",function(){return vh}),n.d(e,"irfft",function(){return sl}),n.d(e,"isFinite",function(){return pi}),n.d(e,"isInf",function(){return di}),n.d(e,"isNaN",function(){return hi}),n.d(e,"keep",function(){return an}),n.d(e,"leakyRelu",function(){return $c}),n.d(e,"less",function(){return zu}),n.d(e,"lessEqual",function(){return Uu}),n.d(e,"lessEqualStrict",function(){return Wu}),n.d(e,"lessStrict",function(){return Vu}),n.d(e,"linalg",function(){return Ml}),n.d(e,"linspace",function(){return Xn}),n.d(e,"localResponseNormalization",function(){return Yc}),n.d(e,"log",function(){return ri}),n.d(e,"log1p",function(){return ii}),n.d(e,"logSigmoid",function(){return oi}),n.d(e,"logSoftmax",function(){return lo}),n.d(e,"logSumExp",function(){return Bc}),n.d(e,"logicalAnd",function(){return nu}),n.d(e,"logicalNot",function(){return ru}),n.d(e,"logicalOr",function(){return iu}),n.d(e,"logicalXor",function(){return ou}),n.d(e,"losses",function(){return Fl}),n.d(e,"matMul",function(){return fc}),n.d(e,"math",function(){return bh}),n.d(e,"max",function(){return Pc}),n.d(e,"maxPool",function(){return wc}),n.d(e,"maxPool3d",function(){return Cc}),n.d(e,"maxPoolWithArgmax",function(){return Oc}),n.d(e,"maximum",function(){return Oi}),n.d(e,"maximumStrict",function(){return _i}),n.d(e,"mean",function(){return Lc}),n.d(e,"memory",function(){return en}),n.d(e,"min",function(){return zc}),n.d(e,"minimum",function(){return Si}),n.d(e,"minimumStrict",function(){return Di}),n.d(e,"mod",function(){return Fi}),n.d(e,"modStrict",function(){return Ti}),n.d(e,"moments",function(){return Uc}),n.d(e,"movingAverage",function(){return tl}),n.d(e,"mul",function(){return Ni}),n.d(e,"mulStrict",function(){return Ii}),n.d(e,"multiRNNCell",function(){return Zc}),n.d(e,"multinomial",function(){return fu}),n.d(e,"neg",function(){return ai}),n.d(e,"nextFrame",function(){return Lh}),n.d(e,"norm",function(){return Jc}),n.d(e,"notEqual",function(){return qu}),n.d(e,"notEqualStrict",function(){return $u}),n.d(e,"oneHot",function(){return hu}),n.d(e,"ones",function(){return Hn}),n.d(e,"onesLike",function(){return Jn}),n.d(e,"op",function(){return Nn}),n.d(e,"outerProduct",function(){return dc}),n.d(e,"pad",function(){return du}),n.d(e,"pad1d",function(){return pu}),n.d(e,"pad2d",function(){return mu}),n.d(e,"pad3d",function(){return gu}),n.d(e,"pad4d",function(){return vu}),n.d(e,"pool",function(){return Ec}),n.d(e,"pow",function(){return Ri}),n.d(e,"powStrict",function(){return Mi}),n.d(e,"prelu",function(){return Hc}),n.d(e,"print",function(){return ar}),n.d(e,"prod",function(){return Vc}),n.d(e,"profile",function(){return nn}),n.d(e,"rand",function(){return yu}),n.d(e,"randomGamma",function(){return Su}),n.d(e,"randomNormal",function(){return Du}),n.d(e,"randomUniform",function(){return Fu}),n.d(e,"range",function(){return Yn}),n.d(e,"ready",function(){return cn}),n.d(e,"real",function(){return Rn}),n.d(e,"reciprocal",function(){return si}),n.d(e,"registerBackend",function(){return pn}),n.d(e,"registerGradient",function(){return b}),n.d(e,"registerKernel",function(){return y}),n.d(e,"relu",function(){return Gc}),n.d(e,"relu6",function(){return Kc}),n.d(e,"removeBackend",function(){return fn}),n.d(e,"reshape",function(){return hr}),n.d(e,"reverse",function(){return pc}),n.d(e,"reverse1d",function(){return mc}),n.d(e,"reverse2d",function(){return gc}),n.d(e,"reverse3d",function(){return vc}),n.d(e,"reverse4d",function(){return yc}),n.d(e,"rfft",function(){return al}),n.d(e,"round",function(){return ui}),n.d(e,"rsqrt",function(){return ci}),n.d(e,"scalar",function(){return Pn}),n.d(e,"scatterND",function(){return rl}),n.d(e,"scatter_util",function(){return Gi}),n.d(e,"selu",function(){return Xc}),n.d(e,"separableConv2d",function(){return uc}),n.d(e,"serialization",function(){return Ah}),n.d(e,"setBackend",function(){return un}),n.d(e,"setPlatform",function(){return gn}),n.d(e,"setdiff1dAsync",function(){return vr}),n.d(e,"sigmoid",function(){return li}),n.d(e,"sign",function(){return fi}),n.d(e,"signal",function(){return bl}),n.d(e,"sin",function(){return mi}),n.d(e,"sinh",function(){return gi}),n.d(e,"slice",function(){return _c}),n.d(e,"slice1d",function(){return Sc}),n.d(e,"slice2d",function(){return Dc}),n.d(e,"slice3d",function(){return Fc}),n.d(e,"slice4d",function(){return Tc}),n.d(e,"slice_util",function(){return eo}),n.d(e,"softmax",function(){return co}),n.d(e,"softplus",function(){return vi}),n.d(e,"spaceToBatchND",function(){return dr}),n.d(e,"sparseToDense",function(){return cl}),n.d(e,"spectral",function(){return ul}),n.d(e,"split",function(){return ir}),n.d(e,"sqrt",function(){return yi}),n.d(e,"square",function(){return Tu}),n.d(e,"squaredDifference",function(){return Nu}),n.d(e,"squaredDifferenceStrict",function(){return ji}),n.d(e,"squeeze",function(){return pr}),n.d(e,"stack",function(){return mr}),n.d(e,"step",function(){return bi}),n.d(e,"stft",function(){return yl}),n.d(e,"stridedSlice",function(){return el}),n.d(e,"sub",function(){return Bi}),n.d(e,"subStrict",function(){return Pi}),n.d(e,"sum",function(){return Wc}),n.d(e,"sumOutType",function(){return Rt}),n.d(e,"tan",function(){return xi}),n.d(e,"tanh",function(){return wi}),n.d(e,"tensor",function(){return jn}),n.d(e,"tensor1d",function(){return Ln}),n.d(e,"tensor2d",function(){return zn}),n.d(e,"tensor3d",function(){return Un}),n.d(e,"tensor4d",function(){return Wn}),n.d(e,"tensor5d",function(){return Vn}),n.d(e,"tensor6d",function(){return qn}),n.d(e,"tensor_util",function(){return Lt}),n.d(e,"test_util",function(){return Cu}),n.d(e,"tidy",function(){return rn}),n.d(e,"tile",function(){return cu}),n.d(e,"time",function(){return sn}),n.d(e,"topk",function(){return nl}),n.d(e,"train",function(){return Bh}),n.d(e,"transpose",function(){return fo}),n.d(e,"truncatedNormal",function(){return Iu}),n.d(e,"unregisterGradient",function(){return w}),n.d(e,"unregisterKernel",function(){return x}),n.d(e,"unsortedSegmentSum",function(){return Xu}),n.d(e,"unstack",function(){return gr}),n.d(e,"util",function(){return ht}),n.d(e,"valueAndGrad",function(){return io}),n.d(e,"valueAndGrads",function(){return oo}),n.d(e,"variable",function(){return $n}),n.d(e,"variableGrads",function(){return ao}),n.d(e,"version_core",function(){return Oh}),n.d(e,"webgl",function(){return _h}),n.d(e,"where",function(){return au}),n.d(e,"whereAsync",function(){return su}),n.d(e,"zeros",function(){return Gn}),n.d(e,"zerosLike",function(){return Qn}); /** * @license * Copyright 2020 Google LLC. 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 a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function s(t,e){function n(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}function u(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}u((r=r.apply(t,e||[])).next())})}function c(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=e.call(t,a)}catch(t){o=[6,t],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}var l=function(){function t(t){this.global=t,this.flags={},this.flagRegistry={},this.urlFlags={},this.populateURLFlags()}return t.prototype.setPlatform=function(t,e){null!=this.platform&&console.warn("Platform "+this.platformName+" has already been set. Overwriting the platform with "+e+"."),this.platformName=t,this.platform=e},t.prototype.registerFlag=function(t,e,n){if(this.flagRegistry[t]={evaluationFn:e,setHook:n},null!=this.urlFlags[t]){var r=this.urlFlags[t];console.warn("Setting feature override from URL "+t+": "+r+"."),this.set(t,r)}},t.prototype.get=function(t){return t in this.flags?this.flags[t]:(this.flags[t]=this.evaluateFlag(t),this.flags[t])},t.prototype.getNumber=function(t){return this.get(t)},t.prototype.getBool=function(t){return this.get(t)},t.prototype.getFlags=function(){return this.flags},Object.defineProperty(t.prototype,"features",{get:function(){return this.flags},enumerable:!0,configurable:!0}),t.prototype.set=function(t,e){if(null==this.flagRegistry[t])throw new Error("Cannot set flag "+t+" as it has not been registered.");this.flags[t]=e,null!=this.flagRegistry[t].setHook&&this.flagRegistry[t].setHook(e)},t.prototype.evaluateFlag=function(t){if(null==this.flagRegistry[t])throw new Error("Cannot evaluate flag '"+t+"': no evaluation function found.");return this.flagRegistry[t].evaluationFn()},t.prototype.setFlags=function(t){this.flags=Object.assign({},t)},t.prototype.reset=function(){this.flags={},this.urlFlags={},this.populateURLFlags()},t.prototype.populateURLFlags=function(){var t=this;if(void 0!==this.global&&void 0!==this.global.location&&void 0!==this.global.location.search){var e,n,r=(e=this.global.location.search,n={},e.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return function(t,e,n){t[decodeURIComponent(e)]=decodeURIComponent(n||"")}(n,e[0],e[1]),e.join("=")}),n);"tfjsflags"in r&&r.tfjsflags.split(",").forEach(function(e){var n=e.split(":"),r=n[0],i=n[1];t.urlFlags[r]=function(t,e){if("true"===(e=e.toLowerCase())||"false"===e)return"true"===e;if(""+ +e===e)return+e;throw new Error("Could not parse value flag value "+e+" for flag "+t+".")}(r,i)})}},t}();function f(){return h}var h=null,d=new Map,p=new Map;function m(t,e){var n=k(t,e);return d.get(n)}function g(t){return p.get(t)}function v(t){for(var e=d.entries(),n=[];;){var r=e.next(),i=r.done,o=r.value;if(i)break;var a=o[0],s=o[1];a.split("_")[0]===t&&n.push(s)}return n}function y(t){var e=t.kernelName,n=t.backendName,r=k(e,n);if(d.has(r))throw new Error("The kernel '"+e+"' for backend '"+n+"' is already registered");d.set(r,t)}function b(t){var e=t.kernelName;p.has(e)&&console.warn("Overriding the gradient for '"+e+"'"),p.set(e,t)}function x(t,e){var n=k(t,e);if(!d.has(n))throw new Error("The kernel '"+t+"' for backend '"+e+"' is not registered");d.delete(n)}function w(t){if(!p.has(t))throw new Error("The gradient '"+t+"' for backend is not registered");p.delete(t)}function k(t,e){return e+"_"+t}function E(t){for(var e=t.length,n=0,r=0;e>0;)r=Math.random()*e|0,n=t[--e],t[e]=t[r],t[r]=n}function C(t,e,n){return Math.max(t,Math.min(e,n))}function A(t){return t%2==0?t:t+1}function O(t){for(var e=0,n=0;n<t.length;n++)e+=t[n];return e}function _(t,e){if(!t)throw new Error("string"==typeof e?e:e())}function S(t,e,n){void 0===n&&(n=""),_(N(t,e),function(){return n+" Shapes "+t+" and "+e+" must match"})}function D(t){_(null!=t,function(){return"The input to the tensor constructor must be a non-null value."})}function F(t,e,n){if(void 0===e&&(e=[]),void 0===n&&(n=!1),null==e&&(e=[]),Array.isArray(t)||H(t)&&!n)for(var r=0;r<t.length;++r)F(t[r],e,n);else e.push(t);return e}function T(t){if(0===t.length)return 1;for(var e=t[0],n=1;n<t.length;n++)e*=t[n];return e}function N(t,e){if(t===e)return!0;if(null==t||null==e)return!1;if(t.length!==e.length)return!1;for(var n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}function I(t){return t%1==0}function R(t){if(null!=Math.tanh)return Math.tanh(t);if(t===1/0)return 1;if(t===-1/0)return-1;var e=Math.exp(2*t);return(e-1)/(e+1)}function M(t){var e=Math.ceil(Math.sqrt(t));return[e,Math.ceil(t/e)]}function j(t,e){return e<=t.length?t:t+" ".repeat(e-t.length)}function B(t,e,n){return void 0===e&&(e=function(t){return 0}),new Promise(function(r,i){var o=0,a=function(){if(t())r();else{var s=e(++o);null!=n&&o>=n?i():setTimeout(a,s)}};a()})}function P(t,e){for(var n=1,r=-1,i=0;i<t.length;++i)if(t[i]>=0)n*=t[i];else if(-1===t[i]){if(-1!==r)throw Error("Shapes can only have 1 implicit size. Found -1 at dim "+r+" and dim "+i);r=i}else if(t[i]<0)throw Error("Shapes can not be < 0. Found "+t[i]+" at dim "+i);if(-1===r){if(e>0&&e!==n)throw Error("Size("+e+") must match the product of shape "+t);return t}if(0===n)throw Error("Cannot infer the missing size in ["+t+"] when there are 0 elements");if(e%n!=0)throw Error("The implicit shape can't be a fractional number. Got "+e+" / "+n);var o=t.slice();return o[r]=e/n,o}function L(t,e){var n=e.length;return _((t=null==t?e.map(function(t,e){return e}):[].concat(t)).every(function(t){return t>=-n&&t<n}),function(){return"All values in axis param must be in range [-"+n+", "+n+") but got axis "+t}),_(t.every(function(t){return I(t)}),function(){return"All values in axis param must be integers but got axis "+t}),t.map(function(t){return t<0?n+t:t})}function z(t,e){for(var n=[],r=[],i=null!=e&&Array.isArray(e)&&0===e.length,o=null==e||i?null:L(e,t).sort(),a=0,s=0;s<t.length;++s){if(null!=o){if(o[a]===s&&1!==t[s])throw new Error("Can't squeeze axis "+s+" since its dim '"+t[s]+"' is not 1");(null==o[a]||o[a]>s)&&1===t[s]&&(n.push(t[s]),r.push(s)),o[a]<=s&&a++}1!==t[s]&&(n.push(t[s]),r.push(s))}return{newShape:n,keptDims:r}}function U(t,e){var n=null;if(null==t||"float32"===t)n=new Float32Array(e);else if("int32"===t)n=new Int32Array(e);else{if("bool"!==t)throw new Error("Unknown data type "+t);n=new Uint8Array(e)}return n}function W(t,e){var n=null;if(null==t||"float32"===t)n=new Float32Array(e);else if("int32"===t)n=new Int32Array(e);else if("bool"===t)n=new Uint8Array(e);else{if("string"!==t)throw new Error("Unknown data type "+t);n=new Array(e)}return n}function V(t,e){for(var n=0;n<t.length;n++){var r=t[n];if(isNaN(r)||!isFinite(r))throw Error("A tensor of type "+e+" being uploaded contains "+r+".")}}function q(t){return"bool"===t||"complex64"===t||"float32"===t||"int32"===t||"string"===t}function $(t,e){return!("complex64"===e||"float32"===e&&"complex64"!==t||"int32"===e&&"float32"!==t&&"complex64"!==t||"bool"===e&&"bool"===t)}function H(t){return t instanceof Float32Array||t instanceof Int32Array||t instanceof Uint8Array}function G(t){if("float32"===t||"int32"===t)return 4;if("complex64"===t)return 8;if("bool"===t)return 1;throw new Error("Unknown dtype "+t)}function K(t){if(null==t)return 0;var e=0;return t.forEach(function(t){return e+=t.length}),e}function X(t){return"string"==typeof t||t instanceof String}function Y(t){return"boolean"==typeof t}function J(t){return"number"==typeof t}function Q(t){return Array.isArray(t)?Q(t[0]):t instanceof Float32Array?"float32":t instanceof Int32Array||t instanceof Uint8Array?"int32":J(t)?"float32":X(t)?"string":Y(t)?"bool":"float32"}function Z(t){return!!(t&&t.constructor&&t.call&&t.apply)}function tt(t,e){for(var n=e;n<t;++n)if(t%n==0)return n;return t}function et(t){var e=t.length;if(e<2)return[];var n=new Array(e-1);n[e-2]=t[e-1];for(var r=e-3;r>=0;--r)n[r]=n[r+1]*t[r+1];return n}function nt(t,e,n){if("string"===e)throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(t)&&(t=F(t)),n&&V(t,e),function(t,e){return t instanceof Float32Array&&"float32"===e||t instanceof Int32Array&&"int32"===e||t instanceof Uint8Array&&"bool"===e}(t,e))return t;if(null==e||"float32"===e||"complex64"===e)return new Float32Array(t);if("int32"===e)return new Int32Array(t);if("bool"===e){for(var r=new Uint8Array(t.length),i=0;i<r.length;++i)0!==Math.round(t[i])&&(r[i]=1);return r}throw new Error("Unknown data type "+e)}function rt(t,e){if(0===t.length)return e[0];var n=t.reduce(function(t,e){return t*e});if(0===n)return[];if(n!==e.length)throw new Error("["+t+"] does not match the input size.");return function t(e,n,r){var i=new Array;if(1===n.length)for(var o=n[0],a=0;a<o;a++)i[a]=r[e+a];else{o=n[0];var s=n.slice(1),u=s.reduce(function(t,e){return t*e});for(a=0;a<o;a++)i[a]=t(e+a*u,s,r)}return i}(0,t,e)}function it(t,e){for(var n=ot(t,e),r=0;r<n.length;r++)n[r]=1;return n}function ot(t,e){if(null==e||"float32"===e||"complex64"===e)return new Float32Array(t);if("int32"===e)return new Int32Array(t);if("bool"===e)return new Uint8Array(t);throw new Error("Unknown data type "+e)}function at(){return f().platform.now()}function st(t){t.forEach(function(e){_(Number.isInteger(e)&&e>=0,function(){return"Tensor must have a shape comprised of positive integers but got shape ["+t+"]."})})}function ut(t,e){return void 0===e&&(e="utf-8"),e=e||"utf-8",f().platform.encode(t,e)}function ct(t,e){return void 0===e&&(e="utf-8"),e=e||"utf-8",f().platform.decode(t,e)}function lt(t,e,n){if(0===e)return 0;if(1===e)return t[0];for(var r=t[t.length-1],i=0;i<t.length-1;++i)r+=n[i]*t[i];return r}function ft(t,e,n){if(0===e)return[];if(1===e)return[t];for(var r=new Array(e),i=0;i<r.length-1;++i)r[i]=Math.floor(t/n[i]),t-=r[i]*n[i];return r[r.length-1]=t,r}var ht=Object.freeze({shuffle:E,clamp:C,nearestLargerEven:A,sum:O,randUniform:function(t,e){var n=Math.random();return e*n+(1-n)*t},distSquared:function(t,e){for(var n=0,r=0;r<t.length;r++){var i=Number(t[r])-Number(e[r]);n+=i*i}return n},assert:_,assertShapesMatch:S,assertNonNull:D,flatten:F,sizeFromShape:T,isScalarShape:function(t){return 0===t.length},arraysEqual:N,isInt:I,tanh:R,sizeToSquarishShape:M,createShuffledIndices:function(t){for(var e=new Uint32Array(t),n=0;n<t;++n)e[n]=n;return E(e),e},rightPad:j,repeatedTry:B,inferFromImplicitShape:P,parseAxisParam:L,squeezeShape:z,getTypedArrayFromDType:U,getArrayFromDType:W,checkConversionForErrors:V,isValidDtype:q,hasEncodingLoss:$,isTypedArray:H,bytesPerElement:G,bytesFromStringArray:K,isString:X,isBoolean:Y,isNumber:J,inferDtype:Q,isFunction:Z,nearestDivisor:tt,computeStrides:et,toTypedArray:nt,toNestedArray:rt,makeOnesTypedArray:it,makeZerosTypedArray:ot,now:at,assertNonNegativeIntegerDimensions:st,fetch:function(t,e){return f().platform.fetch(t,e)},encodeString:ut,decodeString:ct,locToIndex:lt,indexToLoc:ft}),dt=function(){function t(t,e){this.backendTimer=t,this.logger=e,null==e&&(this.logger=new pt)}return t.prototype.profileKernel=function(t,e,n){var r,i=this,o=this.backendTimer.time(function(){r=n()});return r.forEach(function(n){n.data().then(function(r){!function(t,e,n){if("float32"!==e)return!1;for(var r=0;r<t.length;r++){var i=t[r];if(isNaN(i)||!isFinite(i))return console.warn("Found "+i+" in the result of '"+n+"'"),!0}}(r,n.dtype,t),o.then(function(o){var a="";null!=o.getExtraProfileInfo&&(a=o.getExtraProfileInfo()),i.logger.logKernelProfile(t,n,r,o.kernelMs,e,a)})})}),r},t}(),pt=function(){function t(){}return t.prototype.logKernelProfile=function(t,e,n,r,i,o){var a="number"==typeof r?j(r+"ms",9):r.error,s=j(t,25),u=e.rank,c=e.size,l=j(e.shape.toString(),14),f="";for(var h in i){var d=i[h].shape||e.shape,p=d.length;f+=h+": "+p+"D "+(p>0?d:"")+" "}console.log("%c"+s+"\t%c"+a+"\t%c"+u+"D "+l+"\t%c"+c+"\t%c"+f+"\t%c"+o,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")},t}(),mt=20,gt=3,vt=7;function yt(t,e,n){return j(Array.isArray(t)?parseFloat(t[0].toFixed(vt))+" + "+parseFloat(t[1].toFixed(vt))+"j":X(t)?"'"+t+"'":"bool"===n?bt(t):parseFloat(t.toFixed(vt)).toString(),e)}function bt(t){return 0===t?"false":"true"}function xt(t){for(var e=[],n=0;n<t.length;n+=2)e.push([t[n],t[n+1]]);return e}var wt=function(){function t(t,e,n){var r=this;if(this.dtype=e,this.shape=t.slice(),this.size=T(t),null!=n){var i=n.length;_(i===this.size,function(){return"Length of values '"+i+"' does not match the size inferred by the shape '"+r.size+"'."})}if("complex64"===e)throw new Error("complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).");this.values=n||W(e,this.size),this.strides=et(t)}return t.prototype.set=function(t){for(var e=this,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];0===n.length&&(n=[0]),_(n.length===this.rank,function(){return"The number of provided coordinates ("+n.length+") must match the rank ("+e.rank+")"});var i=this.locToIndex(n);this.values[i]=t},t.prototype.get=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];0===t.length&&(t=[0]);for(var n=0,r=0,i=t;r<i.length;r++){var o=i[r];if(o<0||o>=this.shape[n]){var a="Requested out of range element at "+t+". Buffer shape="+this.shape;throw new Error(a)}n++}for(var s=t[t.length-1],u=0;u<t.length-1;++u)s+=this.strides[u]*t[u];return this.values[s]},t.prototype.locToIndex=function(t){if(0===this.rank)return 0;if(1===this.rank)return t[0];for(var e=t[t.length-1],n=0;n<t.length-1;++n)e+=this.strides[n]*t[n];return e},t.prototype.indexToLoc=function(t){if(0===this.rank)return[];if(1===this.rank)return[t];for(var e=new Array(this.shape.length),n=0;n<e.length-1;++n)e[n]=Math.floor(t/this.strides[n]),t-=e[n]*this.strides[n];return e[e.length-1]=t,e},Object.defineProperty(t.prototype,"rank",{get:function(){return this.shape.length},enumerable:!0,configurable:!0}),t.prototype.toTensor=function(){return kt().makeTensor(this.values,this.shape,this.dtype)},t}(),kt=null,Et=null,Ct=null,At=function(){function t(t,e,n,r){this.kept=!1,this.isDisposedInternal=!1,this.shape=t.slice(),this.dtype=e||"float32",this.size=T(t),this.strides=et(t),this.dataId=n,this.id=r,this.rankType=this.rank<5?this.rank.toString():"higher"}return t.prototype.flatten=function(){return this.throwIfDisposed(),this.as1D()},t.prototype.asScalar=function(){return this.throwIfDisposed(),_(1===this.size,function(){return"The array must have only 1 element."}),this.reshape([])},t.prototype.as1D=function(){return this.throwIfDisposed(),this.reshape([this.size])},t.prototype.as2D=function(t,e){return this.throwIfDisposed(),this.reshape([t,e])},t.prototype.as3D=function(t,e,n){return this.throwIfDisposed(),this.reshape([t,e,n])},t.prototype.as4D=function(t,e,n,r){return this.throwIfDisposed(),this.reshape([t,e,n,r])},t.prototype.as5D=function(t,e,n,r,i){return this.throwIfDisposed(),this.reshape([t,e,n,r,i])},t.prototype.asType=function(t){return this.throwIfDisposed(),Et.cast(this,t)},Object.defineProperty(t.prototype,"rank",{get:function(){return this.shape.length},enumerable:!0,configurable:!0}),t.prototype.buffer=function(){return u(this,void 0,void 0,function(){var t;return c(this,function(e){switch(e.label){case 0:return[4,this.data()];case 1:return t=e.sent(),[2,Et.buffer(this.shape,this.dtype,t)]}})})},t.prototype.bufferSync=function(){return Et.buffer(this.shape,this.dtype,this.dataSync())},t.prototype.array=function(){return u(this,void 0,void 0,function(){var t;return c(this,function(e){switch(e.label){case 0:return[4,this.data()];case 1:return t=e.sent(),[2,rt(this.shape,t)]}})})},t.prototype.arraySync=function(){return rt(this.shape,this.dataSync())},t.prototype.data=function(){return u(this,void 0,void 0,function(){var t,e;return c(this,function(n){switch(n.label){case 0:return this.throwIfDisposed(),t=kt().read(this.dataId),"string"!==this.dtype?[3,2]:[4,t];case 1:e=n.sent();try{return[2,e.map(function(t){return ct(t)})]}catch(t){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}n.label=2;case 2:return[2,t]}})})},t.prototype.dataSync=function(){this.throwIfDisposed();var t=kt().readSync(this.dataId);if("string"===this.dtype)try{return t.map(function(t){return ct(t)})}catch(t){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}return t},t.prototype.bytes=function(){return u(this,void 0,void 0,function(){var t;return c(this,function(e){switch(e.label){case 0:return this.throwIfDisposed(),[4,kt().read(this.dataId)];case 1:return t=e.sent(),"string"===this.dtype?[2,t]:[2,new Uint8Array(t.buffer)]}})})},t.prototype.dispose=function(){this.isDisposed||(kt().disposeTensor(this),this.isDisposedInternal=!0)},Object.defineProperty(t.prototype,"isDisposed",{get:function(){return this.isDisposedInternal},enumerable:!0,configurable:!0}),t.prototype.throwIfDisposed=function(){if(this.isDisposed)throw new Error("Tensor is disposed.")},t.prototype.toFloat=function(){return this.asType("float32")},t.prototype.toInt=function(){return this.asType("int32")},t.prototype.toBool=function(){return this.asType("bool")},t.prototype.print=function(t){return void 0===t&&(t=!1),Et.print(this,t)},t.prototype.reshape=function(t){return this.throwIfDisposed(),Et.reshape(this,t)},t.prototype.reshapeAs=function(t){return this.throwIfDisposed(),this.reshape(t.shape)},t.prototype.expandDims=function(t){return void 0===t&&(t=0),Et.expandDims(this,t)},t.prototype.cumsum=function(t,e,n){return void 0===t&&(t=0),void 0===e&&(e=!1),void 0===n&&(n=!1),Et.cumsum(this,t,e,n)},t.prototype.squeeze=function(t){return this.throwIfDisposed(),Et.squeeze(this,t)},t.prototype.clone=function(){return this.throwIfDisposed(),Et.clone(this)},t.prototype.toString=function(t){return void 0===t&&(t=!1),function(t,e,n,r){var i=et(e),o=function(t,e,n,r){var i=T(e),o=r[r.length-1],a=new Array(o).fill(0),s=e.length,u="complex64"===n?xt(t):t;if(s>1)for(var c=0;c<i/o;c++)for(var l=c*o,f=0;f<o;f++)a[f]=Math.max(a[f],yt(u[l+f],0,n).length);return a}(t,e,n,i),a=e.length,s=function t(e,n,r,i,o,a){void 0===a&&(a=!0);var s="complex64"===r?2:1,u=n[0],c=n.length;if(0===c)return"complex64"===r?[yt(xt(e)[0],0,r)]:"bool"===r?[bt(e[0])]:[e[0].toString()];if(1===c){if(u>mt){var l=gt*s,f=Array.from(e.slice(0,l)),h=Array.from(e.slice((u-gt)*s,u*s));return"complex64"===r&&(f=xt(f),h=xt(h)),["["+f.map(function(t,e){return yt(t,o[e],r)}).join(", ")+", ..., "+h.map(function(t,e){return yt(t,o[u-gt+e],r)}).join(", ")+"]"]}return["["+("complex64"===r?xt(e):Array.from(e)).map(function(t,e){return yt(t,o[e],r)}).join(", ")+"]"]}var d=n.slice(1),p=i.slice(1),m=i[0]*s,g=[];if(u>mt){for(var v=0;v<gt;v++){var y=(b=v*m)+m;g.push.apply(g,t(e.slice(b,y),d,r,p,o,!1))}for(g.push("..."),v=u-gt;v<u;v++)y=(b=v*m)+m,g.push.apply(g,t(e.slice(b,y),d,r,p,o,v===u-1))}else for(v=0;v<u;v++){var b;y=(b=v*m)+m,g.push.apply(g,t(e.slice(b,y),d,r,p,o,v===u-1))}var x=2===c?",":"";for(g[0]="["+g[0]+x,v=1;v<g.length-1;v++)g[v]=" "+g[v]+x;var w=",\n";for(v=2;v<c;v++)w+="\n";return g[g.length-1]=" "+g[g.length-1]+"]"+(a?"":w),g}(t,e,n,i,o),u=["Tensor"];return r&&(u.push(" dtype: "+n),u.push(" rank: "+a),u.push(" shape: ["+e+"]"),u.push(" values:")),u.push(s.map(function(t){return" "+t}).join("\n")),u.join("\n")}(this.dataSync(),this.shape,this.dtype,t)},t.prototype.gather=function(t,e){return void 0===e&&(e=0),this.throwIfDisposed(),Et.gather(this,t,e)},t.prototype.matMul=function(t,e,n){return void 0===e&&(e=!1),void 0===n&&(n=!1),this.throwIfDisposed(),Et.matMul(this,t,e,n)},t.prototype.dot=function(t){return this.throwIfDisposed(),Et.dot(this,t)},t.prototype.norm=function(t,e,n){return void 0===t&&(t="euclidean"),void 0===e&&(e=null),void 0===n&&(n=!1),this.throwIfDisposed(),Et.norm(this,t,e,n)},t.prototype.slice=function(t,e){return this.throwIfDisposed(),Et.slice(this,t,e)},t.prototype.reverse=function(t){return this.throwIfDisposed(),Et.reverse(this,t)},t.prototype.concat=function(e,n){return void 0===n&&(n=0),this.throwIfDisposed(),e instanceof t&&(e=[e]),Et.concat([this].concat(e),n)},t.prototype.split=function(t,e){return void 0===e&&(e=0),this.throwIfDisposed(),Et.split(this,t,e)},t.prototype.stack=function(t,e){return void 0===e&&(e=0),Et.stack([this,t],e)},t.prototype.unstack=function(t){return void 0===t&&(t=0),Et.unstack(this,t)},t.prototype.batchNormalization=function(t,e,n,r,i){return void 0===n&&(n=.001),Ct("tf.batchNormalization() is going away. Use tf.batchNorm() instead, and note the positional argument change of scale, offset, and varianceEpsilon"),this.batchNorm(t,e,i,r,n)},t.prototype.all=function(t,e){return void 0===t&&(t=null),void 0===e&&(e=!1),this.throwIfDisposed(),Et.all(this,t,e)},t.prototype.any=function(t,e){return void 0===t&&(t=null),void 0===e&&(e=!1),this.throwIfDisposed(),Et.any(this,t,e)},t.prototype.logSumExp=function(t,e){return void 0===t&&(t=null),void 0===e&&(e=!1),this.throwIfDisposed(),Et.logSumExp(this,t,e)},t.prototype.sum=function(t,e){return void 0===t&&(t=null),void 0===e&&(e=!1),this.throwIfDisposed(),Et.sum(this,t,e)},t.prototype.prod=function(t,e){return void 0===t&&(t=null),void 0===e&&(e=!1),this.throwIfDisposed(),Et.prod(this,t,e)},t.prototype.mean=function(t,e){return void 0===t&&(t=null),void 0===e&&(e=!1),this.throwIfDisposed(),Et.mean(this,t,e)},t.prototype.min=function(t,e){return void 0===t&&(t=null),void 0===e&&(e=!1),this.throwIfDisposed(),Et.min(this,t,e)},t.prototype.max=function(t,e){return void 0===t&&(t=null),void 0===e&&(e=!1),this.throwIfDisposed(),Et.max(this,t,e)},t.prototype.argMin=function(t){return void 0===t&&(t=null),this.throwIfDisposed(),Et.argMin(this,t)},t.prototype.argMax=function(t){return void 0===t&&(t=null),this.throwIfDisposed(),Et.argMax(this,t)},t.prototype.cast=function(t){return this.throwIfDisposed(),Et.cast(this,t)},t.prototype.addStrict=function(t){return this.throwIfDisposed(),Et.addStrict(this,t)},t.prototype.atan2=function(t){return this.throwIfDisposed(),Et.atan2(this,t)},t.prototype.sub=function(t){return this.throwIfDisposed(),Et.sub(this,t)},t.prototype.subStrict=function(t){return this.throwIfDisposed(),Et.subStrict(this,t)},t.prototype.pow=function(t){return this.throwIfDisposed(),Et.pow(this,t)},t.prototype.powStrict=function(t){return this.throwIfDisposed(),Et.powStrict(this,t)},t.prototype.mul=function(t){return this.throwIfDisposed(),Et.mul(this,t)},t.prototype.mulStrict=function(t){return this.throwIfDisposed(),Et.mulStrict(this,t)},t.prototype.floorDiv=function(t){return this.throwIfDisposed(),Et.floorDiv(this,t)},t.prototype.divStrict=function(t){return this.throwIfDisposed(),Et.divStrict(this,t)},t.prototype.minimum=function(t){return this.throwIfDisposed(),Et.minimum(this,t)},t.prototype.minimumStrict=function(t){return this.throwIfDisposed(),Et.minimumStrict(this,t)},t.prototype.maximum=function(t){return this.throwIfDisposed(),Et.maximum(this,t)},t.prototype.maximumStrict=function(t){return this.throwIfDisposed(),Et.maximumStrict(this,t)},t.prototype.mod=function(t){return this.throwIfDisposed(),Et.mod(this,t)},t.prototype.modStrict=function(t){return this.throwIfDisposed(),Et.modStrict(this,t)},t.prototype.squaredDifferenceStrict=function(t){return this.throwIfDisposed(),Et.squaredDifferenceStrict(this,t)},t.prototype.notEqual=function(t){return this.throwIfDisposed(),Et.notEqual(this,t)},t.prototype.notEqualStrict=function(t){return this.throwIfDisposed(),Et.notEqualStrict(this,t)},t.prototype.less=function(t){return this.throwIfDisposed(),Et.less(this,t)},t.prototype.lessStrict=function(t){return this.throwIfDisposed(),Et.lessStrict(this,t)},t.prototype.equal=function(t){return this.throwIfDisposed(),Et.equal(this,t)},t.prototype.equalStrict=function(t){return this.throwIfDisposed(),Et.equalStrict(this,t)},t.prototype.lessEqual=function(t){return this.throwIfDisposed(),Et.lessEqual(this,t)},t.prototype.lessEqualStrict=function(t){return this.throwIfDisposed(),Et.lessEqualStrict(this,t)},t.prototype.greater=function(t){return this.throwIfDisposed(),Et.greater(this,t)},t.prototype.greaterStrict=function(t){return this.throwIfDisposed(),Et.greaterStrict(this,t)},t.prototype.greaterEqual=function(t){return this.throwIfDisposed(),Et.greaterEqual(this,t)},t.prototype.greaterEqualStrict=function(t){return this.throwIfDisposed(),Et.greaterEqualStrict(this,t)},t.prototype.logicalAnd=function(t){return this.throwIfDisposed(),Et.logicalAnd(this,t)},t.prototype.logicalOr=function(t){return this.throwIfDisposed(),Et.logicalOr(this,t)},t.prototype.logicalNot=function(){return this.throwIfDisposed(),Et.logicalNot(this)},t.prototype.logicalXor=function(t){return this.throwIfDisposed(),Et.logicalXor(this,t)},t.prototype.where=function(t,e){return this.throwIfDisposed(),Et.where(t,this,e)},t.prototype.neg=function(){return this.throwIfDisposed(),Et.neg(this)},t.prototype.ceil=function(){return this.throwIfDisposed(),Et.ceil(this)},t.prototype.floor=function(){return this.throwIfDisposed(),Et.floor(this)},t.prototype.sign=function(){return this.throwIfDisposed(),Et.sign(this)},t.prototype.isNaN=function(){return this.throwIfDisposed(),Et.isNaN(this)},t.prototype.isInf=function(){return this.throwIfDisposed(),Et.isInf(this)},t.prototype.isFinite=function(){return this.throwIfDisposed(),Et.isFinite(this)},t.prototype.exp=function(){return this.throwIfDisposed(),Et.exp(this)},t.prototype.expm1=function(){return this.throwIfDisposed(),Et.expm1(this)},t.prototype.log=function(){return this.throwIfDisposed(),Et.log(this)},t.prototype.log1p=function(){return this.throwIfDisposed(),Et.log1p(this)},t.prototype.sqrt=function(){return this.throwIfDisposed(),Et.sqrt(this)},t.prototype.rsqrt=function(){return this.throwIfDisposed(),Et.rsqrt(this)},t.prototype.square=function(){return this.throwIfDisposed(),Et.square(this)},t.prototype.reciprocal=function(){return this.throwIfDisposed(),Et.reciprocal(this)},t.prototype.abs=function(){return this.throwIfDisposed(),Et.abs(this)},t.prototype.clipByValue=function(t,e){return this.throwIfDisposed(),Et.clipByValue(this,t,e)},t.prototype.relu=function(){return this.throwIfDisposed(),Et.relu(this)},t.prototype.relu6=function(){return this.throwIfDisposed(),Et.relu6(this)},t.prototype.elu=function(){return this.throwIfDisposed(),Et.elu(this)},t.prototype.selu=function(){return this.throwIfDisposed(),Et.selu(this)},t.prototype.leakyRelu=function(t){return void 0===t&&(t=.2),this.throwIfDisposed(),Et.leakyRelu(this,t)},t.prototype.prelu=function(t){return this.throwIfDisposed(),Et.prelu(this,t)},t.prototype.sigmoid=function(){return this.throwIfDisposed(),Et.sigmoid(this)},t.prototype.logSigmoid=function(){return this.throwIfDisposed(),Et.logSigmoid(this)},t.prototype.softplus=function(){return this.throwIfDisposed(),Et.softplus(this)},t.prototype.zerosLike=function(){return this.throwIfDisposed(),Et.zerosLike(this)},t.prototype.onesLike=function(){return this.throwIfDisposed(),Et.onesLike(this)},t.prototype.sin=function(){return this.throwIfDisposed(),Et.sin(this)},t.prototype.cos=function(){return this.throwIfDisposed(),Et.cos(this)},t.prototype.tan=function(){return this.throwIfDisposed(),Et.tan(this)},t.prototype.asin=function(){return this.throwIfDisposed(),Et.asin(this)},t.prototype.acos=function(){return this.throwIfDisposed(),Et.acos(this)},t.prototype.atan=function(){return this.throwIfDisposed(),Et.atan(this)},t.prototype.sinh=function(){return this.throwIfDisposed(),Et.sinh(this)},t.prototype.cosh=function(){return this.throwIfDisposed(),Et.cosh(this)},t.prototype.tanh=function(){return this.throwIfDisposed(),Et.tanh(this)},t.prototype.asinh=function(){return this.throwIfDisposed(),Et.asinh(this)},t.prototype.acosh=function(){return this.throwIfDisposed(),Et.acosh(this)},t.prototype.atanh=function(){return this.throwIfDisposed(),Et.atanh(this)},t.prototype.erf=function(){return this.throwIfDisposed(),Et.erf(this)},t.prototype.round=function(){return this.throwIfDisposed(),Et.round(this)},t.prototype.step=function(t){return void 0===t&&(t=0),this.throwIfDisposed(),Et.step(this,t)},t.prototype.softmax=function(t){return void 0===t&&(t=-1),this.throwIfDisposed(),Et.softmax(this,t)},t.prototype.logSoftmax=function(t){return void 0===t&&(t=-1),this.throwIfDisposed(),Et.logSoftmax(this,t)},t.prototype.resizeBilinear=function(t,e){return void 0===e&&(e=!1),this.throwIfDisposed(),Et.image.resizeBilinear(this,t,e)},t.prototype.resizeNearestNeighbor=function(t,e){return void 0===e&&(e=!1),this.throwIfDisposed(),Et.image.resizeNearestNeighbor(this,t,e)},t.prototype.conv1d=function(t,e,n,r,i,o){return void 0===r&&(r="NWC"),void 0===i&&(i=1),this.throwIfDisposed(),Et.conv1d(this,t,e,n,r,i,o)},t.prototype.conv2d=function(t,e,n,r,i,o){return void 0===r&&(r="NHWC"),void 0===i&&(i=[1,1]),this.throwIfDisposed(),Et.conv2d(this,t,e,n,r,i,o)},t.prototype.conv2dTranspose=function(t,e,n,r,i){return this.throwIfDisposed(),Et.conv2dTranspose(this,t,e,n,r,i)},t.prototype.depthwiseConv2D=function(t,e,n,r,i,o){return void 0===r&&(r="NHWC"),void 0===i&&(i=[1,1]),this.throwIfDisposed(),Et.depthwiseConv2d(this,t,e,n,r,i,o)},t.prototype.separableConv2d=function(t,e,n,r,i,o){return void 0===i&&(i=[1,1]),void 0===o&&(o="NHWC"),this.throwIfDisposed(),Et.separableConv2d(this,t,e,n,r,i,o)},t.prototype.avgPool=function(t,e,n,r){return this.throwIfDisposed(),Et.avgPool(this,t,e,n,r)},t.prototype.maxPool=function(t,e,n,r){return this.throwIfDisposed(),Et.maxPool(this,t,e,n,r)},t.prototype.localResponseNormalization=function(t,e,n,r){return void 0===t&&(t=5),void 0===e&&(e=1),void 0===n&&(n=1),void 0===r&&(r=.5),Et.localResponseNormalization(this,t,e,n,r)},t.prototype.pool=function(t,e,n,r,i){return this.throwIfDisposed(),Et.pool(this,t,e,n,r,i)},t.prototype.variable=function(t,e,n){return void 0===t&&(t=!0),this.throwIfDisposed(),kt().makeVariable(this,t,e,n)},t.prototype.unsortedSegmentSum=function(t,e){return this.throwIfDisposed(),Et.unsortedSegmentSum(this,t,e)},t.prototype.batchToSpaceND=function(t,e){return this.throwIfDisposed(),Et.batchToSpaceND(this,t,e)},t.prototype.spaceToBatchND=function(t,e){return this.throwIfDisposed(),Et.spaceToBatchND(this,t,e)},t.prototype.topk=function(t,e){return void 0===t&&(t=1),void 0===e&&(e=!0),this.throwIfDisposed(),Et.topk(this,t,e)},t.prototype.stridedSlice=function(t,e,n,r,i,o,a,s){return void 0===r&&(r=0),void 0===i&&(i=0),void 0===o&&(o=0),void 0===a&&(a=0),void 0===s&&(s=0),this.throwIfDisposed(),Et.stridedSlice(this,t,e,n,r,i,o,a,s)},t.prototype.depthToSpace=function(t,e){return this.throwIfDisposed(),Et.depthToSpace(this,t,e)},t.prototype.fft=function(){return this.throwIfDisposed(),Et.spectral.fft(this)},t.prototype.ifft=function(){return this.throwIfDisposed(),Et.spectral.ifft(this)},t.prototype.rfft=function(){return this.throwIfDisposed(),Et.spectral.rfft(this)},t.prototype.irfft=function(){return this.throwIfDisposed(),Et.spectral.irfft(this)},t}();Object.defineProperty(At,Symbol.hasInstance,{value:function(t){return!!t&&null!=t.dataId&&null!=t.shape&&null!=t.dtype}});var Ot,_t,St,Dt,Ft,Tt=function(t){function e(e,n,r,i){var o=t.call(this,e.shape,e.dtype,e.dataId,i)||this;return o.trainable=n,o.name=r,o}return s(e,t),e.prototype.assign=function(t){if(t.dtype!==this.dtype)throw new Error("dtype of the new value ("+t.dtype+") and previous value ("+this.dtype+") must match");if(!N(t.shape,this.shape))throw new Error("shape of the new value ("+t.shape+") and previous value ("+this.shape+") must match");kt().disposeTensor(this),this.dataId=t.dataId,kt().incRef(this,null)},e.prototype.dispose=function(){kt().disposeVariable(this),this.isDisposedInternal=!0},e}(At);Object.defineProperty(Tt,Symbol.hasInstance,{value:function(t){return t instanceof At&&null!=t.assign&&t.assign instanceof Function}}),function(t){t.R0="R0",t.R1="R1",t.R2="R2",t.R3="R3",t.R4="R4",t.R5="R5",t.R6="R6"}(Ot||(Ot={})),function(t){t.float32="float32",t.int32="int32",t.bool="int32",t.complex64="complex64"}(_t||(_t={})),function(t){t.float32="float32",t.int32="int32",t.bool="bool",t.complex64="complex64"}(St||(St={})),function(t){t.float32="float32",t.int32="float32",t.bool="float32",t.complex64="complex64"}(Dt||(Dt={})),function(t){t.float32="complex64",t.int32="complex64",t.bool="complex64",t.complex64="complex64"}(Ft||(Ft={}));var Nt={float32:Dt,int32:_t,bool:St,complex64:Ft};function It(t,e){if("string"===t||"string"===e){if("string"===t&&"string"===e)return"string";throw new Error("Can not upcast "+t+" with "+e)}return Nt[t][e]}function Rt(t){return It(t,"int32")}function Mt(t,e){if(t.dtype===e.dtype)return[t,e];var n=It(t.dtype,e.dtype);return[t.cast(n),e.cast(n)]}function jt(t,e){_(t.dtype===e.dtype,function(){return"The dtypes of the first("+t.dtype+") and second("+e.dtype+") input must match"})}function Bt(t){var e=[];return function t(e,n,r){if(null!=e)if(e instanceof At)n.push(e);else if(i=e,Array.isArray(i)||"object"==typeof i){var i,o=e;for(var a in o){var s=o[a];r.has(s)||(r.add(s),t(s,n,r))}}}(t,e,new Set),e}var Pt,Lt=Object.freeze({makeTypesMatch:Mt,assertTypesMatch:jt,isTensorInList:function(t,e){return e.some(function(e){return e.id===t.id})},getTensorsInContainer:Bt}),zt=function(){function t(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap,this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null}}return t.prototype.dispose=function(){for(var t in this.registeredVariables)this.registeredVariables[t].dispose()},t}(),Ut=function(){function t(t){this.ENV=t,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new zt}return t.prototype.ready=function(){return u(this,void 0,void 0,function(){var t,e,n;return c(this,function(r){switch(r.label){case 0:if(null!=this.pendingBackendInit)return[2,this.pendingBackendInit.then(function(){})];if(null!=this.backendInstance)return[2];t=this.getSortedBackends(),e=0,r.label=1;case 1:return e<t.length?(n=t[e],[4,this.initializeBackend(n).success]):[3,5];case 2:return r.sent()?[4,this.setBackend(n)]:[3,4];case 3:return r.sent(),[2];case 4:return e++,[3,1];case 5:throw new Error("Could not initialize any backends, all backend initializations failed.")}})})},Object.defineProperty(t.prototype,"backend",{get:function(){if(null!=this.pendingBackendInit)throw new Error("Backend '"+this.backendName+"' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods");if(null==this.backendInstance){var t=this.initializeBackendsAndReturnBest(),e=t.name;if(t.asyncInit)throw new Error("The highest priority backend '"+e+"' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods");this.setBackend(e)}return this.backendInstance},enumerable:!0,configurable:!0}),t.prototype.backendNames=function(){return Object.keys(this.registryFactory)},t.prototype.findBackend=function(t){if(!(t in this.registry)){if(!(t in this.registryFactory))return null;if(this.initializeBackend(t).asyncInit)return null}return this.registry[t]},t.prototyp