@genai-fi/nanogpt 0.20.0 → 0.20.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. package/dist/BaseTokeniser-DSg9zcYq.js +221 -0
  2. package/dist/DatasetBuilder-DgURD85T.js +712 -0
  3. package/dist/Generator.d.ts +82 -0
  4. package/dist/Generator.js +2 -0
  5. package/dist/RealDiv-DBu0FQqT.js +362 -0
  6. package/dist/Reshape-CABOPB9d.js +94 -0
  7. package/dist/Reshape-DqO3r8BC.js +17 -0
  8. package/dist/TeachableLLM.d.ts +70 -0
  9. package/dist/TeachableLLM.js +2 -0
  10. package/dist/Trainer.d.ts +43 -0
  11. package/dist/Trainer.js +2 -0
  12. package/dist/backend.d.ts +2 -0
  13. package/dist/backend.js +13 -0
  14. package/dist/backend_util-Cg-roD1p.js +399 -0
  15. package/dist/binary_op_util-CrYk9LXL.js +103 -0
  16. package/dist/checks/appendCache.d.ts +1 -0
  17. package/dist/checks/appendCache.js +55 -0
  18. package/dist/checks/attentionMask.d.ts +1 -0
  19. package/dist/checks/attentionMask.js +56 -0
  20. package/dist/checks/check.d.ts +9 -0
  21. package/dist/checks/check.js +32 -0
  22. package/dist/checks/gelu.d.ts +1 -0
  23. package/dist/checks/gelu.js +46 -0
  24. package/dist/checks/index.d.ts +26 -0
  25. package/dist/checks/index.js +28 -0
  26. package/dist/checks/matMulGelu.d.ts +1 -0
  27. package/dist/checks/matMulGelu.js +84 -0
  28. package/dist/checks/normRMS.d.ts +1 -0
  29. package/dist/checks/normRMS.js +28 -0
  30. package/dist/checks/normRMSGrad.d.ts +1 -0
  31. package/dist/checks/normRMSGrad.js +22 -0
  32. package/dist/checks/packUnpack.d.ts +1 -0
  33. package/dist/checks/packUnpack.js +46 -0
  34. package/dist/checks/qkv.d.ts +1 -0
  35. package/dist/checks/qkv.js +34 -0
  36. package/dist/checks/rope.d.ts +1 -0
  37. package/dist/checks/rope.js +30 -0
  38. package/dist/checks/weights.d.ts +14 -0
  39. package/dist/checks/weights.js +27 -0
  40. package/dist/chunk-BPntVaq0.js +23 -0
  41. package/dist/complex_util-CkazZsaH.js +60 -0
  42. package/dist/concat_util-CWDZCBlA.js +19 -0
  43. package/dist/data/docx.d.ts +2 -0
  44. package/dist/data/docx.js +3046 -0
  45. package/dist/data/pdf.d.ts +2 -0
  46. package/dist/data/pdf.js +17 -0
  47. package/dist/data/textLoader.d.ts +7 -0
  48. package/dist/data/textLoader.js +613 -0
  49. package/dist/dist-BewPQWjc.js +7572 -0
  50. package/dist/dist-DVmq73nz.js +8775 -0
  51. package/dist/dist-DXwIvKxl.js +896 -0
  52. package/dist/dist-VEU5mfO0.js +7545 -0
  53. package/dist/gelu-Bf1HW1RY.js +27 -0
  54. package/dist/gpgpu_math-DvLcCH6u.js +1612 -0
  55. package/dist/inference/types.d.ts +16 -0
  56. package/dist/inference/types.js +0 -0
  57. package/dist/kernel_funcs_utils-HiXOOx3f.js +229 -0
  58. package/dist/layers/BaseLayer.d.ts +44 -0
  59. package/dist/layers/BaseLayer.js +76 -0
  60. package/dist/layers/CausalSelfAttention.d.ts +39 -0
  61. package/dist/layers/CausalSelfAttention.js +99 -0
  62. package/dist/layers/LoRA.d.ts +14 -0
  63. package/dist/layers/LoRA.js +48 -0
  64. package/dist/layers/MLP.d.ts +17 -0
  65. package/dist/layers/MLP.js +34 -0
  66. package/dist/layers/PositionEmbedding.d.ts +8 -0
  67. package/dist/layers/PositionEmbedding.js +27 -0
  68. package/dist/layers/RMSNorm.d.ts +12 -0
  69. package/dist/layers/RMSNorm.js +20 -0
  70. package/dist/layers/RoPECache.d.ts +18 -0
  71. package/dist/layers/RoPECache.js +337 -0
  72. package/dist/layers/TiedEmbedding.d.ts +13 -0
  73. package/dist/layers/TiedEmbedding.js +32 -0
  74. package/dist/layers/TransformerBlock.d.ts +27 -0
  75. package/dist/layers/TransformerBlock.js +51 -0
  76. package/dist/layers/WeightStore.d.ts +20 -0
  77. package/dist/layers/WeightStore.js +69 -0
  78. package/dist/loader/load.d.ts +6 -0
  79. package/dist/loader/load.js +2 -0
  80. package/dist/loader/loadHF.d.ts +8 -0
  81. package/dist/loader/loadHF.js +2 -0
  82. package/dist/loader/loadTransformers.d.ts +4 -0
  83. package/dist/loader/loadTransformers.js +2 -0
  84. package/dist/loader/loadZipMeta.d.ts +3 -0
  85. package/dist/loader/loadZipMeta.js +16 -0
  86. package/dist/loader/newZipLoad.d.ts +3 -0
  87. package/dist/loader/newZipLoad.js +2 -0
  88. package/dist/loader/oldZipLoad.d.ts +9 -0
  89. package/dist/loader/oldZipLoad.js +2 -0
  90. package/dist/loader/save.d.ts +16 -0
  91. package/dist/loader/save.js +2 -0
  92. package/dist/loader/types.d.ts +68 -0
  93. package/dist/loader/types.js +0 -0
  94. package/dist/main-D5CbfCiV.js +13500 -0
  95. package/dist/main.d.ts +50 -0
  96. package/dist/main.js +16 -0
  97. package/dist/matMul16-BNfZSnNM.js +81 -0
  98. package/dist/matMulGelu-CPTntosE.js +162 -0
  99. package/dist/models/NanoGPTV1.d.ts +16 -0
  100. package/dist/models/NanoGPTV1.js +2 -0
  101. package/dist/models/NanoGPTV2.d.ts +16 -0
  102. package/dist/models/NanoGPTV2.js +2 -0
  103. package/dist/models/config.d.ts +27 -0
  104. package/dist/models/config.js +37 -0
  105. package/dist/models/factory.d.ts +3 -0
  106. package/dist/models/factory.js +2 -0
  107. package/dist/models/model.d.ts +44 -0
  108. package/dist/models/model.js +2 -0
  109. package/dist/ops/adamAdjust.d.ts +2 -0
  110. package/dist/ops/adamAdjust.js +18 -0
  111. package/dist/ops/adamMoments.d.ts +2 -0
  112. package/dist/ops/adamMoments.js +16 -0
  113. package/dist/ops/add16.d.ts +2 -0
  114. package/dist/ops/add16.js +12 -0
  115. package/dist/ops/appendCache.d.ts +2 -0
  116. package/dist/ops/appendCache.js +25 -0
  117. package/dist/ops/attentionMask.d.ts +2 -0
  118. package/dist/ops/attentionMask.js +16 -0
  119. package/dist/ops/concat16.d.ts +2 -0
  120. package/dist/ops/concat16.js +8 -0
  121. package/dist/ops/cpu/adamAdjust.d.ts +1 -0
  122. package/dist/ops/cpu/adamAdjust.js +16 -0
  123. package/dist/ops/cpu/adamMoments.d.ts +1 -0
  124. package/dist/ops/cpu/adamMoments.js +16 -0
  125. package/dist/ops/cpu/appendCache.d.ts +1 -0
  126. package/dist/ops/cpu/appendCache.js +65 -0
  127. package/dist/ops/cpu/attentionMask.d.ts +1 -0
  128. package/dist/ops/cpu/attentionMask.js +16 -0
  129. package/dist/ops/cpu/fusedSoftmax.d.ts +9 -0
  130. package/dist/ops/cpu/fusedSoftmax.js +22 -0
  131. package/dist/ops/cpu/gatherSub.d.ts +1 -0
  132. package/dist/ops/cpu/gatherSub.js +12 -0
  133. package/dist/ops/cpu/gelu.d.ts +1 -0
  134. package/dist/ops/cpu/gelu.js +36 -0
  135. package/dist/ops/cpu/matMul16.d.ts +1 -0
  136. package/dist/ops/cpu/matMul16.js +14 -0
  137. package/dist/ops/cpu/matMulGelu.d.ts +1 -0
  138. package/dist/ops/cpu/matMulGelu.js +41 -0
  139. package/dist/ops/cpu/matMulMul.d.ts +1 -0
  140. package/dist/ops/cpu/matMulMul.js +20 -0
  141. package/dist/ops/cpu/mulDropout.d.ts +1 -0
  142. package/dist/ops/cpu/mulDropout.js +20 -0
  143. package/dist/ops/cpu/normRMS.d.ts +1 -0
  144. package/dist/ops/cpu/normRMS.js +35 -0
  145. package/dist/ops/cpu/qkv.d.ts +5 -0
  146. package/dist/ops/cpu/qkv.js +73 -0
  147. package/dist/ops/cpu/rope.d.ts +6 -0
  148. package/dist/ops/cpu/rope.js +81 -0
  149. package/dist/ops/cpu/scatterSub.d.ts +1 -0
  150. package/dist/ops/cpu/scatterSub.js +12 -0
  151. package/dist/ops/dot16.d.ts +2 -0
  152. package/dist/ops/dot16.js +29 -0
  153. package/dist/ops/dropout.d.ts +2 -0
  154. package/dist/ops/dropout.js +11 -0
  155. package/dist/ops/dropout16.d.ts +2 -0
  156. package/dist/ops/dropout16.js +22 -0
  157. package/dist/ops/gatherSub.d.ts +2 -0
  158. package/dist/ops/gatherSub.js +13 -0
  159. package/dist/ops/gelu.d.ts +3 -0
  160. package/dist/ops/gelu.js +2 -0
  161. package/dist/ops/globalNorm.d.ts +2 -0
  162. package/dist/ops/globalNorm.js +19 -0
  163. package/dist/ops/grads/add16.d.ts +1 -0
  164. package/dist/ops/grads/add16.js +27 -0
  165. package/dist/ops/grads/attentionMask.d.ts +1 -0
  166. package/dist/ops/grads/attentionMask.js +26 -0
  167. package/dist/ops/grads/dropout16.d.ts +1 -0
  168. package/dist/ops/grads/dropout16.js +1 -0
  169. package/dist/ops/grads/gelu.d.ts +2 -0
  170. package/dist/ops/grads/gelu.js +2 -0
  171. package/dist/ops/grads/matMul16.d.ts +2 -0
  172. package/dist/ops/grads/matMul16.js +2 -0
  173. package/dist/ops/grads/matMulGelu.d.ts +1 -0
  174. package/dist/ops/grads/matMulGelu.js +22 -0
  175. package/dist/ops/grads/mul16.d.ts +1 -0
  176. package/dist/ops/grads/mul16.js +1 -0
  177. package/dist/ops/grads/normRMS.d.ts +3 -0
  178. package/dist/ops/grads/normRMS.js +37 -0
  179. package/dist/ops/grads/pack16.d.ts +2 -0
  180. package/dist/ops/grads/pack16.js +2 -0
  181. package/dist/ops/grads/qkv.d.ts +3 -0
  182. package/dist/ops/grads/qkv.js +46 -0
  183. package/dist/ops/grads/rope.d.ts +2 -0
  184. package/dist/ops/grads/rope.js +2 -0
  185. package/dist/ops/grads/softmax16.d.ts +2 -0
  186. package/dist/ops/grads/softmax16.js +23 -0
  187. package/dist/ops/grads/unpack16.d.ts +2 -0
  188. package/dist/ops/grads/unpack16.js +2 -0
  189. package/dist/ops/grads/utils.d.ts +4 -0
  190. package/dist/ops/grads/utils.js +12 -0
  191. package/dist/ops/log.d.ts +0 -0
  192. package/dist/ops/log.js +1 -0
  193. package/dist/ops/matMul16.d.ts +15 -0
  194. package/dist/ops/matMul16.js +2 -0
  195. package/dist/ops/matMulGelu.d.ts +3 -0
  196. package/dist/ops/matMulGelu.js +20 -0
  197. package/dist/ops/matMulMul.d.ts +2 -0
  198. package/dist/ops/matMulMul.js +16 -0
  199. package/dist/ops/mul16.d.ts +2 -0
  200. package/dist/ops/mul16.js +43 -0
  201. package/dist/ops/mulDrop.d.ts +2 -0
  202. package/dist/ops/mulDrop.js +15 -0
  203. package/dist/ops/normRMS.d.ts +2 -0
  204. package/dist/ops/normRMS.js +22 -0
  205. package/dist/ops/pack16.d.ts +2 -0
  206. package/dist/ops/pack16.js +2 -0
  207. package/dist/ops/qkv.d.ts +2 -0
  208. package/dist/ops/qkv.js +16 -0
  209. package/dist/ops/reshape16.d.ts +2 -0
  210. package/dist/ops/reshape16.js +33 -0
  211. package/dist/ops/rope.d.ts +3 -0
  212. package/dist/ops/rope.js +2 -0
  213. package/dist/ops/scatterSub.d.ts +2 -0
  214. package/dist/ops/scatterSub.js +13 -0
  215. package/dist/ops/slice16.d.ts +2 -0
  216. package/dist/ops/slice16.js +11 -0
  217. package/dist/ops/softmax16.d.ts +2 -0
  218. package/dist/ops/softmax16.js +9 -0
  219. package/dist/ops/sub16.d.ts +2 -0
  220. package/dist/ops/sub16.js +11 -0
  221. package/dist/ops/sum16.d.ts +2 -0
  222. package/dist/ops/sum16.js +13 -0
  223. package/dist/ops/transpose16.d.ts +3 -0
  224. package/dist/ops/transpose16.js +32 -0
  225. package/dist/ops/unpack16.d.ts +2 -0
  226. package/dist/ops/unpack16.js +2 -0
  227. package/dist/ops/webgl/adamAdjust.d.ts +1 -0
  228. package/dist/ops/webgl/adamAdjust.js +82 -0
  229. package/dist/ops/webgl/adamMoments.d.ts +1 -0
  230. package/dist/ops/webgl/adamMoments.js +44 -0
  231. package/dist/ops/webgl/appendCache.d.ts +1 -0
  232. package/dist/ops/webgl/appendCache.js +53 -0
  233. package/dist/ops/webgl/attentionMask.d.ts +1 -0
  234. package/dist/ops/webgl/attentionMask.js +64 -0
  235. package/dist/ops/webgl/dropout16.d.ts +1 -0
  236. package/dist/ops/webgl/dropout16.js +12 -0
  237. package/dist/ops/webgl/fusedSoftmax.d.ts +11 -0
  238. package/dist/ops/webgl/fusedSoftmax.js +70 -0
  239. package/dist/ops/webgl/gatherSub.d.ts +1 -0
  240. package/dist/ops/webgl/gatherSub.js +28 -0
  241. package/dist/ops/webgl/gelu.d.ts +2 -0
  242. package/dist/ops/webgl/gelu.js +48 -0
  243. package/dist/ops/webgl/log.d.ts +17 -0
  244. package/dist/ops/webgl/log.js +14 -0
  245. package/dist/ops/webgl/matMul16.d.ts +1 -0
  246. package/dist/ops/webgl/matMul16.js +37 -0
  247. package/dist/ops/webgl/matMulGelu.d.ts +21 -0
  248. package/dist/ops/webgl/matMulGelu.js +2 -0
  249. package/dist/ops/webgl/matMulMul.d.ts +14 -0
  250. package/dist/ops/webgl/matMulMul.js +24 -0
  251. package/dist/ops/webgl/mulDropout.d.ts +1 -0
  252. package/dist/ops/webgl/mulDropout.js +32 -0
  253. package/dist/ops/webgl/normRMS.d.ts +1 -0
  254. package/dist/ops/webgl/normRMS.js +114 -0
  255. package/dist/ops/webgl/qkv.d.ts +1 -0
  256. package/dist/ops/webgl/qkv.js +54 -0
  257. package/dist/ops/webgl/rope.d.ts +1 -0
  258. package/dist/ops/webgl/rope.js +72 -0
  259. package/dist/ops/webgl/scatterSub.d.ts +1 -0
  260. package/dist/ops/webgl/scatterSub.js +28 -0
  261. package/dist/ops/webgpu/adamAdjust.d.ts +1 -0
  262. package/dist/ops/webgpu/adamAdjust.js +77 -0
  263. package/dist/ops/webgpu/adamMoments.d.ts +1 -0
  264. package/dist/ops/webgpu/adamMoments.js +76 -0
  265. package/dist/ops/webgpu/add16.d.ts +1 -0
  266. package/dist/ops/webgpu/add16.js +14 -0
  267. package/dist/ops/webgpu/appendCache.d.ts +1 -0
  268. package/dist/ops/webgpu/appendCache.js +130 -0
  269. package/dist/ops/webgpu/attentionMask.d.ts +1 -0
  270. package/dist/ops/webgpu/attentionMask.js +42 -0
  271. package/dist/ops/webgpu/attentionMask32_program.d.ts +19 -0
  272. package/dist/ops/webgpu/attentionMask32_program.js +62 -0
  273. package/dist/ops/webgpu/clipScale.d.ts +1 -0
  274. package/dist/ops/webgpu/clipScale.js +45 -0
  275. package/dist/ops/webgpu/concat16.d.ts +19 -0
  276. package/dist/ops/webgpu/concat16.js +111 -0
  277. package/dist/ops/webgpu/dropout16.d.ts +1 -0
  278. package/dist/ops/webgpu/dropout16.js +59 -0
  279. package/dist/ops/webgpu/gatherSub.d.ts +1 -0
  280. package/dist/ops/webgpu/gatherSub.js +52 -0
  281. package/dist/ops/webgpu/gelu.d.ts +14 -0
  282. package/dist/ops/webgpu/gelu.js +147 -0
  283. package/dist/ops/webgpu/index.d.ts +0 -0
  284. package/dist/ops/webgpu/index.js +26 -0
  285. package/dist/ops/webgpu/matMul16.d.ts +1 -0
  286. package/dist/ops/webgpu/matMul16.js +70 -0
  287. package/dist/ops/webgpu/matMul16_program.d.ts +42 -0
  288. package/dist/ops/webgpu/matMul16_program.js +303 -0
  289. package/dist/ops/webgpu/mul16.d.ts +1 -0
  290. package/dist/ops/webgpu/mul16.js +14 -0
  291. package/dist/ops/webgpu/norm2.d.ts +1 -0
  292. package/dist/ops/webgpu/norm2.js +46 -0
  293. package/dist/ops/webgpu/normRMS.d.ts +1 -0
  294. package/dist/ops/webgpu/normRMS.js +26 -0
  295. package/dist/ops/webgpu/normRMS16_program.d.ts +10 -0
  296. package/dist/ops/webgpu/normRMS16_program.js +28 -0
  297. package/dist/ops/webgpu/normRMS32_program.d.ts +10 -0
  298. package/dist/ops/webgpu/normRMS32_program.js +28 -0
  299. package/dist/ops/webgpu/normRMSGrad.d.ts +1 -0
  300. package/dist/ops/webgpu/normRMSGrad.js +225 -0
  301. package/dist/ops/webgpu/pack16.d.ts +1 -0
  302. package/dist/ops/webgpu/pack16.js +21 -0
  303. package/dist/ops/webgpu/pack16_program.d.ts +19 -0
  304. package/dist/ops/webgpu/pack16_program.js +93 -0
  305. package/dist/ops/webgpu/qkv.d.ts +1 -0
  306. package/dist/ops/webgpu/qkv.js +64 -0
  307. package/dist/ops/webgpu/rope.d.ts +1 -0
  308. package/dist/ops/webgpu/rope.js +163 -0
  309. package/dist/ops/webgpu/scatterSub.d.ts +1 -0
  310. package/dist/ops/webgpu/scatterSub.js +53 -0
  311. package/dist/ops/webgpu/slice16.d.ts +7 -0
  312. package/dist/ops/webgpu/slice16.js +74 -0
  313. package/dist/ops/webgpu/softmax16.d.ts +17 -0
  314. package/dist/ops/webgpu/softmax16.js +18 -0
  315. package/dist/ops/webgpu/softmax16_program.d.ts +13 -0
  316. package/dist/ops/webgpu/softmax16_program.js +89 -0
  317. package/dist/ops/webgpu/softmax16_subgroup_program.d.ts +17 -0
  318. package/dist/ops/webgpu/softmax16_subgroup_program.js +70 -0
  319. package/dist/ops/webgpu/softmax16grad.d.ts +1 -0
  320. package/dist/ops/webgpu/softmax16grad.js +31 -0
  321. package/dist/ops/webgpu/sub16.d.ts +1 -0
  322. package/dist/ops/webgpu/sub16.js +14 -0
  323. package/dist/ops/webgpu/sum16.d.ts +1 -0
  324. package/dist/ops/webgpu/sum16.js +29 -0
  325. package/dist/ops/webgpu/transpose16.d.ts +1 -0
  326. package/dist/ops/webgpu/transpose16.js +37 -0
  327. package/dist/ops/webgpu/transpose16_program.d.ts +16 -0
  328. package/dist/ops/webgpu/transpose16_program.js +51 -0
  329. package/dist/ops/webgpu/transpose16_shared_program.d.ts +15 -0
  330. package/dist/ops/webgpu/transpose16_shared_program.js +79 -0
  331. package/dist/ops/webgpu/unpack16.d.ts +1 -0
  332. package/dist/ops/webgpu/unpack16.js +60 -0
  333. package/dist/ops/webgpu/utils/binary_op.d.ts +35 -0
  334. package/dist/ops/webgpu/utils/binary_op.js +141 -0
  335. package/dist/ops/webgpu/utils/deviceInfo.d.ts +7 -0
  336. package/dist/ops/webgpu/utils/deviceInfo.js +11 -0
  337. package/dist/ops/webgpu/utils/reductions.d.ts +43 -0
  338. package/dist/ops/webgpu/utils/reductions.js +263 -0
  339. package/dist/pack16-Ck-spx_F.js +39 -0
  340. package/dist/patches/webgpu_backend.d.ts +18 -0
  341. package/dist/patches/webgpu_backend.js +43 -0
  342. package/dist/patches/webgpu_base.d.ts +21 -0
  343. package/dist/patches/webgpu_base.js +22 -0
  344. package/dist/patches/webgpu_program.d.ts +36 -0
  345. package/dist/patches/webgpu_program.js +293 -0
  346. package/dist/pdf-UoDqCYzz.js +16726 -0
  347. package/dist/picomatch-3tUnMMbd.js +1063 -0
  348. package/dist/rope-CbeGlsV8.js +25 -0
  349. package/dist/selu_util-zkAx5doH.js +24 -0
  350. package/dist/shared-D1coEFea.js +1314 -0
  351. package/dist/shared-DOgWaqvL.js +5 -0
  352. package/dist/slice_util-Dgb3ANWI.js +208 -0
  353. package/dist/tfjs_backend-BjuQ5FqB.js +614 -0
  354. package/dist/tokeniser/BaseTokeniser.d.ts +33 -0
  355. package/dist/tokeniser/BaseTokeniser.js +2 -0
  356. package/dist/tokeniser/CharTokeniser.d.ts +24 -0
  357. package/dist/tokeniser/CharTokeniser.js +92 -0
  358. package/dist/tokeniser/bpe.d.ts +28 -0
  359. package/dist/tokeniser/bpe.js +170 -0
  360. package/dist/tokeniser/messages.d.ts +61 -0
  361. package/dist/tokeniser/messages.js +0 -0
  362. package/dist/tokeniser/type.d.ts +34 -0
  363. package/dist/tokeniser/type.js +0 -0
  364. package/dist/training/AdamW.d.ts +36 -0
  365. package/dist/training/AdamW.js +128 -0
  366. package/dist/training/BasicTrainer.d.ts +63 -0
  367. package/dist/training/BasicTrainer.js +265 -0
  368. package/dist/training/DatasetBuilder.d.ts +26 -0
  369. package/dist/training/DatasetBuilder.js +2 -0
  370. package/dist/training/Evaluator.d.ts +19 -0
  371. package/dist/training/Evaluator.js +48 -0
  372. package/dist/training/LRScheduler.d.ts +12 -0
  373. package/dist/training/LRScheduler.js +38 -0
  374. package/dist/training/PreTrainer.d.ts +11 -0
  375. package/dist/training/PreTrainer.js +22 -0
  376. package/dist/training/SFTTrainer.d.ts +12 -0
  377. package/dist/training/SFTTrainer.js +24 -0
  378. package/dist/training/loss.d.ts +3 -0
  379. package/dist/training/loss.js +19 -0
  380. package/dist/training/orthoGrad.d.ts +2 -0
  381. package/dist/training/orthoGrad.js +10 -0
  382. package/dist/training/sparseCrossEntropy.d.ts +7 -0
  383. package/dist/training/sparseCrossEntropy.js +47 -0
  384. package/dist/training/tasks/ConversationTask.d.ts +18 -0
  385. package/dist/training/tasks/ConversationTask.js +38 -0
  386. package/dist/training/tasks/PretrainingTask.d.ts +17 -0
  387. package/dist/training/tasks/PretrainingTask.js +42 -0
  388. package/dist/training/tasks/StartSentenceTask.d.ts +18 -0
  389. package/dist/training/tasks/StartSentenceTask.js +45 -0
  390. package/dist/training/tasks/Task.d.ts +22 -0
  391. package/dist/training/tasks/Task.js +55 -0
  392. package/dist/training/tasks/splitter.d.ts +5 -0
  393. package/dist/training/tasks/splitter.js +18 -0
  394. package/dist/training/types.d.ts +78 -0
  395. package/dist/training/types.js +0 -0
  396. package/dist/training/validation.d.ts +17 -0
  397. package/dist/training/validation.js +2 -0
  398. package/dist/utilities/arrayClose.d.ts +1 -0
  399. package/dist/utilities/arrayClose.js +16 -0
  400. package/dist/utilities/datasetID.d.ts +2 -0
  401. package/dist/utilities/datasetID.js +18 -0
  402. package/dist/utilities/dummy.d.ts +9 -0
  403. package/dist/utilities/dummy.js +36 -0
  404. package/dist/utilities/multinomialCPU.d.ts +2 -0
  405. package/dist/utilities/multinomialCPU.js +9 -0
  406. package/dist/utilities/naming.d.ts +4 -0
  407. package/dist/utilities/naming.js +0 -0
  408. package/dist/utilities/packed.d.ts +4 -0
  409. package/dist/utilities/packed.js +13 -0
  410. package/dist/utilities/parameters.d.ts +11 -0
  411. package/dist/utilities/parameters.js +38 -0
  412. package/dist/utilities/performance.d.ts +2 -0
  413. package/dist/utilities/performance.js +16 -0
  414. package/dist/utilities/profile.d.ts +17 -0
  415. package/dist/utilities/profile.js +33 -0
  416. package/dist/utilities/safetensors.d.ts +3 -0
  417. package/dist/utilities/safetensors.js +53 -0
  418. package/dist/utilities/sentences.d.ts +5 -0
  419. package/dist/utilities/sentences.js +32 -0
  420. package/dist/utilities/tokenParse.d.ts +1 -0
  421. package/dist/utilities/tokenParse.js +17 -0
  422. package/dist/utilities/topP.d.ts +1 -0
  423. package/dist/utilities/topP.js +12 -0
  424. package/dist/utilities/waitForModel.d.ts +2 -0
  425. package/dist/utilities/waitForModel.js +12 -0
  426. package/dist/utilities/weights.d.ts +12 -0
  427. package/dist/utilities/weights.js +40 -0
  428. package/dist/utilities/yielder.d.ts +1 -0
  429. package/dist/utilities/yielder.js +7 -0
  430. package/dist/webgpu-Dt7BMzWz.js +525 -0
  431. package/dist/webgpu_program-WOyIVMlZ.js +392 -0
  432. package/dist/webgpu_util-B_F3SShA.js +106 -0
  433. package/package.json +1 -1
@@ -0,0 +1,1314 @@
1
+ import { r as e } from "./chunk-BPntVaq0.js";
2
+ import { $o as t, $s as n, Ao as r, Bs as i, Ci as a, Di as o, Dn as s, En as c, Es as l, Fa as u, Fo as d, Hs as f, In as p, Jo as m, Ka as h, Ln as g, Na as _, Ni as v, Pi as y, Ps as b, Ra as x, Rs as S, Ti as C, Tn as ee, Us as w, Vs as T, Xr as E, Xs as D, Ya as te, _o as ne, aa as re, bo as ie, br as ae, ca as oe, di as se, fs as ce, ho as le, hs as ue, ki as O, ms as de, na as fe, nc as pe, no as me, ns as he, oa as ge, oc as k, qa as _e, ro as ve, sr as ye, uc as A, wn as be, wo as j, za as M } from "./dist-BewPQWjc.js";
3
+ import { B as xe, H as Se, R as Ce, V as we, _ as Te, c as N, d as Ee, f as De, g as Oe, h as ke, l as Ae, m as je, n as Me, p as Ne, r as P, s as Pe, u as Fe, v as Ie, z as Le } from "./backend_util-Cg-roD1p.js";
4
+ import { a as Re, i as ze, n as Be, t as Ve } from "./slice_util-Dgb3ANWI.js";
5
+ import { s as F } from "./complex_util-CkazZsaH.js";
6
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js
7
+ function I(e, t) {
8
+ Array.isArray(e) || (e = [e]), e.forEach((e) => {
9
+ e != null && b(e.dtype !== "complex64", () => `${t} does not support complex64 tensors in the CPU backend.`);
10
+ });
11
+ }
12
+ //#endregion
13
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Abs.js
14
+ function He(e) {
15
+ let t = new Float32Array(e.length);
16
+ for (let n = 0; n < e.length; ++n) t[n] = Math.abs(e[n]);
17
+ return t;
18
+ }
19
+ var Ue = {
20
+ kernelName: "Abs",
21
+ backendName: "cpu",
22
+ kernelFunc: (e) => {
23
+ let { x: t } = e.inputs, n = e.backend;
24
+ I(t, "abs");
25
+ let r = new Float32Array(k(t.shape)), i = n.data.get(t.dataId).values;
26
+ return r = He(i), n.makeOutput(r, t.shape, t.dtype);
27
+ }
28
+ };
29
+ //#endregion
30
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js
31
+ function L(e) {
32
+ return (t, n, r, i, a) => {
33
+ let o = p(t, n), s = o.length, c = S(o), l = T(a, k(o)), u = t.length, d = n.length, f = S(t), m = S(n), h = g(t, o), _ = g(n, o);
34
+ if (h.length + _.length === 0) for (let t = 0; t < l.length; ++t) l[t] = e(r[t % r.length], i[t % i.length]);
35
+ else for (let t = 0; t < l.length; ++t) {
36
+ let n = w(t, s, c), a = n.slice(-u);
37
+ h.forEach((e) => a[e] = 0);
38
+ let o = D(a, u, f), p = n.slice(-d);
39
+ _.forEach((e) => p[e] = 0);
40
+ let g = D(p, d, m);
41
+ l[t] = e(r[o], i[g]);
42
+ }
43
+ return [l, o];
44
+ };
45
+ }
46
+ //#endregion
47
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Complex.js
48
+ function R(e) {
49
+ let { inputs: t, backend: n } = e, { real: r, imag: i } = t, a = n.data.get(r.dataId).values, o = n.data.get(i.dataId).values, s = n.makeTensorInfo(r.shape, "complex64"), c = n.data.get(s.dataId);
50
+ return c.complexTensorInfos = {
51
+ real: n.makeTensorInfo(r.shape, "float32", a),
52
+ imag: n.makeTensorInfo(i.shape, "float32", o)
53
+ }, s;
54
+ }
55
+ var We = {
56
+ kernelName: oe,
57
+ backendName: "cpu",
58
+ kernelFunc: R
59
+ };
60
+ //#endregion
61
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/zeros_impl.js
62
+ function z(e, t, r = "float32") {
63
+ if (r === "complex64") return R({
64
+ inputs: {
65
+ real: z(e, t, "float32"),
66
+ imag: z(e, t, "float32")
67
+ },
68
+ backend: e
69
+ });
70
+ let i = n(k(t), r);
71
+ return e.makeTensorInfo(t, r, i);
72
+ }
73
+ //#endregion
74
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Identity.js
75
+ function B(e) {
76
+ let { inputs: t, backend: n } = e, { x: r } = t;
77
+ return n.incRef(r.dataId), {
78
+ dataId: r.dataId,
79
+ shape: r.shape,
80
+ dtype: r.dtype
81
+ };
82
+ }
83
+ var Ge = {
84
+ kernelName: te,
85
+ backendName: "cpu",
86
+ kernelFunc: B
87
+ };
88
+ //#endregion
89
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Real.js
90
+ function V(e) {
91
+ let { inputs: t, backend: n } = e, { input: r } = t, i = n.data.get(r.dataId).complexTensorInfos.real, a = n.data.get(i.dataId).values;
92
+ return n.makeTensorInfo(i.shape, i.dtype, a);
93
+ }
94
+ var Ke = {
95
+ kernelName: d,
96
+ backendName: "cpu",
97
+ kernelFunc: V
98
+ };
99
+ //#endregion
100
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cast.js
101
+ function qe(e, t, n, r) {
102
+ if (r === "int32") return [
103
+ t,
104
+ "int32",
105
+ Int32Array.from(e)
106
+ ];
107
+ if (r === "bool") {
108
+ let r = v([0], n), [i, a] = L((e, t) => e === t ? 0 : 1)(t, [], e, r, "bool");
109
+ return [
110
+ a,
111
+ "bool",
112
+ i
113
+ ];
114
+ }
115
+ throw Error(`Error in Cast: failed to cast ${n} to ${r}`);
116
+ }
117
+ function H(e) {
118
+ let { inputs: t, backend: n, attrs: r } = e, { x: i } = t, { dtype: a } = r;
119
+ if (a === "complex64") {
120
+ if (i.dtype === "complex64") return B({
121
+ inputs: { x: i },
122
+ backend: n
123
+ });
124
+ let e = z(n, i.shape, i.dtype), t = H({
125
+ inputs: { x: i },
126
+ backend: n,
127
+ attrs: { dtype: "float32" }
128
+ }), r = R({
129
+ inputs: {
130
+ real: t,
131
+ imag: e
132
+ },
133
+ backend: n
134
+ });
135
+ return n.disposeIntermediateTensorInfo(e), n.disposeIntermediateTensorInfo(t), r;
136
+ }
137
+ if (i.dtype === "complex64") {
138
+ let e = V({
139
+ inputs: { input: i },
140
+ backend: n
141
+ }), t = H({
142
+ inputs: { x: e },
143
+ backend: n,
144
+ attrs: { dtype: a }
145
+ });
146
+ return n.disposeIntermediateTensorInfo(e), t;
147
+ }
148
+ if (!f(i.dtype, a)) {
149
+ let e = B({
150
+ inputs: { x: i },
151
+ backend: n
152
+ });
153
+ return {
154
+ dataId: e.dataId,
155
+ shape: e.shape,
156
+ dtype: a
157
+ };
158
+ }
159
+ let o = n.data.get(i.dataId).values, [s, c, l] = qe(o, i.shape, i.dtype, a);
160
+ return n.makeTensorInfo(s, c, l);
161
+ }
162
+ var Je = {
163
+ kernelName: re,
164
+ backendName: "cpu",
165
+ kernelFunc: H
166
+ };
167
+ //#endregion
168
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js
169
+ function U(e, t, n, r) {
170
+ return n == null ? ({ inputs: n, backend: i }) => {
171
+ let { a, b: o } = n, s = i;
172
+ I([a, o], e);
173
+ let c = s.data.get(a.dataId).values, l = s.data.get(o.dataId).values, u = a.dtype === "string" ? P(c) : c, d = a.dtype === "string" ? P(l) : l, f = r || a.dtype, [p, m] = t(a.shape, o.shape, u, d, f);
174
+ return s.makeTensorInfo(m, f, p);
175
+ } : ({ inputs: e, backend: i }) => {
176
+ let { a, b: o } = e, s = i;
177
+ if (a.dtype === "complex64" || o.dtype === "complex64") {
178
+ let e = H({
179
+ inputs: { x: a },
180
+ backend: s,
181
+ attrs: { dtype: "complex64" }
182
+ }), t = s.data.get(e.dataId), r = t.complexTensorInfos.real, i = t.complexTensorInfos.imag, c = s.data.get(r.dataId).values, l = s.data.get(i.dataId).values, u = H({
183
+ inputs: { x: o },
184
+ backend: s,
185
+ attrs: { dtype: "complex64" }
186
+ }), d = s.data.get(u.dataId), f = d.complexTensorInfos.real, p = d.complexTensorInfos.imag, m = s.data.get(f.dataId).values, h = s.data.get(p.dataId).values, [g, _, v] = n(a.shape, o.shape, c, l, m, h), y = s.makeTensorInfo(v, "float32", g), b = s.makeTensorInfo(v, "float32", _), x = R({
187
+ inputs: {
188
+ real: y,
189
+ imag: b
190
+ },
191
+ backend: s
192
+ });
193
+ return s.disposeIntermediateTensorInfo(e), s.disposeIntermediateTensorInfo(u), s.disposeIntermediateTensorInfo(y), s.disposeIntermediateTensorInfo(b), x;
194
+ } else {
195
+ let e = s.data.get(a.dataId).values, n = s.data.get(o.dataId).values, i = r || a.dtype, [c, l] = t(a.shape, o.shape, e, n, i);
196
+ return s.makeTensorInfo(l, i, c);
197
+ }
198
+ };
199
+ }
200
+ function W(e) {
201
+ return (t, n, r, i, a, o) => {
202
+ let s = p(t, n), c = k(s), l = s.length, u = S(s), d = T("float32", c), f = T("float32", c), m = g(t, s), h = g(n, s), _ = F(r, i), v = F(a, o), y = t.length, b = S(t), x = n.length, C = S(n);
203
+ if (m.length + h.length === 0) for (let t = 0; t < d.length; t++) {
204
+ let n = t % _.length, r = t % v.length, i = e(_[n * 2], _[n * 2 + 1], v[r * 2], v[r * 2 + 1]);
205
+ d[t] = i.real, f[t] = i.imag;
206
+ }
207
+ else for (let t = 0; t < d.length; t++) {
208
+ let n = w(t, l, u), r = n.slice(-y);
209
+ m.forEach((e) => r[e] = 0);
210
+ let i = D(r, y, b), a = n.slice(-x);
211
+ h.forEach((e) => a[e] = 0);
212
+ let o = D(a, x, C), s = e(_[i * 2], _[i * 2 + 1], v[o * 2], v[o * 2 + 1]);
213
+ d[t] = s.real, f[t] = s.imag;
214
+ }
215
+ return [
216
+ d,
217
+ f,
218
+ s
219
+ ];
220
+ };
221
+ }
222
+ //#endregion
223
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Add.js
224
+ var Ye = L(((e, t) => e + t)), Xe = U("Add", Ye, W(((e, t, n, r) => ({
225
+ real: e + n,
226
+ imag: t + r
227
+ })))), Ze = {
228
+ kernelName: "Add",
229
+ backendName: "cpu",
230
+ kernelFunc: Xe
231
+ };
232
+ //#endregion
233
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Bincount_impl.js
234
+ function Qe(e, t, r, i, a) {
235
+ let o = k(i), s = n(a, r);
236
+ for (let n = 0; n < e.length; n++) {
237
+ let r = e[n];
238
+ if (r < 0) throw Error("Input x must be non-negative!");
239
+ r >= a || (o > 0 ? s[r] += t[n] : s[r] += 1);
240
+ }
241
+ return s;
242
+ }
243
+ function $e(e, t, n, r = !1) {
244
+ let i = e.shape[0], a = e.shape[1], o = E([i, n], t.dtype);
245
+ for (let s = 0; s < i; s++) for (let i = 0; i < a; i++) {
246
+ let a = e.get(s, i);
247
+ if (a < 0) throw Error("Input x must be non-negative!");
248
+ a >= n || (r ? o.set(1, s, a) : t.size > 0 ? o.set(o.get(s, a) + t.get(s, i), s, a) : o.set(o.get(s, a) + 1, s, a));
249
+ }
250
+ return o;
251
+ }
252
+ //#endregion
253
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BitwiseAnd.js
254
+ var et = L(((e, t) => e & t)), tt = {
255
+ kernelName: fe,
256
+ backendName: "cpu",
257
+ kernelFunc: U(fe, et)
258
+ };
259
+ //#endregion
260
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_impl.js
261
+ function G(e) {
262
+ return (t, n, r) => {
263
+ let a = i(n, t.length);
264
+ for (let n = 0; n < t.length; ++n) a[n] = e(t[n], r);
265
+ return a;
266
+ };
267
+ }
268
+ //#endregion
269
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js
270
+ function K(e, t, n) {
271
+ return q(e, G(t), n);
272
+ }
273
+ function q(e, t, n) {
274
+ return ({ inputs: r, attrs: i, backend: a }) => {
275
+ let { x: o } = r;
276
+ I(o, e);
277
+ let s = a, c = s.data.get(o.dataId).values, l;
278
+ if (o.dtype === "string") {
279
+ if (!Array.isArray(c)) throw Error("String tensor's value was not an instance of Array");
280
+ l = P(c);
281
+ } else l = c;
282
+ let u = n || o.dtype, d = t(l, u, i);
283
+ return s.makeTensorInfo(o.shape, u, d);
284
+ };
285
+ }
286
+ //#endregion
287
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Ceil.js
288
+ var nt = G((e) => Math.ceil(e)), rt = {
289
+ kernelName: ge,
290
+ backendName: "cpu",
291
+ kernelFunc: q(ge, nt)
292
+ };
293
+ //#endregion
294
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Concat_impl.js
295
+ function it(e, t, n, r) {
296
+ let a = i(n, k(t));
297
+ if (r && n !== "string") {
298
+ let t = 0;
299
+ e.forEach((e) => {
300
+ let n = k(e.shape);
301
+ a.set(e.vals, t), t += n;
302
+ });
303
+ } else {
304
+ let r = 0;
305
+ e.forEach((e) => {
306
+ let i = n === "string" ? P(e.vals) : e.vals, o = 0;
307
+ for (let n = 0; n < e.shape[0]; ++n) {
308
+ let s = n * t[1] + r;
309
+ for (let t = 0; t < e.shape[1]; ++t) a[s + t] = i[o++];
310
+ }
311
+ r += e.shape[1];
312
+ });
313
+ }
314
+ return a;
315
+ }
316
+ //#endregion
317
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Equal.js
318
+ var at = L((e, t) => +(e === t)), ot = U(_, at, null, "bool"), st = {
319
+ kernelName: _,
320
+ backendName: "cpu",
321
+ kernelFunc: ot
322
+ }, ct = G((e) => Math.exp(e)), lt = q("Exp", ct, "float32"), ut = {
323
+ kernelName: "Exp",
324
+ backendName: "cpu",
325
+ kernelFunc: lt
326
+ }, dt = G((e) => Math.expm1(e)), ft = {
327
+ kernelName: u,
328
+ backendName: "cpu",
329
+ kernelFunc: q(u, dt)
330
+ }, pt = G((e) => Math.floor(e)), mt = {
331
+ kernelName: x,
332
+ backendName: "cpu",
333
+ kernelFunc: q(x, pt)
334
+ }, ht = L((e, t) => Math.floor(e / t)), gt = {
335
+ kernelName: M,
336
+ backendName: "cpu",
337
+ kernelFunc: U(M, ht, null, "int32")
338
+ };
339
+ //#endregion
340
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherNd_Impl.js
341
+ function _t(e, t, n, r, i, a, o, s, c) {
342
+ let l = E([r, a], n);
343
+ for (let n = 0; n < r; n++) {
344
+ let r = [], u = 0;
345
+ for (let t = 0; t < i; t++) {
346
+ let a = e[n * i + t];
347
+ u += a * o[t], r.push(a);
348
+ }
349
+ if (u < 0 || u >= c / a) throw Error(`Invalid indices: ${r} does not index into ${s}`);
350
+ for (let e = 0; e < a; e++) l.values[n * a + e] = t.get(...t.indexToLoc(u * a + e));
351
+ }
352
+ return l;
353
+ }
354
+ //#endregion
355
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherV2_impl.js
356
+ function vt(e, t, n) {
357
+ let r = E(n, e.dtype);
358
+ for (let n = 0; n < r.size; ++n) {
359
+ let i = r.indexToLoc(n).slice(), a = i[0], o = i[2], s = t.locToIndex([a, o]);
360
+ i[2] = t.values[s];
361
+ let c = e.locToIndex(i);
362
+ 0 <= c && c < e.values.length && (r.values[n] = e.values[c]);
363
+ }
364
+ return r;
365
+ }
366
+ //#endregion
367
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Greater.js
368
+ var yt = L((e, t) => +(e > t)), bt = {
369
+ kernelName: h,
370
+ backendName: "cpu",
371
+ kernelFunc: U(h, yt, null, "bool")
372
+ }, xt = L((e, t) => +(e >= t)), St = {
373
+ kernelName: _e,
374
+ backendName: "cpu",
375
+ kernelFunc: U(_e, xt, null, "bool")
376
+ }, Ct = L((e, t) => +(e < t)), wt = {
377
+ kernelName: me,
378
+ backendName: "cpu",
379
+ kernelFunc: U(me, Ct, null, "bool")
380
+ }, Tt = L((e, t) => +(e <= t)), Et = {
381
+ kernelName: ve,
382
+ backendName: "cpu",
383
+ kernelFunc: U(ve, Tt, null, "bool")
384
+ };
385
+ //#endregion
386
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LinSpace_impl.js
387
+ function Dt(e, t, r) {
388
+ let i = (t - e) / (r - 1), a = n(r, "float32");
389
+ a[0] = e;
390
+ for (let e = 1; e < a.length; e++) a[e] = a[e - 1] + i;
391
+ return a;
392
+ }
393
+ //#endregion
394
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Log.js
395
+ var Ot = G((e) => Math.log(e)), kt = {
396
+ kernelName: "Log",
397
+ backendName: "cpu",
398
+ kernelFunc: q("Log", Ot)
399
+ };
400
+ //#endregion
401
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Max_impl.js
402
+ function At(e, t, n, r) {
403
+ let i = T(r, k(n));
404
+ for (let n = 0; n < i.length; ++n) {
405
+ let r = n * t, a = e[r];
406
+ for (let n = 0; n < t; ++n) {
407
+ let t = e[r + n];
408
+ (Number.isNaN(t) || t > a) && (a = t);
409
+ }
410
+ i[n] = a;
411
+ }
412
+ return i;
413
+ }
414
+ //#endregion
415
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Maximum.js
416
+ var jt = L(((e, t) => Math.max(e, t))), Mt = {
417
+ kernelName: le,
418
+ backendName: "cpu",
419
+ kernelFunc: U(le, jt)
420
+ }, Nt = L(((e, t) => Math.min(e, t))), Pt = {
421
+ kernelName: ne,
422
+ backendName: "cpu",
423
+ kernelFunc: U(ne, Nt)
424
+ }, J = L(((e, t) => e * t)), Ft = U(ie, J, W(((e, t, n, r) => ({
425
+ real: e * n - t * r,
426
+ imag: e * r + t * n
427
+ })))), It = {
428
+ kernelName: ie,
429
+ backendName: "cpu",
430
+ kernelFunc: Ft
431
+ };
432
+ //#endregion
433
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Neg.js
434
+ function Lt(e, t, n) {
435
+ return J([], t, o(-1, n), e, n);
436
+ }
437
+ function Rt(e) {
438
+ let { inputs: t, backend: n } = e, { x: r } = t;
439
+ I(r, "neg");
440
+ let i = n.data.get(r.dataId).values, [a, o] = Lt(i, r.shape, r.dtype);
441
+ return n.makeTensorInfo(o, r.dtype, a);
442
+ }
443
+ var zt = {
444
+ kernelName: "Neg",
445
+ backendName: "cpu",
446
+ kernelFunc: Rt
447
+ }, Bt = L(((e, t) => e === t ? 0 : 1)), Vt = {
448
+ kernelName: j,
449
+ backendName: "cpu",
450
+ kernelFunc: U(j, Bt, null, "bool")
451
+ };
452
+ //#endregion
453
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose_impl.js
454
+ function Y(e, t, n, r, i) {
455
+ let a = t.length, o = k(t), s = S(t), c = S(i), l = T(n, k(i));
456
+ for (let t = 0; t < o; ++t) {
457
+ let n = w(t, a, s), i = Array(n.length);
458
+ for (let e = 0; e < i.length; e++) i[e] = n[r[e]];
459
+ let o = D(i, a, c);
460
+ l[o] = e[t];
461
+ }
462
+ return l;
463
+ }
464
+ //#endregion
465
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose.js
466
+ function X(e) {
467
+ let { inputs: t, attrs: n, backend: r } = e, { x: i } = t, { perm: a } = n;
468
+ I(i, "transpose");
469
+ let o = i.shape.length, s = Array(o);
470
+ for (let e = 0; e < s.length; e++) s[e] = i.shape[a[e]];
471
+ let c = r.data.get(i.dataId).values, l = Y(c, i.shape, i.dtype, a, s);
472
+ return {
473
+ dataId: r.write(l, s, i.dtype),
474
+ shape: s,
475
+ dtype: i.dtype
476
+ };
477
+ }
478
+ var Ht = {
479
+ kernelName: l,
480
+ backendName: "cpu",
481
+ kernelFunc: X
482
+ };
483
+ //#endregion
484
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Prod.js
485
+ function Ut(e, t, r, i) {
486
+ let [o, s] = be(e, i), c = a(t, "int32"), l = n(k(o), c), u = k(s);
487
+ for (let e = 0; e < l.length; ++e) {
488
+ let t = e * u, n = 1;
489
+ for (let e = 0; e < u; ++e) n *= r[t + e];
490
+ l[e] = n;
491
+ }
492
+ return {
493
+ outVals: l,
494
+ outShape: o,
495
+ outDtype: c
496
+ };
497
+ }
498
+ function Wt(e) {
499
+ let { inputs: t, backend: n, attrs: r } = e, { x: i } = t, { axis: a, keepDims: o } = r;
500
+ I(i, "prod");
501
+ let l = i.shape.length, u = pe(a, i.shape), d = c(u, l), f = u, p = i, m = [];
502
+ d != null && (p = X({
503
+ inputs: { x: i },
504
+ backend: n,
505
+ attrs: { perm: d }
506
+ }), m.push(p), f = s(f.length, l));
507
+ let h = n.data.get(p.dataId).values, { outVals: g, outShape: _, outDtype: v } = Ut(p.shape, p.dtype, h, f), y = _;
508
+ return o && (y = ee(_, u)), m.forEach((e) => n.disposeIntermediateTensorInfo(e)), n.makeTensorInfo(y, v, g);
509
+ }
510
+ var Gt = {
511
+ kernelName: r,
512
+ backendName: "cpu",
513
+ kernelFunc: Wt
514
+ };
515
+ //#endregion
516
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RaggedGather_impl.js
517
+ function Kt(e, t, n) {
518
+ e.forEach((e, r) => {
519
+ if (e < 0 || e >= n) {
520
+ let i = w(r, t.length, S(t)).join(",");
521
+ throw Error(`indices[${i}] = ${e} is not in [0, ${n})`);
522
+ }
523
+ });
524
+ }
525
+ function qt(e, t) {
526
+ for (let n = 0; n < e.length; ++n) {
527
+ let r = e[n], i = n === e.length - 1 ? t : e[n + 1].length;
528
+ if (r.length === 0) throw Error("Ragged splits may not be empty");
529
+ if (r[0] < 0) throw Error("Ragged splits must be non-negative");
530
+ if (r[r.length - 1] > i) throw Error("Ragged splits must not point past values");
531
+ for (let e = 1; e < r.length; ++e) if (r[e - 1] > r[e]) throw Error("Ragged splits must be sorted in ascending order");
532
+ }
533
+ }
534
+ function Jt(e, t, n, r) {
535
+ let i = [], a = 0, o = t.length - 1 + n.length, s = Array(o).fill(null).map(() => [0]);
536
+ qt(n, r);
537
+ let c = 1;
538
+ for (let e = 0; e < t.length - 1; ++e) {
539
+ c *= t[e];
540
+ let n = t[e + 1];
541
+ for (let t = 1; t < c + 1; ++t) s[e].push(t * n);
542
+ }
543
+ for (let r = 0; r < e.length; ++r) {
544
+ let o = e[r], c = e[r] + 1;
545
+ for (let e = 0; e < n.length; ++e) {
546
+ let r = n[e], i = e + t.length - 1;
547
+ if (i >= 0) {
548
+ let e = s[i], t = e[e.length - 1] - r[o];
549
+ for (let e = o; e < c; ++e) s[i].push(r[e + 1] + t);
550
+ }
551
+ o = r[o], c = r[c];
552
+ }
553
+ c !== o && (i.push([o, c]), a += c - o);
554
+ }
555
+ return {
556
+ outSplits: s,
557
+ valueSlices: i,
558
+ numValues: a
559
+ };
560
+ }
561
+ function Yt(e) {
562
+ let t = [];
563
+ for (let n = 0; n < e.length; ++n) {
564
+ let r = e[n].length, a = i("int32", r);
565
+ t.push(a), e[n].forEach((e, t) => a[t] = e);
566
+ }
567
+ return t;
568
+ }
569
+ function Xt(e, t) {
570
+ let n = e.slice(0, t);
571
+ for (; n.length < t;) n.push(1);
572
+ for (let r = t; r < e.length; r++) n[t - 1] *= e[r];
573
+ return n;
574
+ }
575
+ function Zt(e, t, n, r, i, a) {
576
+ let o = Xt(t, 2)[1], s = Xt(a, 2)[1], c = 0;
577
+ for (let t of n) for (let n = t[0]; n < t[1]; ++n) {
578
+ for (let t = 0; t < r; ++t) i[c * s + t] = e[n * o + t];
579
+ ++c;
580
+ }
581
+ }
582
+ function Qt(e, t, n, r, a) {
583
+ let o = t.slice();
584
+ o[0] = a;
585
+ let s = i(n, k(o)), c = e.length;
586
+ return Zt(e, t, r, c === 0 ? 0 : c / t[0], s, o), [s, o];
587
+ }
588
+ function $t(e, t, n, r, i, a, o, s) {
589
+ if (e.length === 0) throw Error("paramsNestedSplits must be non empty");
590
+ if (t[0].length === 0) throw Error("Split tensors must not be scalars");
591
+ if (Kt(a, o, t[0][0] - 1), r.length === 0) throw Error("params.rank must be nonzero");
592
+ let c = r[0], { outSplits: l, valueSlices: u, numValues: d } = Jt(a, o, e, c), f = Yt(l), p = Qt(n, r, i, u, d);
593
+ return [
594
+ f,
595
+ p[0],
596
+ p[1]
597
+ ];
598
+ }
599
+ //#endregion
600
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RaggedRange_impl.js
601
+ var en = 2147483647;
602
+ function tn(e, t, n, r, a, o, s) {
603
+ if (t.length > 1) throw Error("starts must be a scalar or vector");
604
+ if (a.length > 1) throw Error("limits must be a scalar or vector");
605
+ if (s.length > 1) throw Error("deltas must be a scalar or vector");
606
+ let c = t.length === 0, l = a.length === 0, u = s.length === 0, d = [];
607
+ c || d.push(t[0]), l || d.push(a[0]), u || d.push(s[0]);
608
+ for (let e = 1; e < d.length; ++e) if (d[e] !== d[e - 1]) throw Error("starts, limits, and deltas must have the same shape");
609
+ let f = d.length === 0 ? 1 : d[0], p = i("int32", f + 1);
610
+ p[0] = 0;
611
+ for (let t = 0; t < f; ++t) {
612
+ let n = c ? e[0] : e[t], i = l ? r[0] : r[t], a = u ? o[0] : o[t];
613
+ if (a === 0) throw Error("Requires delta != 0");
614
+ let s;
615
+ if (a > 0 && i < n || a < 0 && i > n) s = 0;
616
+ else if (s = Math.ceil(Math.abs((i - n) / a)), s > en) throw Error(`Requires ((limit - start) / delta) <= ${en}`);
617
+ p[t + 1] = p[t] + s;
618
+ }
619
+ let m = p[f], h = i(n, m), g = 0;
620
+ for (let t = 0; t < f; ++t) {
621
+ let n = p[t + 1] - p[t], r = c ? e[0] : e[t], i = u ? o[0] : o[t];
622
+ for (let e = 0; e < n; ++e) h[g++] = r, r += i;
623
+ }
624
+ return [p, h];
625
+ }
626
+ //#endregion
627
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RaggedTensorToTensor_impl.js
628
+ var Z = Ce, nn = class e {
629
+ constructor(e, t, n, r, i, a, o, s, c, l) {
630
+ this.shape = e, this.shapeShape = t, this.values = n, this.valuesShape = r, this.valuesDType = i, this.defaultValue = a, this.defaultValueShape = o, this.rowPartitionValues = s, this.rowPartitionValuesShapes = c, this.rowPartitionTypes = we(l), this.raggedRank = xe(this.rowPartitionTypes);
631
+ }
632
+ getRowPartitionTypeByDimension(e) {
633
+ return this.rowPartitionTypes[0] === Z.FIRST_DIM_SIZE ? this.rowPartitionTypes[e + 1] : this.rowPartitionTypes[e];
634
+ }
635
+ getRowPartitionTensor(e) {
636
+ return this.rowPartitionTypes[0] === Z.FIRST_DIM_SIZE ? this.rowPartitionValues[e + 1] : this.rowPartitionValues[e];
637
+ }
638
+ getMaxWidth(t) {
639
+ let n = this.getRowPartitionTensor(t - 1);
640
+ switch (this.getRowPartitionTypeByDimension(t - 1)) {
641
+ case Z.VALUE_ROWIDS: return e.getMaxWidthValueRowID(n);
642
+ case Z.ROW_SPLITS: return e.getMaxWidthRowSplit(n);
643
+ default: throw Error(`Cannot handle partition type ${Z[this.getRowPartitionTypeByDimension(t - 1)]}`);
644
+ }
645
+ }
646
+ static getMaxWidthRowSplit(e) {
647
+ let t = e.length;
648
+ if (t === 0 || t === 1) return 0;
649
+ let n = 0;
650
+ for (let r = 0; r < t - 1; ++r) {
651
+ let t = e[r + 1] - e[r];
652
+ t > n && (n = t);
653
+ }
654
+ return n;
655
+ }
656
+ static getMaxWidthValueRowID(e) {
657
+ let t = e.length;
658
+ if (t === 0) return 0;
659
+ let n = 0, r = e[0], i = 0;
660
+ for (let a = 1; a < t; ++a) {
661
+ let t = e[a];
662
+ t !== r && (r = t, i = Math.max(a - n, i), n = a);
663
+ }
664
+ return Math.max(t - n, i);
665
+ }
666
+ tensorShapeFromTensor(e, t, n = !0) {
667
+ if (t.length === 0) {
668
+ if (e[0] === -1) return [];
669
+ throw Error("The only valid scalar shape tensor is the fully unknown shape specified as -1.");
670
+ }
671
+ return an(e, n);
672
+ }
673
+ calculateOutputSize(e) {
674
+ let t = this.valuesShape, n = this.defaultValueShape;
675
+ Se(n, t);
676
+ let r = this.tensorShapeFromTensor(this.shape, this.shapeShape), i = Le(this.raggedRank, r, t);
677
+ i[0] < 0 && (i[0] = e);
678
+ for (let e = 1; e <= this.raggedRank; ++e) i[e] < 0 && (i[e] = this.getMaxWidth(e));
679
+ return i;
680
+ }
681
+ calculateFirstParentOutputIndex(e, t, n) {
682
+ let r = Math.min(e, n), i = [], a = 0;
683
+ for (let e = 0; e < r; ++e, a += t) i.push(a);
684
+ for (let t = r; t < e; ++t) i.push(-1);
685
+ return b(i.length === e, () => "Final length of result must be equal to firstDimension."), i;
686
+ }
687
+ calculateOutputIndexRowSplit(e, t, n, r) {
688
+ let i = e.length, a = [];
689
+ for (let o = 0; o < i - 1; ++o) {
690
+ let i = e[o + 1] - e[o], s = Math.min(r, i), c = t[o];
691
+ c === -1 && (s = 0);
692
+ for (let e = 0; e < s; ++e) a.push(c), c += n;
693
+ for (let e = 0; e < i - s; ++e) a.push(-1);
694
+ }
695
+ if (i > 0 && a.length !== e[i - 1]) throw Error("Invalid row split size.");
696
+ return a;
697
+ }
698
+ calculateOutputIndexValueRowID(e, t, n, r) {
699
+ let i = e.length, a = [];
700
+ if (i === 0) return [];
701
+ let o = 0, s = e[0];
702
+ if (s >= t.length) throw Error(`Got currentValueRowId=${s}, which is not less than ${t.length}`);
703
+ let c = t[s];
704
+ a.push(c);
705
+ for (let l = 1; l < i; ++l) {
706
+ let i = e[l];
707
+ if (i === s) c >= 0 && (++o, o < r ? c += n : c = -1);
708
+ else {
709
+ if (o = 0, s = i, i >= t.length) throw Error(`Got nextValueRowId=${i} which is not less than ${t.length}`);
710
+ c = t[i];
711
+ }
712
+ a.push(c);
713
+ }
714
+ if (a.length !== e.length) throw Error("Invalid row ids.");
715
+ return a;
716
+ }
717
+ calculateOutputIndex(e, t, n, r) {
718
+ let i = this.getRowPartitionTensor(e), a = this.getRowPartitionTypeByDimension(e);
719
+ switch (a) {
720
+ case Z.VALUE_ROWIDS: return this.calculateOutputIndexValueRowID(i, t, n, r);
721
+ case Z.ROW_SPLITS:
722
+ if (i.length - 1 > t.length) throw Error(`Row partition size is greater than output size: ${i.length - 1} > ${t.length}`);
723
+ return this.calculateOutputIndexRowSplit(i, t, n, r);
724
+ default: throw Error(`Unsupported partition type: ${Z[a]}`);
725
+ }
726
+ }
727
+ getFirstDimensionSize() {
728
+ let e = this.rowPartitionValues[0];
729
+ if (this.rowPartitionTypes.length === 0) throw Error("No row_partition_types given.");
730
+ let t = this.rowPartitionTypes[0];
731
+ switch (t) {
732
+ case Z.FIRST_DIM_SIZE: return e[0];
733
+ case Z.VALUE_ROWIDS: throw Error("Cannot handle VALUE_ROWIDS in first dimension.");
734
+ case Z.ROW_SPLITS: return this.rowPartitionValuesShapes[0][0] - 1;
735
+ default: throw Error(`Cannot handle type ${Z[t]}`);
736
+ }
737
+ }
738
+ compute() {
739
+ if (this.rowPartitionValues[0].length <= 0) throw Error("Invalid first partition input. Tensor requires at least one element.");
740
+ let e = this.getFirstDimensionSize(), t = this.calculateOutputSize(e), n = Array(this.raggedRank + 1);
741
+ n[n.length - 1] = 1;
742
+ for (let e = n.length - 2; e >= 0; --e) n[e] = n[e + 1] * t[e + 1];
743
+ let r = an(t, !1), a = i(this.valuesDType, k(r));
744
+ if (n[0] * t[0] > 0) {
745
+ let i = this.calculateFirstParentOutputIndex(e, n[0], t[0]);
746
+ for (let e = 1; e <= this.raggedRank; ++e) i = this.calculateOutputIndex(e - 1, i, n[e], t[e]);
747
+ this.setOutput(this.raggedRank, i, a, r);
748
+ }
749
+ return [r, a];
750
+ }
751
+ setOutput(e, t, n, r) {
752
+ if (n.length === 0) return;
753
+ let i = this.values, a = n, o = r.slice();
754
+ o = o.slice(e + 1);
755
+ let s = k(o), c = t.length, l = this.defaultValue;
756
+ if (l.length !== s && l.length !== 1) {
757
+ let e = this.defaultValueShape;
758
+ se(() => {
759
+ l = ye(ae(l, e), o).dataSync();
760
+ });
761
+ }
762
+ let u = 0, d = 0, f = 0;
763
+ for (let e = 0; e <= c; ++e) {
764
+ let r = e < c ? t[e] : -1;
765
+ if (r === f) {
766
+ ++f;
767
+ continue;
768
+ }
769
+ if (d < f) {
770
+ let e = i.subarray(u * s);
771
+ rn(a.subarray(d * s), e, (f - d) * s);
772
+ }
773
+ if (e >= c) {
774
+ let e = n.length;
775
+ r = Math.floor(e / s);
776
+ }
777
+ if (r > f) if (this.defaultValue.length === 1) a.subarray(f * s, r * s).fill(this.defaultValue[0]), f = r;
778
+ else for (; r > f;) rn(a.slice(f * s), l, s), ++f;
779
+ r < 0 ? (u = e + 1, d = f) : (u = e, d = f, f = d + 1);
780
+ }
781
+ }
782
+ };
783
+ function rn(e, t, n) {
784
+ for (let r = 0; r < n; r++) e[r] = t[r];
785
+ }
786
+ function an(e, t) {
787
+ let n = [];
788
+ for (let r of e) {
789
+ if (r < 0) {
790
+ if (!t) throw Error(`Dimension ${r} must be >= 0`);
791
+ if (r < -1) throw Error(`Dimension ${r} must be >= -1`);
792
+ r = -1;
793
+ }
794
+ n.push(r);
795
+ }
796
+ return n;
797
+ }
798
+ function on(e, t, n, r, i, a, o, s, c, l) {
799
+ return new nn(e, t, n, r, i, a, o, s, c, l).compute();
800
+ }
801
+ //#endregion
802
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Range_impl.js
803
+ function sn(e, t, r, i) {
804
+ if (e === t || e < t && r < 0 || t < e && r > 1) return n(0, i);
805
+ let a = n(Math.abs(Math.ceil((t - e) / r)), i);
806
+ t < e && r === 1 && (r = -1), a[0] = e;
807
+ for (let e = 1; e < a.length; e++) a[e] = a[e - 1] + r;
808
+ return a;
809
+ }
810
+ //#endregion
811
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Rsqrt.js
812
+ var cn = G((e) => 1 / Math.sqrt(e)), ln = {
813
+ kernelName: m,
814
+ backendName: "cpu",
815
+ kernelFunc: q(m, cn)
816
+ };
817
+ //#endregion
818
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Scatter_impl.js
819
+ function un(e, t, n, r, i, a, o, s, c, l) {
820
+ let u = [r / i, i], d = e.values, f = t.values;
821
+ if (r === 0) return E(n, t.dtype);
822
+ let p = c instanceof C ? c : E(u, t.dtype);
823
+ typeof c == "string" || typeof c == "number" ? p.values.fill(c) : typeof c == "boolean" && p.values.fill(+c);
824
+ for (let e = 0; e < a; e++) {
825
+ let a = [], c = 0;
826
+ for (let t = 0; t < o; t++) {
827
+ let n = d[e * o + t];
828
+ a.push(n), c += n * s[t];
829
+ }
830
+ if (c < 0 || c >= r / i) throw Error(`Invalid indices: ${a} does not index into ${n}`);
831
+ for (let n = 0; n < i; n++) l ? p.values[c * i + n] += f[e * i + n] : p.values[c * i + n] = t.rank === 0 ? f[0] : f[e * i + n];
832
+ }
833
+ return p;
834
+ }
835
+ //#endregion
836
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sigmoid.js
837
+ var dn = G((e) => 1 / (1 + Math.exp(-e))), fn = K(t, (e) => 1 / (1 + Math.exp(-e))), pn = {
838
+ kernelName: t,
839
+ backendName: "cpu",
840
+ kernelFunc: fn
841
+ };
842
+ //#endregion
843
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Slice.js
844
+ function mn(e, t, n, r, i) {
845
+ let a = ze(r, t, n), o = k(n), s = S(r);
846
+ if (a) {
847
+ let n = Be(t, s);
848
+ return i === "string" ? e.slice(n, n + o) : e.subarray(n, n + o);
849
+ }
850
+ let c = E(r, i, i === "string" ? P(e) : e), l = E(n, i);
851
+ for (let e = 0; e < l.size; ++e) {
852
+ let n = l.indexToLoc(e), r = n.map((e, n) => e + t[n]);
853
+ l.set(c.get(...r), ...n);
854
+ }
855
+ return i === "string" ? Me(l.values) : l.values;
856
+ }
857
+ function hn(e) {
858
+ let { inputs: t, backend: n, attrs: r } = e, { x: i } = t, { begin: a, size: o } = r;
859
+ I(i, "slice");
860
+ let [s, c] = Re(i, a, o);
861
+ Ve(i, s, c);
862
+ let l = n.data.get(i.dataId).values, u = mn(l, s, c, i.shape, i.dtype);
863
+ return n.makeTensorInfo(c, i.dtype, u);
864
+ }
865
+ var gn = {
866
+ kernelName: he,
867
+ backendName: "cpu",
868
+ kernelFunc: hn
869
+ };
870
+ //#endregion
871
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseFillEmptyRows_impl.js
872
+ function _n(e, t, n, r, a, o, s) {
873
+ let c = t[0], l = o[0], u = Array(l), d = Array(c), f = t[1];
874
+ if (l === 0) {
875
+ if (c !== 0) throw Error(Oe(c));
876
+ let e = i(n, 0), t = i(a, 0);
877
+ return [
878
+ e,
879
+ [0, f],
880
+ t,
881
+ u,
882
+ d
883
+ ];
884
+ }
885
+ let p = !0, m = 0, h = Array(l).fill(0);
886
+ for (let t = 0; t < c; ++t) {
887
+ let n = e[t * f];
888
+ if (n < 0) throw Error(Te(t, n));
889
+ if (n >= l) throw Error(Ie(t, n, l));
890
+ ++h[n], p &&= n >= m, m = n;
891
+ }
892
+ let g = !0;
893
+ for (let e = 0; e < l; ++e) {
894
+ let t = h[e] === 0;
895
+ u[e] = t, g &&= !t, h[e] = Math.max(h[e], 1), e > 0 && (h[e] += h[e - 1]);
896
+ }
897
+ if (g && p) {
898
+ let t = e, n = r;
899
+ for (let e = 0; e < c; ++e) d[e] = e;
900
+ return [
901
+ t,
902
+ [c, f],
903
+ n,
904
+ u,
905
+ d
906
+ ];
907
+ } else {
908
+ let t = h[l - 1], o = i(n, t * f), p = i(a, t), m = Array(l).fill(0);
909
+ for (let t = 0; t < c; ++t) {
910
+ let n = e[t * f], i = m[n], a = (n === 0 ? 0 : h[n - 1]) + i;
911
+ m[n]++;
912
+ for (let n = 0; n < f; ++n) o[a * f + n] = e[t * f + n];
913
+ p[a] = r[t], d[t] = a;
914
+ }
915
+ for (let e = 0; e < l; ++e) if (m[e] === 0) {
916
+ let t = e === 0 ? 0 : h[e - 1];
917
+ o[t * f + 0] = e;
918
+ for (let e = 1; e < f; ++e) o[t * f + e] = 0;
919
+ p[t] = s;
920
+ }
921
+ return [
922
+ o,
923
+ [t, f],
924
+ p,
925
+ u,
926
+ d
927
+ ];
928
+ }
929
+ }
930
+ //#endregion
931
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseReshape_impl.js
932
+ function vn(e, t, n, r, a) {
933
+ let o = k(r), s = t[0], c = a.length, l = [], u = 1, d = -1;
934
+ for (let e = 0; e < c; ++e) {
935
+ let t = a[e];
936
+ if (t === -1) {
937
+ if (d !== -1) throw Error(je(d, e));
938
+ d = e, l.push(1);
939
+ } else {
940
+ if (t < 0) throw Error(ke(e, t));
941
+ u *= t, l.push(t);
942
+ }
943
+ }
944
+ if (d !== -1) {
945
+ if (u <= 0) throw Error(Ee());
946
+ let e = Math.trunc(o / u);
947
+ if (u * e !== o) throw Error(Ne(r, l));
948
+ l[d] = e;
949
+ }
950
+ if (k(l) !== o) throw Error(De(r, l));
951
+ let f = r.length, p = [];
952
+ if (f > 0) {
953
+ p[f - 1] = 1;
954
+ for (let e = f - 2; e >= 0; --e) p[e] = p[e + 1] * r[e + 1];
955
+ }
956
+ let m = [];
957
+ if (c > 0) {
958
+ m[c - 1] = 1;
959
+ for (let e = c - 2; e >= 0; --e) m[e] = m[e + 1] * l[e + 1];
960
+ }
961
+ let h = i(n, s * c);
962
+ for (let t = 0; t < s; ++t) {
963
+ let n = 0;
964
+ for (let r = 0; r < f; ++r) n += e[t * f + r] * p[r];
965
+ for (let e = 0; e < c; ++e) h[t * c + e] = Math.trunc(n / m[e]), n %= m[e];
966
+ }
967
+ return [
968
+ h,
969
+ [s, c],
970
+ l
971
+ ];
972
+ }
973
+ //#endregion
974
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseSegmentReduction_impl.js
975
+ function yn(e, t, n, r, a, o = !1, s = 0) {
976
+ let c = r.length, l = [t[0], e.length / t[0]], u = l[1], d = c > 0 ? a[c - 1] + 1 : 0;
977
+ if (d < 0) throw Error(N());
978
+ let f = t.slice();
979
+ f[0] = d;
980
+ let p = i(n, f.reduce((e, t) => e * t, 1));
981
+ if (c === 0) return d > 0 && p.fill(s), [p, f];
982
+ if (d <= 0) throw Error(N());
983
+ let m = 0, h = 1, g = 0, _ = a[m];
984
+ for (;;) {
985
+ let t = 0;
986
+ if (h < c) {
987
+ if (t = a[h], _ === t) {
988
+ ++h;
989
+ continue;
990
+ }
991
+ if (_ >= t) throw Error(Ae());
992
+ }
993
+ if (_ < 0 || _ >= d) throw Error(Fe(_, d));
994
+ _ > g && p.fill(s, g * u, _ * u);
995
+ for (let t = m; t < h; ++t) {
996
+ let n = r[t];
997
+ if (n < 0 || n >= l[0]) throw Error(Pe(t, r[t], l[0]));
998
+ for (let t = 0; t < u; t++) p[_ * u + t] += e[n * u + t];
999
+ }
1000
+ if (o) for (let e = 0; e < u; e++) p[_ * u + e] /= h - m;
1001
+ if (m = h, ++h, g = _ + 1, _ = t, h > c) break;
1002
+ }
1003
+ return g < d && p.fill(s, g * u, d * u), [p, f];
1004
+ }
1005
+ //#endregion
1006
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sqrt.js
1007
+ var bn = G((e) => Math.sqrt(e)), xn = {
1008
+ kernelName: ce,
1009
+ backendName: "cpu",
1010
+ kernelFunc: K(ce, (e) => Math.sqrt(e))
1011
+ }, Sn = L(((e, t) => {
1012
+ let n = e - t;
1013
+ return n * n;
1014
+ })), Cn = {
1015
+ kernelName: de,
1016
+ backendName: "cpu",
1017
+ kernelFunc: U(de, Sn)
1018
+ }, wn = G((e, t) => {
1019
+ let { pattern: n, replaceGlobal: r, rewrite: i } = t;
1020
+ return e.replace(new RegExp(n, r ? "g" : ""), i);
1021
+ }), Tn = {
1022
+ kernelName: ue,
1023
+ backendName: "cpu",
1024
+ kernelFunc: q(ue, wn)
1025
+ };
1026
+ //#endregion
1027
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StridedSlice_impl.js
1028
+ function En(e, t, n, r) {
1029
+ let i = E(e, t.dtype);
1030
+ for (let e = 0; e < i.size; e++) {
1031
+ let a = i.indexToLoc(e), o = Array(a.length);
1032
+ for (let e = 0; e < o.length; e++) o[e] = a[e] * n[e] + r[e];
1033
+ i.set(t.get(...o), ...a);
1034
+ }
1035
+ return i;
1036
+ }
1037
+ //#endregion
1038
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StringNGrams_impl.js
1039
+ var Dn = class {
1040
+ constructor(e, t, n, r, i, a) {
1041
+ this.separator = O(e), this.nGramWidths = t, this.leftPad = O(n), this.rightPad = O(r), this.padWidth = i, this.preserveShort = a;
1042
+ }
1043
+ getPadWidth(e) {
1044
+ return Math.min(this.padWidth < 0 ? e - 1 : this.padWidth, e - 1);
1045
+ }
1046
+ getNumNGrams(e, t) {
1047
+ let n = this.getPadWidth(t);
1048
+ return Math.max(0, e + 2 * n - t + 1);
1049
+ }
1050
+ createNGrams(e, t, n, r, i, a) {
1051
+ for (let o = 0; o < i; ++o) {
1052
+ let s = this.getPadWidth(a), c = Math.max(0, s - o), l = Math.max(0, s - (i - (o + 1))), u = a - (c + l), d = t + (c > 0 ? 0 : o - s), f = 0;
1053
+ f += c * this.leftPad.length;
1054
+ for (let t = 0; t < u; ++t) f += e[d + t].length;
1055
+ f += l * this.rightPad.length;
1056
+ let p = c + l + u - 1;
1057
+ f += p * this.separator.length, n[r + o] = new Uint8Array(f);
1058
+ let m = n[r + o], h = 0, g = (e) => e.forEach((e) => m[h++] = e);
1059
+ for (let e = 0; e < c; ++e) g(this.leftPad), g(this.separator);
1060
+ for (let t = 0; t < u - 1; ++t) g(e[d + t]), g(this.separator);
1061
+ if (u > 0) {
1062
+ g(e[d + u - 1]);
1063
+ for (let e = 0; e < l; ++e) g(this.separator), g(this.rightPad);
1064
+ } else {
1065
+ for (let e = 0; e < l - 1; ++e) g(this.rightPad), g(this.separator);
1066
+ g(this.rightPad);
1067
+ }
1068
+ }
1069
+ }
1070
+ compute(e, t) {
1071
+ let n = e.length, r = t.length;
1072
+ if (r > 0) {
1073
+ let e = t[0];
1074
+ if (e !== 0) throw Error(`First split value must be 0, got ${e}`);
1075
+ for (let i = 1; i < r; ++i) {
1076
+ let r = t[i] >= e;
1077
+ if (r &&= t[i] <= n, !r) throw Error(`Invalid split value ${t[i]}, must be in [${e}, ${n}]`);
1078
+ e = t[i];
1079
+ }
1080
+ if (e !== n) throw Error(`Last split value must be data size. Expected ${n}, got ${e}`);
1081
+ }
1082
+ let a = r - 1, o = i("int32", r);
1083
+ if (n === 0 || r === 0) {
1084
+ let e = Array(n);
1085
+ for (let e = 0; e <= a; ++e) o[e] = 0;
1086
+ return [e, o];
1087
+ }
1088
+ o[0] = 0;
1089
+ for (let e = 1; e <= a; ++e) {
1090
+ let n = t[e] - t[e - 1], r = 0;
1091
+ this.nGramWidths.forEach((e) => {
1092
+ r += this.getNumNGrams(n, e);
1093
+ }), this.preserveShort && n > 0 && r === 0 && (r = 1), o[e] = o[e - 1] + r;
1094
+ }
1095
+ let s = Array(o[a]);
1096
+ for (let n = 0; n < a; ++n) {
1097
+ let r = t[n], i = o[n];
1098
+ if (this.nGramWidths.forEach((a) => {
1099
+ let o = t[n + 1] - t[n], c = this.getNumNGrams(o, a);
1100
+ this.createNGrams(e, r, s, i, c, a), i += c;
1101
+ }), this.preserveShort && i === o[n]) {
1102
+ let a = t[n + 1] - t[n];
1103
+ if (a === 0) continue;
1104
+ let o = a + 2 * this.padWidth;
1105
+ this.createNGrams(e, r, s, i, 1, o);
1106
+ }
1107
+ }
1108
+ return [s, o];
1109
+ }
1110
+ };
1111
+ function Q(e, t, n, r, i, a, o, s) {
1112
+ return new Dn(n, r, i, a, o, s).compute(e, t);
1113
+ }
1114
+ //#endregion
1115
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StringSplit_impl.js
1116
+ function On(e, t, n, r) {
1117
+ if (!e.length) return;
1118
+ if (t.length === 0) {
1119
+ for (let t = 0; t < e.length; ++t) r.push(e.subarray(t, t + 1));
1120
+ return;
1121
+ }
1122
+ if (t.length === 1) {
1123
+ let i = t[0], a = e.indexOf(i);
1124
+ for (; a !== -1;) {
1125
+ let t = e.subarray(0, a);
1126
+ (!n || t.length !== 0) && r.push(t), e = e.subarray(a + 1), a = e.indexOf(i);
1127
+ }
1128
+ (!n || e.length !== 0) && r.push(e);
1129
+ return;
1130
+ }
1131
+ let i = 0;
1132
+ for (let a = 0; a < e.length + 1; a++) if (a === e.length || t.indexOf(e[a]) !== -1) {
1133
+ let t = e.subarray(i, a);
1134
+ (!n || t.length !== 0) && r.push(t), i = a + 1;
1135
+ }
1136
+ }
1137
+ function kn(e, t, n) {
1138
+ let r = e.length, a = [], o = 0, s = 0, c = Array(r);
1139
+ for (let i = 0; i < r; ++i) {
1140
+ let r = a.length;
1141
+ On(e[i], t, n, a);
1142
+ let l = a.length - r;
1143
+ c[i] = l, o += l, s = Math.max(s, l);
1144
+ }
1145
+ let l = i("int32", o * 2), u = Array(o), d = [r, s], f = 0;
1146
+ for (let e = 0; e < r; ++e) for (let t = 0; t < c[e]; ++t) l[f * 2] = e, l[f * 2 + 1] = t, u[f] = a[f], ++f;
1147
+ return [
1148
+ l,
1149
+ u,
1150
+ d
1151
+ ];
1152
+ }
1153
+ //#endregion
1154
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StringToHashBucketFast_impl.js
1155
+ function An(e, t) {
1156
+ let n = i("int32", e.length);
1157
+ for (let r = 0; r < e.length; ++r) n[r] = y(e[r]).modulo(t).getLowBitsUnsigned();
1158
+ return n;
1159
+ }
1160
+ //#endregion
1161
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sub.js
1162
+ var jn = L(((e, t) => e - t)), Mn = U("Sub", jn, W(((e, t, n, r) => ({
1163
+ real: e - n,
1164
+ imag: t - r
1165
+ })))), Nn = {
1166
+ kernelName: "Sub",
1167
+ backendName: "cpu",
1168
+ kernelFunc: Mn
1169
+ };
1170
+ //#endregion
1171
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tile_impl.js
1172
+ function Pn(e, t) {
1173
+ let n = Array(e.rank);
1174
+ for (let r = 0; r < n.length; r++) n[r] = e.shape[r] * t[r];
1175
+ let r = E(n, e.dtype);
1176
+ for (let t = 0; t < r.values.length; ++t) {
1177
+ let n = r.indexToLoc(t), i = Array(e.rank);
1178
+ for (let t = 0; t < i.length; t++) i[t] = n[t] % e.shape[t];
1179
+ let a = e.locToIndex(i);
1180
+ r.values[t] = e.values[a];
1181
+ }
1182
+ return r;
1183
+ }
1184
+ //#endregion
1185
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/TopK_impl.js
1186
+ var $ = (e, t) => {
1187
+ let n = t.value - e.value;
1188
+ return n === 0 ? e.index - t.index : n;
1189
+ };
1190
+ function Fn(e, t, n = 0, r = e.length - 1) {
1191
+ for (; r > n;) {
1192
+ if (r - n > 600) {
1193
+ let i = r - n + 1, a = t - n + 1, o = Math.log(i), s = .5 * Math.exp(2 * o / 3), c = .5 * Math.sqrt(o * s * (i - s) / i) * Math.sign(a - i / 2);
1194
+ Fn(e, t, Math.max(n, Math.floor(t - a * s / i + c)), Math.min(r, Math.floor(t + (i - a) * s / i + c)));
1195
+ }
1196
+ let i = e[t], a = n, o = r;
1197
+ for (A(e, n, t), $(e[r], i) > 0 && A(e, n, r); a < o;) {
1198
+ for (A(e, a, o), a++, o--; $(e[a], i) < 0;) a += 1;
1199
+ for (; $(e[o], i) > 0;) --o;
1200
+ }
1201
+ $(e[n], i) === 0 ? A(e, n, o) : (o += 1, A(e, o, r)), o <= t && (n = o + 1), t <= o && (r = o - 1);
1202
+ }
1203
+ }
1204
+ function In(e, t, n, r, i) {
1205
+ let a = t[t.length - 1], [o, s] = [e.length / a, a], c = T(n, o * r), l = T("int32", o * r);
1206
+ for (let t = 0; t < o; t++) {
1207
+ let n = t * s, a = e.subarray(n, n + s), o = Array(a.length);
1208
+ a.forEach((e, t) => o[t] = {
1209
+ value: e,
1210
+ index: t
1211
+ }), r < o.length && (Fn(o, r), o = o.slice(0, r)), i && o.sort($);
1212
+ let u = t * r, d = c.subarray(u, u + r), f = l.subarray(u, u + r);
1213
+ for (let e = 0; e < r; e++) d[e] = o[e].value, f[e] = o[e].index;
1214
+ }
1215
+ let u = t.slice();
1216
+ return u[u.length - 1] = r, [E(u, n, c), E(u, "int32", l)];
1217
+ }
1218
+ //#endregion
1219
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Unique_impl.js
1220
+ function Ln(e, t, n, r) {
1221
+ let i = pe(t, n)[0], a = [
1222
+ 1,
1223
+ n[0],
1224
+ 1
1225
+ ];
1226
+ for (let e = 0; e < i; e++) a[0] *= n[e];
1227
+ a[1] = n[i];
1228
+ for (let e = i + 1; e < n.length; e++) a[2] *= n[e];
1229
+ let o = /* @__PURE__ */ new Map(), s = new Int32Array(n[i]), c = new C(a, r, e), l = [], u = a[0] === 1 && a[2] === 1;
1230
+ for (let t = 0; t < n[i]; t++) {
1231
+ let n;
1232
+ if (u) n = e[t].toString();
1233
+ else {
1234
+ let e = [];
1235
+ for (let n = 0; n < a[0]; n++) for (let r = 0; r < a[2]; r++) e.push(c.get(n, t, r));
1236
+ n = e.join(",");
1237
+ }
1238
+ let r = o.get(n);
1239
+ if (r != null) s[t] = r;
1240
+ else {
1241
+ let e = o.size;
1242
+ o.set(n, e), s[t] = e, l.push(t);
1243
+ }
1244
+ }
1245
+ let d = a.slice();
1246
+ d[1] = o.size;
1247
+ let f = new C(d, r);
1248
+ l.forEach((e, t) => {
1249
+ for (let n = 0; n < a[0]; n++) for (let r = 0; r < a[2]; r++) f.set(c.get(n, e, r), n, t, r);
1250
+ });
1251
+ let p = n.slice();
1252
+ return p[i] = d[1], {
1253
+ outputValues: f.values,
1254
+ outputShape: p,
1255
+ indices: s
1256
+ };
1257
+ }
1258
+ //#endregion
1259
+ //#region node_modules/@tensorflow/tfjs-backend-cpu/dist/shared.js
1260
+ var Rn = /* @__PURE__ */ e({
1261
+ addImpl: () => Ye,
1262
+ bincountImpl: () => Qe,
1263
+ bincountReduceImpl: () => $e,
1264
+ bitwiseAndImpl: () => et,
1265
+ castImpl: () => qe,
1266
+ ceilImpl: () => nt,
1267
+ concatImpl: () => it,
1268
+ equalImpl: () => at,
1269
+ expImpl: () => ct,
1270
+ expm1Impl: () => dt,
1271
+ floorDivImpl: () => ht,
1272
+ floorImpl: () => pt,
1273
+ gatherNdImpl: () => _t,
1274
+ gatherV2Impl: () => vt,
1275
+ greaterEqualImpl: () => xt,
1276
+ greaterImpl: () => yt,
1277
+ lessEqualImpl: () => Tt,
1278
+ lessImpl: () => Ct,
1279
+ linSpaceImpl: () => Dt,
1280
+ logImpl: () => Ot,
1281
+ maxImpl: () => At,
1282
+ maximumImpl: () => jt,
1283
+ minimumImpl: () => Nt,
1284
+ multiplyImpl: () => J,
1285
+ negImpl: () => Lt,
1286
+ notEqualImpl: () => Bt,
1287
+ prodImpl: () => Ut,
1288
+ raggedGatherImpl: () => $t,
1289
+ raggedRangeImpl: () => tn,
1290
+ raggedTensorToTensorImpl: () => on,
1291
+ rangeImpl: () => sn,
1292
+ rsqrtImpl: () => cn,
1293
+ scatterImpl: () => un,
1294
+ sigmoidImpl: () => dn,
1295
+ simpleAbsImpl: () => He,
1296
+ sliceImpl: () => mn,
1297
+ sparseFillEmptyRowsImpl: () => _n,
1298
+ sparseReshapeImpl: () => vn,
1299
+ sparseSegmentReductionImpl: () => yn,
1300
+ sqrtImpl: () => bn,
1301
+ squaredDifferenceImpl: () => Sn,
1302
+ staticRegexReplaceImpl: () => wn,
1303
+ stridedSliceImpl: () => En,
1304
+ stringNGramsImpl: () => Q,
1305
+ stringSplitImpl: () => kn,
1306
+ stringToHashBucketFastImpl: () => An,
1307
+ subImpl: () => jn,
1308
+ tileImpl: () => Pn,
1309
+ topKImpl: () => In,
1310
+ transposeImpl: () => Y,
1311
+ uniqueImpl: () => Ln
1312
+ });
1313
+ //#endregion
1314
+ export { it as $, Y as A, Et as B, sn as C, Gt as D, $t as E, Pt as F, _t as G, St as H, Mt as I, ft as J, gt as K, At as L, zt as M, Ft as N, X as O, It as P, st as Q, kt as R, ln as S, tn as T, bt as U, wt as V, vt as W, ut as X, lt as Y, ot as Z, hn as _, L as _t, Mn as a, Xe as at, pn as b, kn as c, H as ct, Tn as d, Ke as dt, rt as et, Cn as f, B as ft, _n as g, We as gt, vn as h, R as ht, Pn as i, $e as it, Vt as j, Ht as k, Q as l, Je as lt, yn as m, z as mt, Ln as n, tt as nt, Nn as o, Ze as ot, xn as p, Ge as pt, mt as q, In as r, Qe as rt, An as s, U as st, Rn as t, K as tt, En as u, V as ut, gn as v, Ue as vt, on as w, un as x, fn as y, I as yt, Dt as z };