@genai-fi/nanogpt 0.19.1 → 0.20.1

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 (347) hide show
  1. package/dist/BaseTokeniser-DSg9zcYq.js +221 -0
  2. package/dist/DatasetBuilder-DgURD85T.js +712 -0
  3. package/dist/Generator.js +2 -11941
  4. package/dist/RealDiv-DBu0FQqT.js +362 -0
  5. package/dist/Reshape-CABOPB9d.js +94 -0
  6. package/dist/Reshape-DqO3r8BC.js +17 -0
  7. package/dist/TeachableLLM.d.ts +5 -5
  8. package/dist/TeachableLLM.js +2 -273
  9. package/dist/Trainer.js +2 -244
  10. package/dist/backend.js +12 -12
  11. package/dist/backend_util-Cg-roD1p.js +399 -0
  12. package/dist/binary_op_util-CrYk9LXL.js +103 -0
  13. package/dist/checks/appendCache.js +54 -21
  14. package/dist/checks/attentionMask.js +55 -36
  15. package/dist/checks/check.js +31 -19
  16. package/dist/checks/gelu.js +45 -17
  17. package/dist/checks/index.js +25 -25
  18. package/dist/checks/matMulGelu.js +83 -27
  19. package/dist/checks/normRMS.js +27 -15
  20. package/dist/checks/normRMSGrad.js +21 -11
  21. package/dist/checks/packUnpack.js +45 -17
  22. package/dist/checks/qkv.js +33 -33
  23. package/dist/checks/rope.js +29 -35
  24. package/dist/checks/weights.d.ts +1 -1
  25. package/dist/checks/weights.js +25 -29
  26. package/dist/chunk-BPntVaq0.js +23 -0
  27. package/dist/complex_util-CkazZsaH.js +60 -0
  28. package/dist/concat_util-CWDZCBlA.js +19 -0
  29. package/dist/data/docx.js +3044 -13
  30. package/dist/data/pdf.js +16 -13
  31. package/dist/data/textLoader.js +607 -112
  32. package/dist/dist-BewPQWjc.js +7572 -0
  33. package/dist/dist-DVmq73nz.js +8775 -0
  34. package/dist/dist-DXwIvKxl.js +896 -0
  35. package/dist/dist-VEU5mfO0.js +7545 -0
  36. package/dist/gelu-Bf1HW1RY.js +27 -0
  37. package/dist/gpgpu_math-DvLcCH6u.js +1612 -0
  38. package/dist/inference/types.js +0 -1
  39. package/dist/kernel_funcs_utils-HiXOOx3f.js +229 -0
  40. package/dist/layers/BaseLayer.d.ts +2 -2
  41. package/dist/layers/BaseLayer.js +75 -73
  42. package/dist/layers/CausalSelfAttention.d.ts +1 -1
  43. package/dist/layers/CausalSelfAttention.js +98 -85
  44. package/dist/layers/LoRA.js +47 -57
  45. package/dist/layers/MLP.d.ts +1 -1
  46. package/dist/layers/MLP.js +33 -43
  47. package/dist/layers/PositionEmbedding.d.ts +1 -1
  48. package/dist/layers/PositionEmbedding.js +26 -30
  49. package/dist/layers/RMSNorm.d.ts +1 -1
  50. package/dist/layers/RMSNorm.js +19 -21
  51. package/dist/layers/RoPECache.js +336 -49
  52. package/dist/layers/TiedEmbedding.d.ts +1 -1
  53. package/dist/layers/TiedEmbedding.js +30 -34
  54. package/dist/layers/TransformerBlock.d.ts +1 -1
  55. package/dist/layers/TransformerBlock.js +50 -39
  56. package/dist/layers/WeightStore.js +68 -75
  57. package/dist/loader/load.js +2 -68
  58. package/dist/loader/loadHF.d.ts +2 -2
  59. package/dist/loader/loadHF.js +2 -22
  60. package/dist/loader/loadTransformers.d.ts +1 -1
  61. package/dist/loader/loadTransformers.js +2 -44
  62. package/dist/loader/loadZipMeta.js +15 -15
  63. package/dist/loader/newZipLoad.js +2 -31
  64. package/dist/loader/oldZipLoad.d.ts +2 -2
  65. package/dist/loader/oldZipLoad.js +2 -80
  66. package/dist/loader/save.d.ts +5 -5
  67. package/dist/loader/save.js +2 -90
  68. package/dist/loader/types.d.ts +9 -8
  69. package/dist/loader/types.js +0 -1
  70. package/dist/main-CPjeMv0G.js +13500 -0
  71. package/dist/main.d.ts +1 -1
  72. package/dist/main.js +16 -109
  73. package/dist/matMul16-BNfZSnNM.js +81 -0
  74. package/dist/matMulGelu-CPTntosE.js +162 -0
  75. package/dist/models/NanoGPTV1.js +2 -99
  76. package/dist/models/NanoGPTV2.js +2 -90
  77. package/dist/models/config.js +34 -47
  78. package/dist/models/factory.d.ts +1 -1
  79. package/dist/models/factory.js +2 -16
  80. package/dist/models/model.d.ts +2 -2
  81. package/dist/models/model.js +2 -134
  82. package/dist/ops/adamAdjust.js +15 -6
  83. package/dist/ops/adamMoments.js +13 -6
  84. package/dist/ops/add16.js +9 -6
  85. package/dist/ops/appendCache.js +22 -19
  86. package/dist/ops/attentionMask.js +12 -6
  87. package/dist/ops/concat16.js +7 -8
  88. package/dist/ops/cpu/adamAdjust.js +15 -17
  89. package/dist/ops/cpu/adamMoments.js +15 -15
  90. package/dist/ops/cpu/appendCache.js +64 -22
  91. package/dist/ops/cpu/attentionMask.js +15 -21
  92. package/dist/ops/cpu/fusedSoftmax.js +21 -28
  93. package/dist/ops/cpu/gatherSub.js +11 -17
  94. package/dist/ops/cpu/gelu.js +34 -38
  95. package/dist/ops/cpu/matMul16.js +13 -14
  96. package/dist/ops/cpu/matMulGelu.js +39 -51
  97. package/dist/ops/cpu/matMulMul.js +19 -22
  98. package/dist/ops/cpu/mulDropout.js +19 -22
  99. package/dist/ops/cpu/normRMS.js +33 -37
  100. package/dist/ops/cpu/qkv.js +72 -40
  101. package/dist/ops/cpu/rope.js +79 -36
  102. package/dist/ops/cpu/scatterSub.js +11 -22
  103. package/dist/ops/dot16.js +28 -41
  104. package/dist/ops/dropout.js +10 -13
  105. package/dist/ops/dropout16.js +20 -23
  106. package/dist/ops/gatherSub.js +10 -6
  107. package/dist/ops/gelu.js +2 -8
  108. package/dist/ops/globalNorm.js +18 -12
  109. package/dist/ops/grads/add16.js +27 -26
  110. package/dist/ops/grads/attentionMask.js +26 -21
  111. package/dist/ops/grads/dropout16.js +0 -1
  112. package/dist/ops/grads/gelu.js +2 -5
  113. package/dist/ops/grads/matMul16.js +2 -9
  114. package/dist/ops/grads/matMulGelu.js +21 -16
  115. package/dist/ops/grads/mul16.js +0 -3
  116. package/dist/ops/grads/normRMS.js +34 -30
  117. package/dist/ops/grads/pack16.js +2 -6
  118. package/dist/ops/grads/qkv.js +44 -32
  119. package/dist/ops/grads/rope.js +2 -5
  120. package/dist/ops/grads/softmax16.js +21 -23
  121. package/dist/ops/grads/unpack16.js +2 -5
  122. package/dist/ops/grads/utils.js +9 -11
  123. package/dist/ops/matMul16.js +2 -13
  124. package/dist/ops/matMulGelu.js +16 -10
  125. package/dist/ops/matMulMul.js +13 -6
  126. package/dist/ops/mul16.js +42 -38
  127. package/dist/ops/mulDrop.js +12 -6
  128. package/dist/ops/normRMS.js +18 -15
  129. package/dist/ops/pack16.js +2 -5
  130. package/dist/ops/qkv.js +12 -6
  131. package/dist/ops/reshape16.js +31 -39
  132. package/dist/ops/rope.d.ts +1 -1
  133. package/dist/ops/rope.js +2 -7
  134. package/dist/ops/scatterSub.js +10 -6
  135. package/dist/ops/slice16.js +9 -7
  136. package/dist/ops/softmax16.js +7 -7
  137. package/dist/ops/sub16.js +9 -6
  138. package/dist/ops/sum16.js +12 -12
  139. package/dist/ops/transpose16.js +29 -37
  140. package/dist/ops/unpack16.js +2 -6
  141. package/dist/ops/webgl/adamAdjust.js +62 -29
  142. package/dist/ops/webgl/adamMoments.js +30 -26
  143. package/dist/ops/webgl/appendCache.js +30 -21
  144. package/dist/ops/webgl/attentionMask.js +43 -24
  145. package/dist/ops/webgl/dropout16.js +11 -10
  146. package/dist/ops/webgl/fusedSoftmax.js +69 -79
  147. package/dist/ops/webgl/gatherSub.js +27 -26
  148. package/dist/ops/webgl/gelu.js +32 -34
  149. package/dist/ops/webgl/log.js +14 -23
  150. package/dist/ops/webgl/matMul16.js +36 -44
  151. package/dist/ops/webgl/matMulGelu.js +2 -9
  152. package/dist/ops/webgl/matMulMul.js +23 -27
  153. package/dist/ops/webgl/mulDropout.js +31 -40
  154. package/dist/ops/webgl/normRMS.js +92 -71
  155. package/dist/ops/webgl/qkv.js +35 -27
  156. package/dist/ops/webgl/rope.js +37 -21
  157. package/dist/ops/webgl/scatterSub.js +27 -26
  158. package/dist/ops/webgpu/adamAdjust.js +59 -39
  159. package/dist/ops/webgpu/adamMoments.js +62 -46
  160. package/dist/ops/webgpu/add16.js +13 -12
  161. package/dist/ops/webgpu/appendCache.js +79 -54
  162. package/dist/ops/webgpu/attentionMask.js +41 -25
  163. package/dist/ops/webgpu/attentionMask32_program.js +34 -26
  164. package/dist/ops/webgpu/clipScale.js +44 -57
  165. package/dist/ops/webgpu/concat16.js +96 -111
  166. package/dist/ops/webgpu/dropout16.js +40 -32
  167. package/dist/ops/webgpu/gatherSub.js +43 -30
  168. package/dist/ops/webgpu/gelu.js +88 -82
  169. package/dist/ops/webgpu/index.js +16 -16
  170. package/dist/ops/webgpu/matMul16.js +69 -64
  171. package/dist/ops/webgpu/matMul16_program.js +152 -192
  172. package/dist/ops/webgpu/mul16.js +13 -12
  173. package/dist/ops/webgpu/norm2.js +45 -75
  174. package/dist/ops/webgpu/normRMS.js +25 -33
  175. package/dist/ops/webgpu/normRMS16_program.js +21 -18
  176. package/dist/ops/webgpu/normRMS32_program.js +21 -18
  177. package/dist/ops/webgpu/normRMSGrad.js +125 -184
  178. package/dist/ops/webgpu/pack16.js +20 -17
  179. package/dist/ops/webgpu/pack16_program.js +48 -47
  180. package/dist/ops/webgpu/qkv.js +63 -23
  181. package/dist/ops/webgpu/rope.js +85 -57
  182. package/dist/ops/webgpu/scatterSub.js +43 -30
  183. package/dist/ops/webgpu/slice16.js +66 -61
  184. package/dist/ops/webgpu/softmax16.js +17 -20
  185. package/dist/ops/webgpu/softmax16_program.js +34 -18
  186. package/dist/ops/webgpu/softmax16_subgroup_program.js +40 -45
  187. package/dist/ops/webgpu/softmax16grad.js +30 -36
  188. package/dist/ops/webgpu/sub16.js +13 -12
  189. package/dist/ops/webgpu/sum16.js +28 -37
  190. package/dist/ops/webgpu/transpose16.js +36 -33
  191. package/dist/ops/webgpu/transpose16_program.js +40 -39
  192. package/dist/ops/webgpu/transpose16_shared_program.js +53 -44
  193. package/dist/ops/webgpu/unpack16.js +49 -37
  194. package/dist/ops/webgpu/utils/binary_op.js +70 -68
  195. package/dist/ops/webgpu/utils/deviceInfo.d.ts +1 -1
  196. package/dist/ops/webgpu/utils/deviceInfo.js +10 -10
  197. package/dist/ops/webgpu/utils/reductions.js +136 -148
  198. package/dist/pack16-Ck-spx_F.js +39 -0
  199. package/dist/patches/webgpu_backend.d.ts +2 -2
  200. package/dist/patches/webgpu_backend.js +42 -55
  201. package/dist/patches/webgpu_base.js +21 -33
  202. package/dist/patches/webgpu_program.js +213 -320
  203. package/dist/pdf-UoDqCYzz.js +16726 -0
  204. package/dist/picomatch-3tUnMMbd.js +1063 -0
  205. package/dist/rope-CbeGlsV8.js +25 -0
  206. package/dist/selu_util-zkAx5doH.js +24 -0
  207. package/dist/shared-D1coEFea.js +1314 -0
  208. package/dist/shared-DOgWaqvL.js +5 -0
  209. package/dist/slice_util-Dgb3ANWI.js +208 -0
  210. package/dist/tfjs_backend-BjuQ5FqB.js +614 -0
  211. package/dist/tokeniser/BaseTokeniser.js +2 -124
  212. package/dist/tokeniser/CharTokeniser.js +91 -106
  213. package/dist/tokeniser/bpe.js +163 -166
  214. package/dist/tokeniser/messages.js +0 -1
  215. package/dist/tokeniser/type.js +0 -1
  216. package/dist/training/AdamW.js +127 -137
  217. package/dist/training/BasicTrainer.d.ts +1 -1
  218. package/dist/training/BasicTrainer.js +264 -264
  219. package/dist/training/DatasetBuilder.js +2 -86
  220. package/dist/training/Evaluator.d.ts +1 -1
  221. package/dist/training/Evaluator.js +47 -38
  222. package/dist/training/LRScheduler.js +37 -33
  223. package/dist/training/PreTrainer.d.ts +2 -2
  224. package/dist/training/PreTrainer.js +21 -19
  225. package/dist/training/SFTTrainer.d.ts +2 -2
  226. package/dist/training/SFTTrainer.js +23 -21
  227. package/dist/training/loss.js +17 -22
  228. package/dist/training/orthoGrad.js +9 -9
  229. package/dist/training/sparseCrossEntropy.js +45 -67
  230. package/dist/training/tasks/ConversationTask.d.ts +1 -1
  231. package/dist/training/tasks/ConversationTask.js +36 -38
  232. package/dist/training/tasks/PretrainingTask.d.ts +1 -1
  233. package/dist/training/tasks/PretrainingTask.js +41 -46
  234. package/dist/training/tasks/StartSentenceTask.d.ts +1 -1
  235. package/dist/training/tasks/StartSentenceTask.js +44 -48
  236. package/dist/training/tasks/Task.d.ts +1 -1
  237. package/dist/training/tasks/Task.js +53 -66
  238. package/dist/training/tasks/splitter.js +17 -20
  239. package/dist/training/types.d.ts +2 -2
  240. package/dist/training/types.js +0 -1
  241. package/dist/training/validation.d.ts +1 -1
  242. package/dist/training/validation.js +2 -84
  243. package/dist/utilities/arrayClose.js +15 -19
  244. package/dist/utilities/datasetID.js +17 -20
  245. package/dist/utilities/dummy.d.ts +1 -1
  246. package/dist/utilities/dummy.js +33 -40
  247. package/dist/utilities/multinomialCPU.js +8 -12
  248. package/dist/utilities/naming.js +0 -1
  249. package/dist/utilities/packed.js +10 -12
  250. package/dist/utilities/parameters.d.ts +1 -1
  251. package/dist/utilities/parameters.js +32 -51
  252. package/dist/utilities/performance.js +15 -15
  253. package/dist/utilities/profile.js +32 -37
  254. package/dist/utilities/safetensors.js +49 -79
  255. package/dist/utilities/sentences.d.ts +1 -1
  256. package/dist/utilities/sentences.js +29 -38
  257. package/dist/utilities/tokenParse.js +16 -20
  258. package/dist/utilities/topP.js +11 -12
  259. package/dist/utilities/waitForModel.d.ts +1 -1
  260. package/dist/utilities/waitForModel.js +11 -11
  261. package/dist/utilities/weights.js +37 -42
  262. package/dist/utilities/yielder.js +6 -6
  263. package/dist/webgpu-Dt7BMzWz.js +525 -0
  264. package/dist/webgpu_program-WOyIVMlZ.js +392 -0
  265. package/dist/webgpu_util-B_F3SShA.js +106 -0
  266. package/package.json +9 -10
  267. package/dist/RealDiv-CGwv0liw.js +0 -365
  268. package/dist/Reshape-BW__R4mZ.js +0 -79
  269. package/dist/Reshape-CPBkTIH2.js +0 -14
  270. package/dist/_commonjsHelpers-ByX85dGu.js +0 -33
  271. package/dist/axis_util-GTVlo58H.js +0 -55
  272. package/dist/backend_util-GaFarB78.js +0 -425
  273. package/dist/backend_webgpu-BqASlsbV.js +0 -545
  274. package/dist/binary_op_util-pKXltfxI.js +0 -192
  275. package/dist/broadcast_to-eS93CCN_.js +0 -28
  276. package/dist/clip_by_value-DDA7rrcT.js +0 -12
  277. package/dist/complex-DI35Q-gW.js +0 -11
  278. package/dist/complex_util-Yc1A_gV1.js +0 -55
  279. package/dist/concat-CAQpCret.js +0 -17
  280. package/dist/concat_util-D18dJ4fD.js +0 -22
  281. package/dist/data/parquet.d.ts +0 -2
  282. package/dist/data/parquet.js +0 -17
  283. package/dist/dataset-CGGp1z9P.js +0 -1124
  284. package/dist/dropout_util--NxWuYg2.js +0 -27
  285. package/dist/expand_dims-Bkd1YD5x.js +0 -11
  286. package/dist/exports_initializers-CYzKLjN7.js +0 -7
  287. package/dist/floor-BQtb-Azg.js +0 -9
  288. package/dist/gather-qIqEqaGn.js +0 -9
  289. package/dist/gelu-B220X1Go.js +0 -26
  290. package/dist/gpgpu_math-BwvV12df.js +0 -2022
  291. package/dist/index-CUXkjxiT.js +0 -3516
  292. package/dist/index-CieiGp4Y.js +0 -349
  293. package/dist/index-CjOWnMXP.js +0 -7308
  294. package/dist/index-Cp39cXWe.js +0 -1016
  295. package/dist/index-D5v913EJ.js +0 -4
  296. package/dist/index-DmeWGGmS.js +0 -1074
  297. package/dist/index-DvYrXKkX.js +0 -113
  298. package/dist/index-Ksja3su6.js +0 -151
  299. package/dist/index-xuotMAFm.js +0 -118
  300. package/dist/jszip.min-BZhlzntC.js +0 -2313
  301. package/dist/kernel_funcs_utils-pq0CK9co.js +0 -306
  302. package/dist/matMul16-BcVC_E62.js +0 -80
  303. package/dist/matMulGelu-JNLZqKQp.js +0 -163
  304. package/dist/mat_mul-DhG0Newp.js +0 -11
  305. package/dist/mod-CSdCpRjf.js +0 -11
  306. package/dist/non_max_suppression_impl-B2W7YjZB.js +0 -102
  307. package/dist/not_equal-hurPF26l.js +0 -64
  308. package/dist/ones-BytntneX.js +0 -14
  309. package/dist/ops-CsXeTq1P.js +0 -476
  310. package/dist/pack16-bqltoUlR.js +0 -39
  311. package/dist/papaparse.min-C0cScC2i.js +0 -418
  312. package/dist/parquet-Bqjmp2vo.js +0 -44231
  313. package/dist/pdf-NIhmP3sq.js +0 -19477
  314. package/dist/rand_util-CZ7yLoUm.js +0 -50
  315. package/dist/random_normal-IBRrha8a.js +0 -14
  316. package/dist/random_width-DN5ZtQkM.js +0 -9796
  317. package/dist/range-C-CjF-LI.js +0 -10
  318. package/dist/relu-J_X6MUzx.js +0 -9
  319. package/dist/reshape-BDOuCSNW.js +0 -9
  320. package/dist/resize_nearest_neighbor-BojqlfRe.js +0 -150
  321. package/dist/rope-DcrZM_e6.js +0 -24
  322. package/dist/scatter_nd_util-ByNJaL6I.js +0 -46
  323. package/dist/segment_util-Dasb2Zaf.js +0 -43
  324. package/dist/selu_util-BLhIqRkw.js +0 -44
  325. package/dist/shared-3agzAqQ_.js +0 -53
  326. package/dist/shared-CagdqkLh.js +0 -2143
  327. package/dist/slice-BzS11Qh0.js +0 -12
  328. package/dist/slice_util-CC35pLmT.js +0 -153
  329. package/dist/softmax-D4q1LJN7.js +0 -12
  330. package/dist/split-C2Sj255c.js +0 -9
  331. package/dist/squeeze-ho4wLUek.js +0 -10
  332. package/dist/stack-DudVrtmG.js +0 -11
  333. package/dist/step-BTxPtq1r.js +0 -261
  334. package/dist/sum-BpiwSWvg.js +0 -11
  335. package/dist/tensor-BWFldCso.js +0 -8
  336. package/dist/tensor1d-LMGMIUlr.js +0 -11
  337. package/dist/tensor2d-BnXMKScO.js +0 -14
  338. package/dist/tensor4d-C6UCG_u8.js +0 -14
  339. package/dist/tfjs_backend-BGnG-ppu.js +0 -654
  340. package/dist/tile-CFy-xTO6.js +0 -11
  341. package/dist/transpose-9kRxIXWR.js +0 -36
  342. package/dist/unsorted_segment_sum-DJvk5xnh.js +0 -277
  343. package/dist/variable-Ck482e3n.js +0 -7
  344. package/dist/webgpu_program-B4HmApL1.js +0 -525
  345. package/dist/webgpu_util-DYlGSwOJ.js +0 -64
  346. package/dist/zeros-DvZpK8s6.js +0 -13
  347. package/dist/zeros_like-CWjDdwr-.js +0 -721
@@ -0,0 +1,399 @@
1
+ import { r as e } from "./chunk-BPntVaq0.js";
2
+ import { Ar as t, Ci as n, Cn as r, Cr as i, Dn as a, Dr as o, En as s, Er as c, In as l, Li as u, Ln as d, M as ee, N as te, Oi as ne, On as re, Or as ie, Ps as f, Ri as ae, Rn as oe, Rs as se, Sn as ce, Sr as le, Tn as ue, Tr as de, ec as p, j as fe, jr as pe, ki as me, kr as he, oc as m, wn as ge, wr as _e, xn as ve, xr as ye } from "./dist-BewPQWjc.js";
3
+ import { a as be, i as xe, n as Se, o as Ce, r as we, t as Te } from "./selu_util-zkAx5doH.js";
4
+ import { s as Ee } from "./slice_util-Dgb3ANWI.js";
5
+ import { n as De, t as Oe } from "./concat_util-CWDZCBlA.js";
6
+ import { a as ke, c as Ae, i as je, n as Me, o as Ne, r as Pe, s as Fe, t as Ie } from "./complex_util-CkazZsaH.js";
7
+ //#region node_modules/@tensorflow/tfjs-core/dist/ops/gather_nd_util.js
8
+ function h(e, t) {
9
+ let n = e.shape.length, r = t.shape.length;
10
+ if (n < 1) throw Error(`tf.gatherND() expects the input to be rank 1 or higher, but the rank was ${n}.`);
11
+ if (r < 1) throw Error(`tf.gatherND() expects the indices to be rank 1 or higher, but the rank was ${r}.`);
12
+ if (t.dtype !== "int32") throw Error(`tf.gatherND() expects the indices to be int32 type, but the dtype was ${t.dtype}.`);
13
+ if (t.shape[r - 1] > n) throw Error(`index innermost dimension length must be <= tensor rank; saw: ${t.shape[r - 1]} vs. ${n}`);
14
+ if (m(e.shape) === 0) throw Error(`Requested more than 0 entries, but input is empty. Input shape: ${e.shape}.`);
15
+ let i = t.shape, a = i[i.length - 1], o = 1;
16
+ for (let e = 0; e < i.length - 1; ++e) o *= i[e];
17
+ let s = e.shape, c = i.slice();
18
+ c.pop();
19
+ let l = 1;
20
+ for (let e = a; e < n; ++e) l *= s[e], c.push(s[e]);
21
+ let u = [...se(e.shape).map((e) => e / l), 1].slice(0, a);
22
+ return [
23
+ c,
24
+ o,
25
+ l,
26
+ u
27
+ ];
28
+ }
29
+ //#endregion
30
+ //#region node_modules/@tensorflow/tfjs-core/dist/ops/ragged_to_dense_util.js
31
+ var g;
32
+ (function(e) {
33
+ e[e.FIRST_DIM_SIZE = 0] = "FIRST_DIM_SIZE", e[e.VALUE_ROWIDS = 1] = "VALUE_ROWIDS", e[e.ROW_LENGTHS = 2] = "ROW_LENGTHS", e[e.ROW_SPLITS = 3] = "ROW_SPLITS", e[e.ROW_LIMITS = 4] = "ROW_LIMITS", e[e.ROW_STARTS = 5] = "ROW_STARTS";
34
+ })(g ||= {});
35
+ function _(e, t, n) {
36
+ let r = [];
37
+ if (n == null && t == null) return r;
38
+ if (t == null) for (; r.length < e + n.length;) r.push(-1);
39
+ else r = t.slice();
40
+ if (n == null) return r;
41
+ if (e + n.length !== r.length) throw Error(`rt input.shape and shape=${t} are incompatible: rt input.rank = ${e + n.length}, but shape.rank = ${r.length}`);
42
+ for (let i = 1; i < n.length; ++i) {
43
+ let a = n[i], o = r[r.length - n.length + i], s = r[o];
44
+ if (a >= 0) if (s >= 0) {
45
+ if (s !== a) throw Error(`rt input.shape and shape=${t} are incompatible: rt input.shape[${i + e}] = ${a} but shape[${i + e}] = ${s}`);
46
+ } else r[o] = a;
47
+ }
48
+ return r;
49
+ }
50
+ function v(e) {
51
+ let t = {
52
+ FIRST_DIM_SIZE: g.FIRST_DIM_SIZE,
53
+ VALUE_ROWIDS: g.VALUE_ROWIDS,
54
+ ROW_LENGTHS: g.ROW_LENGTHS,
55
+ ROW_SPLITS: g.ROW_SPLITS,
56
+ ROW_LIMITS: g.ROW_LIMITS,
57
+ ROW_STARTS: g.ROW_STARTS
58
+ }, n = [];
59
+ for (let r of e) if (r in t) n.push(t[r]);
60
+ else break;
61
+ return n;
62
+ }
63
+ function y(e) {
64
+ return e.length === 0 ? 0 : e[0] === g.FIRST_DIM_SIZE ? e.length - 1 : e.length;
65
+ }
66
+ function b(e, t) {
67
+ if (e == null || t == null) return;
68
+ let n = e.length, r = t.length;
69
+ if (n >= r) throw Error(`defaultValue.shape=${e} and ragged tensor flatValues.shape=${t}, are incompatible: defaultValue.rank = ${n} must be less than ragged tensor input flatValues.rank = ${r})`);
70
+ for (let i = 0; i < Math.min(n, r - 1); ++i) {
71
+ let n = e[i], r = t[i + 1];
72
+ if (n >= 0 && r >= 0 && n !== 1 && n !== r) throw Error(`defaultValue.shape=${e}, and ragged tensor input flatValues.shape=${t} are incompatible: defaultValue.shape[${i - e.length}] = ${n} but ragged tensor input.flatValues.shape[${i - e.length}] = ${r}`);
73
+ }
74
+ }
75
+ function x(e) {
76
+ return e <= 30 ? e : p(e, Math.floor(Math.sqrt(e)));
77
+ }
78
+ //#endregion
79
+ //#region node_modules/@tensorflow/tfjs-core/dist/ops/rotate_util.js
80
+ function S(e, t, n) {
81
+ return [n * (typeof e == "number" ? e : e[0]), t * (typeof e == "number" ? e : e[1])];
82
+ }
83
+ //#endregion
84
+ //#region node_modules/@tensorflow/tfjs-core/dist/ops/array_ops_util.js
85
+ function C(e, t, n, r = !0) {
86
+ let i = [];
87
+ if (r) i = i.concat(t.slice(0)), i.push(e[0] / n), i = i.concat(e.slice(1));
88
+ else {
89
+ i = i.concat(e[0]);
90
+ let n = t.length;
91
+ for (let r = 0; r < n; ++r) i = i.concat([e[r + 1] / t[r], t[r]]);
92
+ i = i.concat(e.slice(n + 1));
93
+ }
94
+ return i;
95
+ }
96
+ function Le(e, t, n = !0) {
97
+ let r = [];
98
+ if (n) {
99
+ r.push(t);
100
+ for (let n = t + 1; n < e; ++n) n <= 2 * t ? (r.push(n), r.push(n - (t + 1))) : r.push(n);
101
+ } else {
102
+ let n = [], i = [];
103
+ for (let r = 1; r < e; ++r) r >= t * 2 + 1 || r % 2 == 1 ? i.push(r) : n.push(r);
104
+ r.push(...n), r.push(0), r.push(...i);
105
+ }
106
+ return r;
107
+ }
108
+ function w(e, t, n, r = !0) {
109
+ let i = [];
110
+ r ? i.push(e[0] / n) : i.push(e[0] * n);
111
+ for (let n = 1; n < e.length; ++n) n <= t.length ? r ? i.push(t[n - 1] * e[n]) : i.push(e[n] / t[n - 1]) : i.push(e[n]);
112
+ return i;
113
+ }
114
+ function T(e, t) {
115
+ let n = [0];
116
+ for (let r = 0; r < t; ++r) n.push(e[r][0]);
117
+ return n;
118
+ }
119
+ function E(e, t, n) {
120
+ let r = e.slice(0, 1);
121
+ for (let i = 0; i < n; ++i) r.push(e[i + 1] - t[i][0] - t[i][1]);
122
+ return r;
123
+ }
124
+ //#endregion
125
+ //#region node_modules/@tensorflow/tfjs-core/dist/ops/erf_util.js
126
+ var D = .3275911, O = .254829592, k = -.284496736, A = 1.421413741, j = -1.453152027, M = 1.061405429, N = "->", Re = /->/g, P = ",", F = "...";
127
+ function I(e, t) {
128
+ e = e.replace(/\s/g, "");
129
+ let n = (e.length - e.replace(Re, "").length) / 2;
130
+ if (n < 1) throw Error("Equations without an arrow are not supported.");
131
+ if (n > 1) throw Error(`Equation must contain exactly one arrow ("${N}").`);
132
+ let [r, i] = e.split(N);
133
+ f(r.indexOf(F) === -1, () => `The ellipsis notation ("${F}") is not supported yet.`);
134
+ let a = r.split(P), o = a.length;
135
+ if (t !== o) throw Error(`Expected ${o} input tensors, received ${t}`);
136
+ if (o > 2) throw Error("Support for more than 2 input tensors is not implemented yet.");
137
+ let s = [];
138
+ for (let e = 0; e < i.length; ++e) {
139
+ let t = i[e];
140
+ if (!a.some((e) => e.indexOf(t) !== -1)) throw Error(`Output subscripts contain the label ${t} not present in the input subscripts.`);
141
+ s.indexOf(t) === -1 && s.push(t);
142
+ }
143
+ for (let e = 0; e < r.length; ++e) {
144
+ let t = r[e];
145
+ s.indexOf(t) === -1 && t !== P && s.push(t);
146
+ }
147
+ let c = Array(a.length);
148
+ for (let e = 0; e < o; ++e) {
149
+ if (new Set(a[e].split("")).size !== a[e].length) throw Error(`Found duplicate axes in input component ${a[e]}. Support for duplicate axes in input is not implemented yet.`);
150
+ c[e] = [];
151
+ for (let t = 0; t < a[e].length; ++t) c[e].push(s.indexOf(a[e][t]));
152
+ }
153
+ let l = s.length, u = i.length, d = [];
154
+ for (let e = u; e < l; ++e) d.push(e);
155
+ return {
156
+ allDims: s,
157
+ summedDims: d,
158
+ idDims: c
159
+ };
160
+ }
161
+ function L(e, t) {
162
+ let n = Array(e);
163
+ n.fill(-1);
164
+ for (let e = 0; e < t.length; ++e) n[t[e]] = e;
165
+ let r = [];
166
+ for (let t = 0; t < e; ++t) n[t] === -1 && r.push(t);
167
+ return n = n.filter((e) => e !== -1), {
168
+ permutationIndices: n,
169
+ expandDims: r
170
+ };
171
+ }
172
+ function R(e, t, n) {
173
+ let r = Array(e);
174
+ for (let e = 0; e < n.length; ++e) {
175
+ let i = n[e].shape;
176
+ for (let n = 0; n < t[e].length; ++n) r[t[e][n]] === void 0 ? r[t[e][n]] = i[n] : f(r[t[e][n]] === i[n], () => `Expected dimension ${r[t[e][n]]} at axis ${n} of input shaped ${JSON.stringify(i)}, but got dimension ${i[n]}`);
177
+ }
178
+ }
179
+ function z(e, t) {
180
+ let n = e, r = [], i = 0;
181
+ e.length === 0 && n.push(-1), i = e.length + 1;
182
+ for (let e = 0; e < i; ++e) r.push([]);
183
+ let a = [];
184
+ for (let e = 0; e < n.length; ++e) {
185
+ let i = n[e], o = ze(t, i);
186
+ for (let t of o) a.indexOf(t) === -1 && (r[e].push(t), a.push(t));
187
+ }
188
+ return {
189
+ path: n,
190
+ steps: r
191
+ };
192
+ }
193
+ function B(e) {
194
+ return e.every((e, t) => e === t);
195
+ }
196
+ function ze(e, t) {
197
+ let n = [];
198
+ for (let r = 0; r < e.length; ++r) (e[r].length === 0 || e[r].indexOf(t) !== -1 || t === -1) && n.push(r);
199
+ return n;
200
+ }
201
+ //#endregion
202
+ //#region node_modules/@tensorflow/tfjs-core/dist/ops/split_util.js
203
+ function V(e, t, n = 0) {
204
+ let r = [];
205
+ if (typeof t == "number") f(e.shape[n] % t === 0, () => "Number of splits must evenly divide the axis."), r = Array(t).fill(e.shape[n] / t);
206
+ else {
207
+ f(t.reduce((e, t) => (t === -1 && (e += 1), e), 0) <= 1, () => "There should be only one negative value in split array.");
208
+ let i = t.indexOf(-1);
209
+ if (i !== -1) {
210
+ let r = t.reduce((e, t) => t > 0 ? e + t : e);
211
+ t[i] = e.shape[n] - r;
212
+ }
213
+ f(e.shape[n] === t.reduce((e, t) => e + t), () => "The sum of sizes must match the size of the axis dimension."), r = t;
214
+ }
215
+ return r;
216
+ }
217
+ //#endregion
218
+ //#region node_modules/@tensorflow/tfjs-core/dist/ops/sparse/sparse_fill_empty_rows_util.js
219
+ function H(e) {
220
+ return `Received SparseTensor with denseShape[0] = 0 but
221
+ indices.shape[0] = ${e}`;
222
+ }
223
+ function U(e, t) {
224
+ return `indices(${e}, 0) is invalid: ${t} < 0`;
225
+ }
226
+ function W(e, t, n) {
227
+ return `indices(${e}, 0) is invalid: ${t} >= ${n}`;
228
+ }
229
+ //#endregion
230
+ //#region node_modules/@tensorflow/tfjs-core/dist/ops/sparse/sparse_reshape_util.js
231
+ function G(e, t) {
232
+ return `only one output dimension may be -1, not both ${e} and ${t}`;
233
+ }
234
+ function K(e, t) {
235
+ return `size ${e} must be non-negative, not ${t}`;
236
+ }
237
+ function q() {
238
+ return "reshape cannot infer the missing input size for an empty tensor unless all specified input sizes are non-zero";
239
+ }
240
+ function J(e, t) {
241
+ return `Input to reshape is a SparseTensor with ${m(e)}
242
+ dense values, but the requested shape requires a multiple of ${m(t)}. inputShape=${e} outputShape= ${t}`;
243
+ }
244
+ function Y(e, t) {
245
+ return `Input to reshape is a tensor with ${m(e)} dense values, but the requested shape has ${m(t)}. inputShape=${e} outputShape=${t}`;
246
+ }
247
+ //#endregion
248
+ //#region node_modules/@tensorflow/tfjs-core/dist/ops/sparse/sparse_segment_reduction_util.js
249
+ function X() {
250
+ return "segment ids must be >= 0";
251
+ }
252
+ function Z() {
253
+ return "segment ids are not increasing";
254
+ }
255
+ function Q(e, t) {
256
+ return `Segment id ${e} out of range [0, ${t}), possibly because segmentIds input is not sorted.`;
257
+ }
258
+ function Be(e, t, n) {
259
+ return `Bad: indices[${e}] == ${t} out of range [0, ${n})`;
260
+ }
261
+ //#endregion
262
+ //#region node_modules/@tensorflow/tfjs-core/dist/ops/segment_util.js
263
+ var Ve = /* @__PURE__ */ e({
264
+ collectGatherOpShapeInfo: () => We,
265
+ computeOutShape: () => Ue,
266
+ segOpComputeOptimalWindowSize: () => He
267
+ });
268
+ function He(e, t) {
269
+ let n = !1, r;
270
+ for (e <= 30 ? (r = e, n = !0) : r = p(e, Math.floor(Math.sqrt(e))); !n;) r > t || r === e ? n = !0 : r = p(e, r + 1);
271
+ return r;
272
+ }
273
+ function Ue(e, t, n) {
274
+ let r = [], i = e.length;
275
+ for (let a = 0; a < i; a++) a === t ? r.push(n) : r.push(e[a]);
276
+ return r;
277
+ }
278
+ function We(e, t, n, r) {
279
+ let i = t.shape.length, a = e.shape.length;
280
+ if (r !== 0 && (r < -i || r > i)) throw Error(`Expect batchDims in the range of [-${i}, ${i}], but got ${r}`);
281
+ if (r < 0 && (r += i), r > a) throw Error(`batchDims (${r}) must be less than rank(x) (
282
+ ${a}).`);
283
+ if (n < r) throw Error(`batchDims (${r}) must be less than or equal to axis (${n}).`);
284
+ for (let n = 0; n < r; ++n) if (e.shape[n] !== t.shape[n]) throw Error(`x.shape[${n}]: ${e.shape[n]} should be equal to indices.shape[${n}]: ${t.shape[n]}.`);
285
+ let o = e.shape[n], s = [], c = 1, l = 1, u = 1;
286
+ for (let t = 0; t < r; ++t) s.push(e.shape[t]), c *= e.shape[t];
287
+ for (let t = r; t < n; t++) s.push(e.shape[t]), l *= e.shape[t];
288
+ for (let e = r; e < i; e++) s.push(t.shape[e]);
289
+ for (let t = n + 1; t < a; t++) s.push(e.shape[t]), u *= e.shape[t];
290
+ return {
291
+ batchSize: c,
292
+ sliceSize: u,
293
+ outerSize: l,
294
+ dimSize: o,
295
+ outputShape: s
296
+ };
297
+ }
298
+ //#endregion
299
+ //#region node_modules/@tensorflow/tfjs-core/dist/backends/backend_util.js
300
+ var Ge = /* @__PURE__ */ e({
301
+ ERF_A1: () => O,
302
+ ERF_A2: () => k,
303
+ ERF_A3: () => A,
304
+ ERF_A4: () => j,
305
+ ERF_A5: () => M,
306
+ ERF_P: () => D,
307
+ PARALLELIZE_THRESHOLD: () => 30,
308
+ RowPartitionType: () => g,
309
+ SELU_SCALE: () => Te,
310
+ SELU_SCALEALPHA: () => Se,
311
+ applyActivation: () => we,
312
+ assertAndGetBroadcastShape: () => l,
313
+ assertAxesAreInnerMostDims: () => ve,
314
+ assertParamsConsistent: () => Oe,
315
+ assignToTypedArray: () => Ie,
316
+ axesAreInnerMostDims: () => ce,
317
+ calculateShapes: () => fe,
318
+ checkEinsumDimSizes: () => R,
319
+ checkPadOnDimRoundingMode: () => ye,
320
+ combineLocations: () => r,
321
+ combineRaggedTensorToTensorShapes: () => _,
322
+ complexWithEvenIndex: () => Me,
323
+ complexWithOddIndex: () => Pe,
324
+ computeConv2DInfo: () => le,
325
+ computeConv3DInfo: () => i,
326
+ computeDefaultPad: () => _e,
327
+ computeDilation2DInfo: () => de,
328
+ computeOptimalWindowSize: () => x,
329
+ computeOutAndReduceShapes: () => ge,
330
+ computeOutShape: () => De,
331
+ computePool2DInfo: () => c,
332
+ computePool3DInfo: () => o,
333
+ convertConv2DDataFormat: () => ie,
334
+ decodeEinsumEquation: () => I,
335
+ eitherStridesOrDilationsAreOne: () => he,
336
+ expandShapeToKeepDim: () => ue,
337
+ exponent: () => je,
338
+ exponents: () => ke,
339
+ fromStringArrayToUint8: () => $,
340
+ fromUint8ToStringArray: () => Ke,
341
+ getAxesPermutation: () => s,
342
+ getBroadcastDims: () => d,
343
+ getComplexWithIndex: () => Ne,
344
+ getEinsumComputePath: () => z,
345
+ getEinsumPermutation: () => L,
346
+ getFusedBiasGradient: () => xe,
347
+ getFusedDyActivation: () => be,
348
+ getImageCenter: () => S,
349
+ getInnerMostAxes: () => a,
350
+ getPermuted: () => Le,
351
+ getRaggedRank: () => y,
352
+ getReductionAxes: () => oe,
353
+ getReshaped: () => C,
354
+ getReshapedPermuted: () => w,
355
+ getRowPartitionTypesHelper: () => v,
356
+ getSliceBeginCoords: () => T,
357
+ getSliceSize: () => E,
358
+ getSparseFillEmptyRowsIndicesDenseShapeMismatch: () => H,
359
+ getSparseFillEmptyRowsNegativeIndexErrorMessage: () => U,
360
+ getSparseFillEmptyRowsOutOfRangeIndexErrorMessage: () => W,
361
+ getSparseReshapeEmptyTensorZeroOutputDimErrorMessage: () => q,
362
+ getSparseReshapeInputOutputMismatchErrorMessage: () => Y,
363
+ getSparseReshapeInputOutputMultipleErrorMessage: () => J,
364
+ getSparseReshapeMultipleNegativeOneOutputDimErrorMessage: () => G,
365
+ getSparseReshapeNegativeOutputDimErrorMessage: () => K,
366
+ getSparseSegmentReductionIndicesOutOfRangeErrorMessage: () => Be,
367
+ getSparseSegmentReductionNegativeSegmentIdsErrorMessage: () => X,
368
+ getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage: () => Z,
369
+ getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage: () => Q,
370
+ getUndoAxesPermutation: () => re,
371
+ isIdentityPermutation: () => B,
372
+ log: () => u,
373
+ mergeRealAndImagArrays: () => Fe,
374
+ prepareAndValidate: () => h,
375
+ prepareSplitSize: () => V,
376
+ segment_util: () => Ve,
377
+ shouldFuse: () => Ce,
378
+ slice_util: () => Ee,
379
+ splitRealAndImagArrays: () => Ae,
380
+ stridesOrDilationsArePositive: () => t,
381
+ tupleValuesAreOne: () => pe,
382
+ upcastType: () => n,
383
+ validateDefaultValueShape: () => b,
384
+ validateInput: () => ee,
385
+ validateUpdateShape: () => te,
386
+ warn: () => ae
387
+ });
388
+ function Ke(e) {
389
+ try {
390
+ return e.map((e) => ne(e));
391
+ } catch (e) {
392
+ throw Error(`Failed to decode encoded string bytes into utf-8, error: ${e}`);
393
+ }
394
+ }
395
+ function $(e) {
396
+ return e.map((e) => me(e));
397
+ }
398
+ //#endregion
399
+ export { D as A, y as B, L as C, A as D, k as E, E as F, b as H, S as I, x as L, C as M, w as N, j as O, T as P, g as R, z as S, O as T, h as U, v as V, U as _, Ue as a, R as b, X as c, q as d, Y as f, H as g, K as h, We as i, Le as j, M as k, Z as l, G as m, $ as n, He as o, J as p, Ke as r, Be as s, Ge as t, Q as u, W as v, B as w, I as x, V as y, _ as z };
@@ -0,0 +1,103 @@
1
+ //#region node_modules/@tensorflow/tfjs-backend-webgpu/dist/binary_op_util.js
2
+ var e;
3
+ (function(e) {
4
+ e[e.ADD = 0] = "ADD", e[e.ATAN2 = 1] = "ATAN2", e[e.COMPLEX_MULTIPLY_IMAG = 2] = "COMPLEX_MULTIPLY_IMAG", e[e.COMPLEX_MULTIPLY_REAL = 3] = "COMPLEX_MULTIPLY_REAL", e[e.DIV = 4] = "DIV", e[e.ELU_DER = 5] = "ELU_DER", e[e.EQUAL = 6] = "EQUAL", e[e.FLOOR_DIV = 7] = "FLOOR_DIV", e[e.GREATER = 8] = "GREATER", e[e.GREATER_EQUAL = 9] = "GREATER_EQUAL", e[e.LESS = 10] = "LESS", e[e.LESS_EQUAL = 11] = "LESS_EQUAL", e[e.LOGICAL_AND = 12] = "LOGICAL_AND", e[e.LOGICAL_OR = 13] = "LOGICAL_OR", e[e.MAX = 14] = "MAX", e[e.MIN = 15] = "MIN", e[e.MOD = 16] = "MOD", e[e.MUL = 17] = "MUL", e[e.NOT_EQUAL = 18] = "NOT_EQUAL", e[e.POW = 19] = "POW", e[e.PRELU = 20] = "PRELU", e[e.SQUARED_DIFFERENCE = 21] = "SQUARED_DIFFERENCE", e[e.SUB = 22] = "SUB";
5
+ })(e ||= {});
6
+ var t = "let resultTemp = a + b;", n = "let resultTemp = atan2(a, b);", r = "let resultTemp = areal * breal - aimag * bimag;", i = "let resultTemp = areal * bimag + aimag * breal;", a = "let resultTemp = a / b;", o = "let resultTemp = select(a * (b + 1.0), a, b >= b - b);", s = "\n let zero = sign(a) * 0 + 0;\n let one = sign(b) * 0 + 1;\n let resultTemp = select(zero, one, a == b);\n", c = "\n let remainder =\n select(a % b, round(a % b), (round(a) == a) & (round(b) == b));\n let quotient = (a - remainder) / b;\n let resultTemp =\n round(select(quotient, quotient - 1, sign(remainder) == -sign(b)));\n", l = "\n let zero = sign(a) * 0 + 0;\n let one = sign(b) * 0 + 1;\n let resultTemp = select(zero, one, a > b);\n", u = "\n let zero = sign(a) * 0 + 0;\n let one = sign(b) * 0 + 1;\n let resultTemp = select(zero, one, a >= b);\n", d = "\n let zero = sign(a) * 0 + 0;\n let one = sign(b) * 0 + 1;\n let resultTemp = select(zero, one, a < b);\n", f = "\n let zero = sign(a) * 0 + 0;\n let one = sign(b) * 0 + 1;\n let resultTemp = select(zero, one, a <= b);\n", p = "return f32(a >= 1.0 && b >= 1.0);", m = "return (vec4<f32>(a >= vec4<f32>(1.0)) *\n vec4<f32>(b >= vec4<f32>(1.0)));", h = "return f32(a >= 1.0 || b >= 1.0);", g = "return min(vec4<f32>(a >= vec4<f32>(1.0)) +\n vec4<f32>(b >= vec4<f32>(1.0)), vec4<f32>(1.0));", _ = "let resultTemp = max(a, b);", v = "let resultTemp = min(a, b);", y = "\n let isNaN = b == 0.;\n var resultTemp = a % b;\n resultTemp = select((resultTemp + b) % b, resultTemp,\n (a < 0. && b < 0.) || (a >= 0. && b > 0.));\n", b = "\n let isNaN = !vec4<bool>(b);\n var resultTemp = vec4<f32>(a % b);\n if (!((a[0] < 0. && b[0] < 0.) || (a[0] >= 0. && b[0] > 0.))) {\n resultTemp[0] = (resultTemp[0] + b[0]) % b[0];\n }\n if (!((a[1] < 0. && b[1] < 0.) || (a[1] >= 0. && b[1] > 0.))) {\n resultTemp[1] = (resultTemp[1] + b[1]) % b[1];\n }\n if (!((a[2] < 0. && b[2] < 0.) || (a[2] >= 0. && b[2] > 0.))) {\n resultTemp[2] = (resultTemp[2] + b[2]) % b[2];\n }\n if (!((a[3] < 0. && b[3] < 0.) || (a[3] >= 0. && b[3] > 0.))) {\n resultTemp[3] = (resultTemp[3] + b[3]) % b[3];\n }\n", x = "let resultTemp = a * b;", S = "\n var resultTemp = f32(a != b);\n let valueForNaN = 1.0;\n", C = "\n var resultTemp = vec4<f32>(a != b);\n let valueForNaN = 1.0;\n", w = "\n let isNaN = a < 0.0 && floor(b) < b;\n if (b == 0.0) {\n return 1.0;\n }\n var resultTemp = select(sign(a) * pow(abs(a), b), pow(abs(a), b),\n round(abs(b) % 2.0) != 1.0);\n", T = "\n let isModRound1Bool = vec4<i32>(round(abs(b) % vec4<f32>(2.0))) == vec4<i32>(1);\n let isModRound1 = vec4<f32>(isModRound1Bool);\n let multiplier = sign(a) * isModRound1 + (vec4<f32>(1.0) - isModRound1);\n var resultTemp = multiplier * pow(abs(a), b);\n\n // Ensure that a^0 = 1, including 0^0 = 1 as this correspond to TF and JS\n let isExpZero = b == vec4<f32>(0.0);\n if (isExpZero.r) {\n resultTemp.r = 1.0;\n }\n if (isExpZero.g) {\n resultTemp.g = 1.0;\n }\n if (isExpZero.b) {\n resultTemp.b = 1.0;\n }\n if (isExpZero.a) {\n resultTemp.a = 1.0;\n }\n let isNaN = (a < vec4<f32>(0.0)) & (floor(b) < b);\n", E = "if (a < 0.0) { return b * a; } return a;", D = "\n let aLessThanZero = vec4<f32>(a < vec4<f32>(0.0));\n return (aLessThanZero * (b * a)) + ((vec4<f32>(1.0) - aLessThanZero) * a);\n", O = "let resultTemp = (a - b) * (a - b);", k = "let resultTemp = a - b;";
7
+ function A(A, j) {
8
+ let M;
9
+ do {
10
+ switch (A) {
11
+ case e.ATAN2:
12
+ M = n;
13
+ break;
14
+ case e.MAX:
15
+ M = _;
16
+ break;
17
+ case e.MIN:
18
+ M = v;
19
+ break;
20
+ case e.MOD:
21
+ M = j ? b : y;
22
+ break;
23
+ case e.NOT_EQUAL:
24
+ M = j ? C : S;
25
+ break;
26
+ case e.POW:
27
+ M = j ? T : w;
28
+ break;
29
+ default: continue;
30
+ }
31
+ let t, r, i;
32
+ return j ? (t = "isnanVec4", r = "vec4<f32>", i = "vec4<bool>") : (t = "isnan", r = "f32", i = "bool"), `
33
+ let aIsNaN = ${t}(a);
34
+ let aPostLegalization = select(a, ${r}(42), aIsNaN);
35
+ let bIsNaN = ${t}(b);
36
+ let bPostLegalization = select(b, ${r}(42), bIsNaN);
37
+ let isNaN = false;
38
+ let valueForNaN = uniforms.NAN;
39
+ {
40
+ let a = aPostLegalization;
41
+ let b = bPostLegalization;
42
+ ${M}
43
+ return select(
44
+ resultTemp, ${r}(valueForNaN),
45
+ ${i}(isNaN) | aIsNaN | bIsNaN);
46
+ }
47
+ `;
48
+ } while (!1);
49
+ switch (A) {
50
+ case e.ADD:
51
+ M = t;
52
+ break;
53
+ case e.COMPLEX_MULTIPLY_IMAG:
54
+ M = i;
55
+ break;
56
+ case e.COMPLEX_MULTIPLY_REAL:
57
+ M = r;
58
+ break;
59
+ case e.DIV:
60
+ M = a;
61
+ break;
62
+ case e.ELU_DER:
63
+ M = o;
64
+ break;
65
+ case e.EQUAL:
66
+ M = s;
67
+ break;
68
+ case e.FLOOR_DIV:
69
+ M = c;
70
+ break;
71
+ case e.GREATER:
72
+ M = l;
73
+ break;
74
+ case e.GREATER_EQUAL:
75
+ M = u;
76
+ break;
77
+ case e.LESS:
78
+ M = d;
79
+ break;
80
+ case e.LESS_EQUAL:
81
+ M = f;
82
+ break;
83
+ case e.LOGICAL_AND: return j ? m : p;
84
+ case e.LOGICAL_OR: return j ? g : h;
85
+ case e.MUL:
86
+ M = x;
87
+ break;
88
+ case e.PRELU: return j ? D : E;
89
+ case e.SQUARED_DIFFERENCE:
90
+ M = O;
91
+ break;
92
+ case e.SUB:
93
+ M = k;
94
+ break;
95
+ default:
96
+ }
97
+ return `
98
+ ${M}
99
+ return resultTemp;
100
+ `;
101
+ }
102
+ //#endregion
103
+ export { A as n, e as t };
@@ -1,22 +1,55 @@
1
- import { s, h as a } from "../index-CUXkjxiT.js";
2
- import { t } from "../tensor4d-C6UCG_u8.js";
3
- async function u(e) {
4
- await s(e);
5
- const n = t(
6
- [
7
- [
8
- [
9
- [0.1, 0.2, 0, 0],
10
- [0.1, 0.2, 0, 0],
11
- [0, 0, 0, 0],
12
- [0, 0, 0, 0]
13
- ]
14
- ]
15
- ],
16
- [1, 1, 4, 4]
17
- ), r = t([[[[0.1, 0.2, 0.3, 0.4]]]], [1, 1, 1, 4]);
18
- return await a().runKernel("AppendCache", { cache: n, item: r }, { maxSize: 4, pastLen: 2 }).array();
1
+ import { P as e, ii as t, ui as n } from "../dist-BewPQWjc.js";
2
+ //#region lib/checks/appendCache.ts
3
+ async function r(r) {
4
+ await n(r);
5
+ let i = e([[[
6
+ [
7
+ .1,
8
+ .2,
9
+ 0,
10
+ 0
11
+ ],
12
+ [
13
+ .1,
14
+ .2,
15
+ 0,
16
+ 0
17
+ ],
18
+ [
19
+ 0,
20
+ 0,
21
+ 0,
22
+ 0
23
+ ],
24
+ [
25
+ 0,
26
+ 0,
27
+ 0,
28
+ 0
29
+ ]
30
+ ]]], [
31
+ 1,
32
+ 1,
33
+ 4,
34
+ 4
35
+ ]), a = e([[[[
36
+ .1,
37
+ .2,
38
+ .3,
39
+ .4
40
+ ]]]], [
41
+ 1,
42
+ 1,
43
+ 1,
44
+ 4
45
+ ]);
46
+ return await t().runKernel("AppendCache", {
47
+ cache: i,
48
+ item: a
49
+ }, {
50
+ maxSize: 4,
51
+ pastLen: 2
52
+ }).array();
19
53
  }
20
- export {
21
- u as execute
22
- };
54
+ //#endregion
55
+ export { r as execute };
@@ -1,37 +1,56 @@
1
- import { s as i, h as a } from "../index-CUXkjxiT.js";
2
- import { t } from "../tensor4d-C6UCG_u8.js";
3
- import { t as e } from "../tensor2d-BnXMKScO.js";
4
- async function k(n) {
5
- await i(n);
6
- const s = t(
7
- [
8
- [
9
- [
10
- [0.1, 0.2, 0.3, 0.4],
11
- [0.3, 0.4, 0.5, 0.6]
12
- ]
13
- ]
14
- ],
15
- [1, 1, 2, 4]
16
- ), o = t(
17
- [
18
- [
19
- [
20
- [0.5, 0.6, 0.5, 0.6],
21
- [0.7, 0.8, 0.7, 0.8]
22
- ]
23
- ]
24
- ],
25
- [1, 1, 2, 4]
26
- ), r = e(
27
- [
28
- [0, -1 / 0, -1 / 0, -1 / 0],
29
- [0, 0, 0, -1 / 0]
30
- ],
31
- [2, 4]
32
- );
33
- return await a().runKernel("AttentionMask", { q: s, k: o, mask: r }, { divisor: 0.5, pastLen: 0 }).array();
1
+ import { I as e, P as t, ii as n, ui as r } from "../dist-BewPQWjc.js";
2
+ //#region lib/checks/attentionMask.ts
3
+ async function i(i) {
4
+ await r(i);
5
+ let a = t([[[[
6
+ .1,
7
+ .2,
8
+ .3,
9
+ .4
10
+ ], [
11
+ .3,
12
+ .4,
13
+ .5,
14
+ .6
15
+ ]]]], [
16
+ 1,
17
+ 1,
18
+ 2,
19
+ 4
20
+ ]), o = t([[[[
21
+ .5,
22
+ .6,
23
+ .5,
24
+ .6
25
+ ], [
26
+ .7,
27
+ .8,
28
+ .7,
29
+ .8
30
+ ]]]], [
31
+ 1,
32
+ 1,
33
+ 2,
34
+ 4
35
+ ]), s = e([[
36
+ 0,
37
+ -Infinity,
38
+ -Infinity,
39
+ -Infinity
40
+ ], [
41
+ 0,
42
+ 0,
43
+ 0,
44
+ -Infinity
45
+ ]], [2, 4]);
46
+ return await n().runKernel("AttentionMask", {
47
+ q: a,
48
+ k: o,
49
+ mask: s
50
+ }, {
51
+ divisor: .5,
52
+ pastLen: 0
53
+ }).array();
34
54
  }
35
- export {
36
- k as execute
37
- };
55
+ //#endregion
56
+ export { i as execute };