@genai-fi/nanogpt 0.9.0 → 0.10.0

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 (343) hide show
  1. package/README.md +352 -14
  2. package/dist/Generator.js +69 -78
  3. package/dist/{RealDiv-D4EzDsC0.js → RealDiv-DgA3z9oO.js} +32 -206
  4. package/dist/Reshape-CF6odzV4.js +16 -0
  5. package/dist/Reshape-_kILl6tK.js +81 -0
  6. package/dist/TeachableLLM.js +28 -22
  7. package/dist/Trainer.d.ts +2 -0
  8. package/dist/Trainer.js +3 -2
  9. package/dist/{axis_util-TbGYJ208.js → axis_util-BvHEw88j.js} +7 -23
  10. package/dist/backend.d.ts +2 -1
  11. package/dist/backend.js +10 -4
  12. package/dist/backend_util-D-rUb2ty.js +474 -0
  13. package/dist/backend_webgpu-B0u2ndUn.js +547 -0
  14. package/dist/binary_op_util-pKXltfxI.js +192 -0
  15. package/dist/broadcast_to-CwF7XIeu.js +30 -0
  16. package/dist/checks/appendCache.js +2 -2
  17. package/dist/checks/attentionMask.js +3 -3
  18. package/dist/checks/check.d.ts +1 -1
  19. package/dist/checks/check.js +8 -8
  20. package/dist/checks/gelu.js +2 -2
  21. package/dist/checks/index.d.ts +2 -0
  22. package/dist/checks/index.js +7 -5
  23. package/dist/checks/matMulGelu.js +6 -6
  24. package/dist/checks/normRMS.js +7 -7
  25. package/dist/checks/normRMSGrad.js +3 -3
  26. package/dist/checks/packUnpack.d.ts +1 -0
  27. package/dist/checks/packUnpack.js +18 -0
  28. package/dist/checks/qkv.js +12 -27
  29. package/dist/checks/rope.js +2 -2
  30. package/dist/checks/weights.js +18 -16
  31. package/dist/complex-CSlYz-2T.js +13 -0
  32. package/dist/complex_util-Yc1A_gV1.js +55 -0
  33. package/dist/concat-BHlIJeyT.js +19 -0
  34. package/dist/concat_util-DcJk7YHS.js +22 -0
  35. package/dist/data/docx.js +1 -1
  36. package/dist/data/parquet.js +2 -2
  37. package/dist/data/pdf.js +1 -1
  38. package/dist/data/textLoader.js +1 -1
  39. package/dist/{dataset-DlZtKmBq.js → dataset-0xP8GjwI.js} +136 -236
  40. package/dist/dropout-C1pM3f11.js +99 -0
  41. package/dist/expand_dims-BPG4fwBP.js +13 -0
  42. package/dist/exports_initializers-xuidcwI4.js +7 -0
  43. package/dist/gather-DykLGqmW.js +10 -0
  44. package/dist/{gelu-Bp_-935b.js → gelu-CNLFZWea.js} +11 -10
  45. package/dist/{gpgpu_math-CDaYiyE_.js → gpgpu_math-DDVJCn6-.js} +90 -265
  46. package/dist/{index-C4L8Cm77.js → index-CieiGp4Y.js} +14 -14
  47. package/dist/index-CjOj7j-u.js +7308 -0
  48. package/dist/{index-Tf7vU29b.js → index-Cp39cXWe.js} +3 -10
  49. package/dist/{index-Dwqa6Zy2.js → index-DvYrXKkX.js} +2 -2
  50. package/dist/index-ZyQhjEPo.js +2157 -0
  51. package/dist/{jszip.min-CjP2V1VV.js → jszip.min-Bz5-11Bk.js} +56 -57
  52. package/dist/kernel_funcs_utils-Dg_-E44D.js +308 -0
  53. package/dist/layers/BaseLayer.d.ts +1 -0
  54. package/dist/layers/BaseLayer.js +7 -6
  55. package/dist/layers/CausalSelfAttention.d.ts +0 -1
  56. package/dist/layers/CausalSelfAttention.js +56 -55
  57. package/dist/layers/MLP.js +15 -16
  58. package/dist/layers/PositionEmbedding.js +5 -14
  59. package/dist/layers/RMSNorm.js +3 -3
  60. package/dist/layers/RoPECache.d.ts +2 -0
  61. package/dist/layers/RoPECache.js +22 -17
  62. package/dist/layers/TiedEmbedding.js +22 -17
  63. package/dist/layers/TransformerBlock.js +21 -20
  64. package/dist/loader/load.js +1 -1
  65. package/dist/loader/loadTransformers.js +1 -1
  66. package/dist/loader/oldZipLoad.js +39 -33
  67. package/dist/loader/save.js +1 -1
  68. package/dist/log_sum_exp-DWI-76TI.js +41 -0
  69. package/dist/main.d.ts +8 -0
  70. package/dist/main.js +63 -52
  71. package/dist/matMul16--R5hOwDG.js +77 -0
  72. package/dist/mat_mul-DeAh4uTH.js +12 -0
  73. package/dist/mod-Gt1rMB4n.js +12 -0
  74. package/dist/models/NanoGPTV1.js +40 -31
  75. package/dist/models/model.d.ts +2 -0
  76. package/dist/models/model.js +37 -29
  77. package/dist/{mulmat_packed_gpu-BT60jmzP.js → mulmat_packed_gpu-BMFhLwta.js} +1 -17
  78. package/dist/{non_max_suppression_impl-CsEgBuMA.js → non_max_suppression_impl-B2W7YjZB.js} +0 -32
  79. package/dist/ones-CAMiP4I2.js +15 -0
  80. package/dist/ops/adamAdjust.js +1 -1
  81. package/dist/ops/adamMoments.d.ts +1 -1
  82. package/dist/ops/adamMoments.js +4 -4
  83. package/dist/ops/add16.d.ts +2 -0
  84. package/dist/ops/add16.js +9 -0
  85. package/dist/ops/appendCache.js +16 -9
  86. package/dist/ops/attentionMask.js +4 -4
  87. package/dist/ops/concat16.d.ts +2 -0
  88. package/dist/ops/concat16.js +9 -0
  89. package/dist/ops/cpu/adamAdjust.js +14 -13
  90. package/dist/ops/cpu/adamMoments.js +10 -9
  91. package/dist/ops/cpu/appendCache.js +9 -8
  92. package/dist/ops/cpu/attentionMask.js +15 -14
  93. package/dist/ops/cpu/fusedSoftmax.js +13 -12
  94. package/dist/ops/cpu/gatherSub.js +9 -24
  95. package/dist/ops/cpu/gelu.js +13 -12
  96. package/dist/ops/cpu/matMul16.d.ts +1 -0
  97. package/dist/ops/cpu/matMul16.js +16 -0
  98. package/dist/ops/cpu/matMulGelu.js +18 -16
  99. package/dist/ops/cpu/matMulMul.js +8 -7
  100. package/dist/ops/cpu/mulDropout.js +4 -3
  101. package/dist/ops/cpu/normRMS.js +11 -10
  102. package/dist/ops/cpu/qkv.js +17 -13
  103. package/dist/ops/cpu/rope.js +23 -22
  104. package/dist/ops/cpu/scatterSub.js +16 -30
  105. package/dist/ops/dot16.d.ts +2 -0
  106. package/dist/ops/dot16.js +42 -0
  107. package/dist/ops/gatherSub.js +1 -1
  108. package/dist/ops/gelu.js +2 -2
  109. package/dist/ops/grads/add16.d.ts +1 -0
  110. package/dist/ops/grads/add16.js +27 -0
  111. package/dist/ops/grads/attentionMask.js +12 -19
  112. package/dist/ops/grads/gelu.js +4 -3
  113. package/dist/ops/grads/matMul16.d.ts +2 -0
  114. package/dist/ops/grads/matMul16.js +9 -0
  115. package/dist/ops/grads/matMulGelu.js +8 -7
  116. package/dist/ops/grads/normRMS.js +8 -7
  117. package/dist/ops/grads/{fusedSoftmax.d.ts → pack16.d.ts} +1 -1
  118. package/dist/ops/grads/pack16.js +7 -0
  119. package/dist/ops/grads/qkv.d.ts +3 -1
  120. package/dist/ops/grads/qkv.js +28 -22
  121. package/dist/ops/grads/rope.d.ts +2 -1
  122. package/dist/ops/grads/rope.js +6 -13
  123. package/dist/ops/grads/softmax16.d.ts +2 -0
  124. package/dist/ops/grads/softmax16.js +26 -0
  125. package/dist/ops/grads/unpack16.d.ts +2 -0
  126. package/dist/ops/grads/unpack16.js +6 -0
  127. package/dist/ops/grads/utils.d.ts +3 -0
  128. package/dist/ops/grads/utils.js +10 -0
  129. package/dist/ops/matMul16.d.ts +15 -0
  130. package/dist/ops/matMul16.js +13 -0
  131. package/dist/ops/matMulGelu.js +1 -1
  132. package/dist/ops/matMulMul.js +1 -1
  133. package/dist/ops/mul16.d.ts +2 -0
  134. package/dist/ops/mul16.js +8 -0
  135. package/dist/ops/mulDrop.js +1 -1
  136. package/dist/ops/normRMS.js +1 -1
  137. package/dist/ops/pack16.d.ts +2 -0
  138. package/dist/ops/pack16.js +6 -0
  139. package/dist/ops/qkv.d.ts +1 -1
  140. package/dist/ops/qkv.js +8 -4
  141. package/dist/ops/reshape16.d.ts +2 -0
  142. package/dist/ops/reshape16.js +43 -0
  143. package/dist/ops/rope.d.ts +1 -1
  144. package/dist/ops/rope.js +8 -10
  145. package/dist/ops/scatterSub.js +1 -1
  146. package/dist/ops/slice16.d.ts +2 -0
  147. package/dist/ops/slice16.js +9 -0
  148. package/dist/ops/softmax16.d.ts +2 -0
  149. package/dist/ops/softmax16.js +12 -0
  150. package/dist/ops/sub16.d.ts +2 -0
  151. package/dist/ops/sub16.js +8 -0
  152. package/dist/ops/sum16.d.ts +2 -0
  153. package/dist/ops/sum16.js +13 -0
  154. package/dist/ops/transpose16.d.ts +3 -0
  155. package/dist/ops/transpose16.js +41 -0
  156. package/dist/ops/unpack16.d.ts +2 -0
  157. package/dist/ops/unpack16.js +6 -0
  158. package/dist/ops/webgl/adamAdjust.js +3 -2
  159. package/dist/ops/webgl/adamMoments.js +2 -1
  160. package/dist/ops/webgl/appendCache.js +2 -1
  161. package/dist/ops/webgl/attentionMask.js +5 -4
  162. package/dist/ops/webgl/fusedSoftmax.js +6 -4
  163. package/dist/ops/webgl/gatherSub.js +7 -6
  164. package/dist/ops/webgl/gelu.js +3 -2
  165. package/dist/ops/webgl/log.js +12 -27
  166. package/dist/ops/webgl/matMul16.d.ts +1 -0
  167. package/dist/ops/webgl/matMul16.js +37 -0
  168. package/dist/ops/webgl/matMulGelu.js +17 -15
  169. package/dist/ops/webgl/matMulMul.js +13 -12
  170. package/dist/ops/webgl/mulDropout.js +9 -8
  171. package/dist/ops/webgl/normRMS.js +8 -7
  172. package/dist/ops/webgl/qkv.js +6 -5
  173. package/dist/ops/webgl/rope.js +11 -10
  174. package/dist/ops/webgl/scatterSub.js +6 -5
  175. package/dist/ops/webgpu/adamAdjust.js +12 -10
  176. package/dist/ops/webgpu/adamMoments.js +27 -22
  177. package/dist/ops/webgpu/add16.d.ts +1 -0
  178. package/dist/ops/webgpu/add16.js +14 -0
  179. package/dist/ops/webgpu/appendCache.js +64 -17
  180. package/dist/ops/webgpu/attentionMask.js +19 -62
  181. package/dist/ops/webgpu/attentionMask32_program.d.ts +19 -0
  182. package/dist/ops/webgpu/attentionMask32_program.js +54 -0
  183. package/dist/ops/webgpu/concat16.d.ts +19 -0
  184. package/dist/ops/webgpu/concat16.js +128 -0
  185. package/dist/ops/webgpu/gatherSub.js +9 -7
  186. package/dist/ops/webgpu/gelu.js +78 -31
  187. package/dist/ops/webgpu/index.js +12 -0
  188. package/dist/ops/webgpu/matMul16.d.ts +1 -0
  189. package/dist/ops/webgpu/matMul16.js +58 -0
  190. package/dist/ops/webgpu/matMul16_program.d.ts +42 -0
  191. package/dist/ops/webgpu/matMul16_program.js +336 -0
  192. package/dist/ops/webgpu/mul16.d.ts +1 -0
  193. package/dist/ops/webgpu/mul16.js +14 -0
  194. package/dist/ops/webgpu/normRMS.js +21 -40
  195. package/dist/ops/webgpu/normRMS16_program.d.ts +9 -0
  196. package/dist/ops/webgpu/normRMS16_program.js +24 -0
  197. package/dist/ops/webgpu/normRMS32_program.d.ts +9 -0
  198. package/dist/ops/webgpu/normRMS32_program.js +24 -0
  199. package/dist/ops/webgpu/normRMSGrad.js +113 -64
  200. package/dist/ops/webgpu/pack16.d.ts +1 -0
  201. package/dist/ops/webgpu/pack16.js +19 -0
  202. package/dist/ops/webgpu/pack16_program.d.ts +19 -0
  203. package/dist/ops/webgpu/pack16_program.js +92 -0
  204. package/dist/ops/webgpu/qkv.js +20 -55
  205. package/dist/ops/webgpu/rope.js +77 -22
  206. package/dist/ops/webgpu/scatterSub.js +9 -7
  207. package/dist/ops/webgpu/slice16.d.ts +7 -0
  208. package/dist/ops/webgpu/slice16.js +71 -0
  209. package/dist/{variable-Bm2OFwGI.js → ops/webgpu/softmax16.d.ts} +2 -8
  210. package/dist/ops/webgpu/softmax16.js +23 -0
  211. package/dist/ops/webgpu/softmax16_program.d.ts +13 -0
  212. package/dist/ops/webgpu/softmax16_program.js +73 -0
  213. package/dist/ops/webgpu/softmax16_subgroup_program.d.ts +17 -0
  214. package/dist/ops/webgpu/softmax16_subgroup_program.js +75 -0
  215. package/dist/ops/webgpu/softmax16grad.d.ts +1 -0
  216. package/dist/ops/webgpu/softmax16grad.js +38 -0
  217. package/dist/ops/webgpu/sub16.d.ts +1 -0
  218. package/dist/ops/webgpu/sub16.js +14 -0
  219. package/dist/ops/webgpu/sum16.d.ts +1 -0
  220. package/dist/ops/webgpu/sum16.js +40 -0
  221. package/dist/ops/webgpu/transpose16.d.ts +1 -0
  222. package/dist/ops/webgpu/transpose16.js +35 -0
  223. package/dist/ops/webgpu/transpose16_program.d.ts +16 -0
  224. package/dist/ops/webgpu/transpose16_program.js +50 -0
  225. package/dist/ops/webgpu/transpose16_shared_program.d.ts +15 -0
  226. package/dist/ops/webgpu/transpose16_shared_program.js +71 -0
  227. package/dist/ops/webgpu/unpack16.d.ts +1 -0
  228. package/dist/ops/webgpu/unpack16.js +49 -0
  229. package/dist/ops/webgpu/utils/binary_op.d.ts +19 -0
  230. package/dist/ops/webgpu/utils/binary_op.js +79 -0
  231. package/dist/ops/webgpu/utils/deviceInfo.d.ts +7 -0
  232. package/dist/ops/webgpu/utils/deviceInfo.js +11 -0
  233. package/dist/ops/webgpu/utils/reductions.d.ts +32 -4
  234. package/dist/ops/webgpu/utils/reductions.js +236 -45
  235. package/dist/ops-CNI3TwqM.js +645 -0
  236. package/dist/pack16-CFUqumar.js +41 -0
  237. package/dist/{papaparse.min-C8l2Kvo1.js → papaparse.min-C0cScC2i.js} +2 -8
  238. package/dist/{parquet-C0Tlmv9c.js → parquet-BE8MU_ge.js} +201 -278
  239. package/dist/patches/PackedTensor.d.ts +12 -0
  240. package/dist/patches/PackedTensor.js +11 -0
  241. package/dist/patches/engine.d.ts +261 -0
  242. package/dist/patches/engine.js +10 -0
  243. package/dist/patches/tape.d.ts +12 -0
  244. package/dist/patches/tape.js +5 -0
  245. package/dist/patches/webgpu_backend.d.ts +18 -0
  246. package/dist/patches/webgpu_backend.js +57 -0
  247. package/dist/{tensor-CZr4dh61.js → patches/webgpu_base.d.ts} +5 -8
  248. package/dist/patches/webgpu_base.js +34 -0
  249. package/dist/patches/webgpu_program.d.ts +36 -0
  250. package/dist/patches/webgpu_program.js +401 -0
  251. package/dist/{pdf-kJD-f258.js → pdf-NIhmP3sq.js} +424 -428
  252. package/dist/random_width-DY6Kk2Dl.js +10051 -0
  253. package/dist/range-BMS52eQi.js +11 -0
  254. package/dist/reciprocal-CTmshQ9J.js +10 -0
  255. package/dist/{register_all_kernels-DIGpEwcf.js → register_all_kernels-Bwu1PTuU.js} +719 -9766
  256. package/dist/relu-yZ2-7WxU.js +10 -0
  257. package/dist/reshape-DevtBWtf.js +10 -0
  258. package/dist/rope-B5UUMsPi.js +32 -0
  259. package/dist/{scatter_nd_util-BQdz--Gn.js → scatter_nd_util-5EL-8VAQ.js} +1 -1
  260. package/dist/selu_util-D1w6yyTO.js +303 -0
  261. package/dist/{shared-DuP7ue-R.js → shared-BRksrJb3.js} +1 -17
  262. package/dist/shared-BuAXb4CI.js +2145 -0
  263. package/dist/sin-BGfy2HZo.js +16 -0
  264. package/dist/slice-D_gkkqZK.js +13 -0
  265. package/dist/slice_util-DtEldBfK.js +261 -0
  266. package/dist/softmax-ZHVebtR1.js +13 -0
  267. package/dist/split-DrfihRpZ.js +10 -0
  268. package/dist/squeeze-DZEpeblb.js +11 -0
  269. package/dist/stack-yOIAalTq.js +13 -0
  270. package/dist/sum-_fzj5ZTB.js +12 -0
  271. package/dist/tensor-DdQUJZlz.js +909 -0
  272. package/dist/tensor-f35l8Odg.js +8 -0
  273. package/dist/tensor1d-CeZuc-Rv.js +12 -0
  274. package/dist/tensor2d-G4Ys2GxX.js +15 -0
  275. package/dist/tensor4d-B8roDgtc.js +15 -0
  276. package/dist/tensor_util-DV-FP5Q3.js +523 -0
  277. package/dist/tfjs_backend-kNyO5L2d.js +653 -0
  278. package/dist/tile-BzyEiF-F.js +13 -0
  279. package/dist/tokeniser/CharTokeniser.js +1 -1
  280. package/dist/tokeniser/bpe.js +1 -1
  281. package/dist/training/Adam.d.ts +2 -1
  282. package/dist/training/Adam.js +12 -28
  283. package/dist/training/AdamExt.d.ts +1 -0
  284. package/dist/training/AdamExt.js +2 -2
  285. package/dist/training/DatasetBuilder.js +3 -20
  286. package/dist/training/FullTrainer.js +82 -64
  287. package/dist/training/Trainer.d.ts +11 -6
  288. package/dist/training/Trainer.js +51 -39
  289. package/dist/training/sparseCrossEntropy.js +3 -3
  290. package/dist/transpose-DKELTqhe.js +38 -0
  291. package/dist/utilities/arrayClose.js +7 -7
  292. package/dist/utilities/dummy.js +35 -27
  293. package/dist/utilities/multinomialCPU.js +2 -2
  294. package/dist/utilities/packed.d.ts +7 -0
  295. package/dist/utilities/packed.js +716 -0
  296. package/dist/utilities/performance.js +1 -1
  297. package/dist/utilities/profile.js +1 -1
  298. package/dist/utilities/safetensors.js +2 -2
  299. package/dist/utilities/sentences.d.ts +5 -0
  300. package/dist/utilities/sentences.js +41 -0
  301. package/dist/utilities/weights.js +2 -2
  302. package/dist/variable-Bhn5bHYv.js +7 -0
  303. package/dist/{webgpu_program-DkQJOJSd.js → webgpu_program-Cigz-7RF.js} +15 -44
  304. package/dist/webgpu_util-BBCnKm2X.js +65 -0
  305. package/dist/zeros-2gldETuK.js +14 -0
  306. package/package.json +4 -3
  307. package/dist/Reshape-Bowtk9BP.js +0 -127
  308. package/dist/Reshape-DUqYftGC.js +0 -30
  309. package/dist/backend_util-CJIiDoV1.js +0 -749
  310. package/dist/broadcast_to-DzlNweb8.js +0 -44
  311. package/dist/concat-B912vBbo.js +0 -33
  312. package/dist/dropout-C-csYCLj.js +0 -193
  313. package/dist/exports_initializers-B8iZMgQ0.js +0 -16
  314. package/dist/gather-Dnpgw-YQ.js +0 -25
  315. package/dist/index-BzFyqcy-.js +0 -4457
  316. package/dist/index-C1rx_Ajs.js +0 -12076
  317. package/dist/kernel_funcs_utils-DKLK0Mg3.js +0 -466
  318. package/dist/log_sum_exp-DO6z8tSE.js +0 -103
  319. package/dist/mat_mul-DzjTFx-u.js +0 -27
  320. package/dist/mod-Dobti4j4.js +0 -27
  321. package/dist/ones-tIJeHlq-.js +0 -29
  322. package/dist/ops/fusedSoftmax.d.ts +0 -2
  323. package/dist/ops/fusedSoftmax.js +0 -10
  324. package/dist/ops/grads/fusedSoftmax.js +0 -22
  325. package/dist/ops-LuCMAnmM.js +0 -1525
  326. package/dist/random_width-CXVRloNK.js +0 -13670
  327. package/dist/range-CWcz7xFA.js +0 -26
  328. package/dist/reciprocal-C4rNcM-S.js +0 -25
  329. package/dist/relu-BjCh_SYb.js +0 -25
  330. package/dist/reshape-CnIwVG1c.js +0 -25
  331. package/dist/selu_util-OtRzVwW5.js +0 -719
  332. package/dist/shared-DmRsFyaJ.js +0 -3134
  333. package/dist/sin-gpDNRxE0.js +0 -47
  334. package/dist/slice-d0Vo9XTN.js +0 -28
  335. package/dist/softmax-D7Jj3p_P.js +0 -28
  336. package/dist/split-DK2k5eHf.js +0 -25
  337. package/dist/stack-DFatutCx.js +0 -27
  338. package/dist/sum-CJ0ULhmt.js +0 -27
  339. package/dist/tensor1d-vML0r3q6.js +0 -27
  340. package/dist/tensor2d-D76QGjF3.js +0 -30
  341. package/dist/tensor4d-Df1WlVDY.js +0 -30
  342. package/dist/webgpu_util-pLEV9tks.js +0 -80
  343. package/dist/zeros-Bj5rMYA7.js +0 -52
@@ -0,0 +1,16 @@
1
+ import { A as o, B as t, E as r } from "./index-ZyQhjEPo.js";
2
+ import { l as i, n as a } from "./tensor_util-DV-FP5Q3.js";
3
+ function e(n) {
4
+ const s = { x: t(n, "x", "cos", "float32") };
5
+ return r.runKernel(i, s);
6
+ }
7
+ const p = /* @__PURE__ */ o({ cos_: e });
8
+ function x(n) {
9
+ const s = { x: t(n, "x", "sin", "float32") };
10
+ return r.runKernel(a, s);
11
+ }
12
+ const l = /* @__PURE__ */ o({ sin_: x });
13
+ export {
14
+ p as c,
15
+ l as s
16
+ };
@@ -0,0 +1,13 @@
1
+ import { A as c, B as e, E as a } from "./index-ZyQhjEPo.js";
2
+ import { f as l } from "./tensor_util-DV-FP5Q3.js";
3
+ function p(s, o, n) {
4
+ const r = e(s, "x", "slice", "string_or_numeric");
5
+ if (r.rank === 0)
6
+ throw new Error("Slicing scalar is not possible");
7
+ const t = { x: r }, i = { begin: o, size: n };
8
+ return a.runKernel(l, t, i);
9
+ }
10
+ const u = /* @__PURE__ */ c({ slice_: p });
11
+ export {
12
+ u as s
13
+ };
@@ -0,0 +1,261 @@
1
+ import { a as E, k as x } from "./tensor-DdQUJZlz.js";
2
+ const N = -2, L = -1;
3
+ function P(n, e, i) {
4
+ const r = n.shape.length;
5
+ E(r === e.length, () => `Error in slice${r}D: Length of begin ${e} must match the rank of the array (${r}).`), E(r === i.length, () => `Error in slice${r}D: Length of size ${i} must match the rank of the array (${r}).`);
6
+ for (let t = 0; t < r; ++t)
7
+ E(e[t] + i[t] <= n.shape[t], () => `Error in slice${r}D: begin[${t}] + size[${t}] (${e[t] + i[t]}) would overflow input.shape[${t}] (${n.shape[t]})`);
8
+ }
9
+ function j(n) {
10
+ const e = [];
11
+ let i = 0;
12
+ for (; n > 0; )
13
+ n & 1 && e.push(i), n /= 2, i++;
14
+ return e;
15
+ }
16
+ function z(n, e, i) {
17
+ const r = [];
18
+ for (let t = 0; t < n.length; t++)
19
+ r[t] = Math.ceil((e[t] - n[t]) / i[t]);
20
+ return r;
21
+ }
22
+ function V(n, e, i, r) {
23
+ const t = [...n];
24
+ for (let o = t.length; o < r.length; o++)
25
+ t.push(1);
26
+ for (let o = 0; o < i; o++)
27
+ o === 0 ? t[e] = 1 : (t.splice(
28
+ e,
29
+ 0,
30
+ 1
31
+ /* element to add */
32
+ ), t.pop());
33
+ return t;
34
+ }
35
+ function D(n, e, i) {
36
+ return i <= n ? i : i - (e - 1);
37
+ }
38
+ function O(n, e) {
39
+ const i = [];
40
+ for (let r = 0; r < n; r++)
41
+ i.push(e + r);
42
+ return i;
43
+ }
44
+ function B(n, e, i, r, t, o, a, f, c) {
45
+ const h = n.length;
46
+ let S = new Array(h), g = new Array(h), s = new Array(h);
47
+ if (e.length && i > 0) {
48
+ const u = e[0], p = i + 1;
49
+ S = T(a, u, p, r, n), g = R(f, u, p, t, n), s = V(o, u, p, n);
50
+ } else
51
+ for (let u = 0; u < h; u++)
52
+ S[u] = W(a, r, o, n, u, c), g[u] = v(f, t, o, n, u, c), s[u] = X(o, u, c);
53
+ return {
54
+ begin: S,
55
+ end: g,
56
+ strides: s
57
+ };
58
+ }
59
+ function T(n, e, i, r, t) {
60
+ const o = [...t], a = O(i, e);
61
+ for (let f = 0; f < o.length; f++)
62
+ if (a.indexOf(f) > -1)
63
+ o[f] = 0;
64
+ else {
65
+ const c = D(e, i, f);
66
+ let h = r[c];
67
+ n & 1 << c && (h = 0), o[f] = h;
68
+ }
69
+ return o;
70
+ }
71
+ function R(n, e, i, r, t) {
72
+ const o = [...t], a = O(i, e);
73
+ for (let f = 0; f < o.length; f++)
74
+ if (a.indexOf(f) > -1)
75
+ o[f] = Number.MAX_SAFE_INTEGER;
76
+ else {
77
+ const c = D(e, i, f);
78
+ let h = r[c];
79
+ n & 1 << c && (h = Number.MAX_SAFE_INTEGER), o[f] = h;
80
+ }
81
+ for (let f = 0; f < o.length; f++) {
82
+ const c = t[f];
83
+ o[f] < 0 && (o[f] += c), o[f] = x(0, o[f], t[f]);
84
+ }
85
+ return o;
86
+ }
87
+ function X(n, e, i) {
88
+ let r = n[e];
89
+ return (i & 1 << e || r == null) && (r = 1), r;
90
+ }
91
+ function W(n, e, i, r, t, o) {
92
+ let a = e[t];
93
+ const f = i[t] || 1;
94
+ (n & 1 << t || o & 1 << t || a == null) && (f > 0 ? a = Number.MIN_SAFE_INTEGER : a = Number.MAX_SAFE_INTEGER);
95
+ const c = r[t];
96
+ return a < 0 && (a += c), a = x(0, a, c - 1), a;
97
+ }
98
+ function v(n, e, i, r, t, o) {
99
+ let a = e[t];
100
+ const f = i[t] || 1;
101
+ (n & 1 << t || o & 1 << t || a == null) && (f > 0 ? a = Number.MAX_SAFE_INTEGER : a = Number.MIN_SAFE_INTEGER);
102
+ const c = r[t];
103
+ return a < 0 && (a += c), f > 0 ? a = x(0, a, c) : a = x(-1, a, c - 1), a;
104
+ }
105
+ function C(n, e, i) {
106
+ let r = i.length;
107
+ for (let t = 0; t < i.length; t++)
108
+ if (i[t] > 1) {
109
+ r = t;
110
+ break;
111
+ }
112
+ for (let t = r + 1; t < i.length; t++)
113
+ if (e[t] > 0 || i[t] !== n[t])
114
+ return !1;
115
+ return !0;
116
+ }
117
+ function H(n, e) {
118
+ let i = n.length > 0 ? n[n.length - 1] : 1;
119
+ for (let r = 0; r < n.length - 1; r++)
120
+ i += n[r] * e[r];
121
+ return i;
122
+ }
123
+ function K(n, e, i) {
124
+ let r;
125
+ const t = n.shape.length;
126
+ typeof e == "number" ? r = [e, ...new Array(t - 1).fill(0)] : e.length < t ? r = e.concat(new Array(t - e.length).fill(0)) : r = e.slice(), r.forEach((a) => {
127
+ E(a !== -1, () => "slice() does not support negative begin indexing.");
128
+ });
129
+ let o;
130
+ return i == null ? o = new Array(t).fill(-1) : typeof i == "number" ? o = [i, ...new Array(t - 1).fill(-1)] : i.length < t ? o = i.concat(new Array(t - i.length).fill(-1)) : o = i, o = o.map((a, f) => a >= 0 ? a : (E(a === -1, () => `Negative size values should be exactly -1 but got ${a} for the slice() size at index ${f}.`), n.shape[f] - r[f])), [r, o];
131
+ }
132
+ function q(n, e, i, r, t, o, a, f, c) {
133
+ let h;
134
+ if (r == null ? (h = new Array(e.length), h.fill(1)) : h = r, a != null && (a & a - 1) !== 0)
135
+ throw new Error("Multiple ellipses in slice is not allowed.");
136
+ let S = !1;
137
+ const g = {
138
+ dims: h.length,
139
+ numAddAxisAfterEllipsis: 0,
140
+ begin: e.slice(),
141
+ end: i.slice(),
142
+ strides: h.slice(),
143
+ beginMask: t,
144
+ endMask: o,
145
+ ellipsisMask: a,
146
+ newAxisMask: f,
147
+ shrinkAxisMask: c
148
+ };
149
+ for (let l = 0; l < g.dims; l++)
150
+ S && (1 << l & f) !== 0 && g.numAddAxisAfterEllipsis++, 1 << l & a && (S = !0);
151
+ S || (g.ellipsisMask |= 1 << g.dims, g.dims++);
152
+ const s = {
153
+ dims: n.length,
154
+ beginMask: 0,
155
+ endMask: 0,
156
+ beginValid: !1,
157
+ endValid: !1
158
+ };
159
+ J(g, s);
160
+ let u = !0, p = !0, M = !0;
161
+ const I = [], w = [];
162
+ for (let l = 0; l < n.length; ++l) {
163
+ if (s.strides[l] === 0)
164
+ throw Error(`strides[${l}] must be non-zero`);
165
+ const m = !!(s.shrinkAxisMask & 1 << l), d = n[l];
166
+ if (d === -1) {
167
+ I.push(m ? 1 : -1);
168
+ continue;
169
+ }
170
+ const _ = [s.beginMask & 1 << l, s.endMask & 1 << l], $ = [
171
+ s.strides[l] > 0 ? 0 : -1,
172
+ s.strides[l] > 0 ? d : d - 1
173
+ ];
174
+ if (m && s.strides[l] <= 0)
175
+ throw Error("only stride 1 allowed on non-range indexing.");
176
+ M = M && s.strides[l] === 1;
177
+ const y = !!(s.beginMask & 1 << l && s.endMask & 1 << l);
178
+ if (s.beginValid && s.endValid) {
179
+ if (m) {
180
+ const G = s.begin[l] < 0 ? d + s.begin[l] : s.begin[l];
181
+ if (s.begin[l] = G, s.end[l] = s.begin[l] + 1, G < 0 || G >= d)
182
+ throw Error(`slice index ${s.begin[l]} of dimension ${l} out of bounds.`);
183
+ } else
184
+ s.begin[l] = F(s.begin[l], 0, s.strides[l], d, _, $), s.end[l] = F(s.end[l], 1, s.strides[l], d, _, $);
185
+ const b = s.strides[l] === 1 && s.begin[l] === 0 && s.end[l] === d;
186
+ u = u && b, p = p && (l === 0 && s.strides[l] === 1 || b);
187
+ } else
188
+ u = u && s.strides[l] === 1 && y, p = p && (l === 0 && s.strides[l] === 1 || y);
189
+ let A, k = !1;
190
+ if (s.beginValid && s.endValid ? (A = s.end[l] - s.begin[l], k = !0) : m ? (A = 1, k = !0) : y && d >= 0 && (s.strides[l] < 0 ? A = -d : A = d, k = !0), k) {
191
+ let b;
192
+ A === 0 || A < 0 != s.strides[l] < 0 ? b = 0 : b = Math.trunc(A / s.strides[l]) + (A % s.strides[l] !== 0 ? 1 : 0), I.push(b);
193
+ } else
194
+ I.push(-1);
195
+ }
196
+ for (let l = 0; l < s.finalShapeGatherIndices.length; ++l) {
197
+ const m = s.finalShapeGatherIndices[l];
198
+ m >= 0 ? w.push(I[m]) : m === N && w.push(1);
199
+ }
200
+ return {
201
+ finalShapeSparse: w.filter((l, m) => s.finalShapeGatherIndices[m] !== N),
202
+ finalShape: w,
203
+ isIdentity: u,
204
+ sliceDim0: p,
205
+ isSimpleSlice: M,
206
+ begin: s.begin,
207
+ end: s.end,
208
+ strides: s.strides
209
+ };
210
+ }
211
+ function J(n, e) {
212
+ e.beginMask = 0, e.endMask = 0, e.shrinkAxisMask = 0;
213
+ let i = 0;
214
+ e.beginValid = n.begin != null, e.endValid = n.end != null, e.begin = new Array(e.dims), e.end = new Array(e.dims), e.strides = new Array(e.dims), e.finalShapeGatherIndices = [], e.finalShapeGatherIndicesSparse = [], e.inputShapeGatherIndicesSparse = new Array(e.dims);
215
+ for (let r = 0; r < n.dims; r++)
216
+ if (1 << r & n.ellipsisMask) {
217
+ const t = Math.min(e.dims - (n.dims - r) + 1 + n.numAddAxisAfterEllipsis, e.dims);
218
+ for (; i < t; i++)
219
+ e.begin[i] = 0, e.end[i] = 0, e.strides[i] = 1, e.beginMask |= 1 << i, e.endMask |= 1 << i, e.finalShapeGatherIndices.push(i), e.finalShapeGatherIndicesSparse.push(-1), e.inputShapeGatherIndicesSparse[i] = r;
220
+ } else if (1 << r & n.newAxisMask)
221
+ e.finalShapeGatherIndices.push(N), e.finalShapeGatherIndicesSparse.push(-1);
222
+ else {
223
+ if (i === e.begin.length)
224
+ throw Error(`Index out of range using input dim ${i}; input has only ${e.dims} dims, ${e.begin.length}.`);
225
+ n.begin != null && (e.begin[i] = n.begin[r]), n.end != null && (e.end[i] = n.end[r]), e.strides[i] = n.strides[r], n.beginMask & 1 << r && (e.beginMask |= 1 << i), n.endMask & 1 << r && (e.endMask |= 1 << i), n.shrinkAxisMask & 1 << r ? (e.finalShapeGatherIndices.push(L), e.finalShapeGatherIndicesSparse.push(-1), e.shrinkAxisMask |= 1 << i) : (e.finalShapeGatherIndices.push(i), e.finalShapeGatherIndicesSparse.push(r)), e.inputShapeGatherIndicesSparse[i] = r, i++;
226
+ }
227
+ }
228
+ function F(n, e, i, r, t, o) {
229
+ if (t[e])
230
+ return i > 0 ? o[e] : o[e + 1 & 1];
231
+ {
232
+ const a = n < 0 ? r + n : n;
233
+ return a < o[0] ? o[0] : a > o[1] ? o[1] : a;
234
+ }
235
+ }
236
+ const Y = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
237
+ __proto__: null,
238
+ assertParamsValid: P,
239
+ computeFlatOffset: H,
240
+ computeOutShape: z,
241
+ getNormalizedAxes: B,
242
+ isSliceContinous: C,
243
+ maskToAxes: j,
244
+ parseSliceParams: K,
245
+ sliceInfo: q,
246
+ startForAxis: W,
247
+ startIndicesWithElidedDims: T,
248
+ stopForAxis: v,
249
+ stopIndicesWithElidedDims: R,
250
+ stridesForAxis: X,
251
+ stridesWithElidedDims: V
252
+ }, Symbol.toStringTag, { value: "Module" }));
253
+ export {
254
+ P as a,
255
+ q as b,
256
+ H as c,
257
+ z as d,
258
+ C as i,
259
+ K as p,
260
+ Y as s
261
+ };
@@ -0,0 +1,13 @@
1
+ import { A as r, B as f, E as i } from "./index-ZyQhjEPo.js";
2
+ import { S as e } from "./tensor_util-DV-FP5Q3.js";
3
+ function l(s, o = -1) {
4
+ const t = f(s, "logits", "softmax", "float32");
5
+ if (o === -1 && (o = t.rank - 1), o !== t.rank - 1)
6
+ throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${t.rank} and dim was ${o}`);
7
+ const n = { logits: t }, a = { dim: o };
8
+ return i.runKernel(e, n, a);
9
+ }
10
+ const c = /* @__PURE__ */ r({ softmax_: l });
11
+ export {
12
+ c as s
13
+ };
@@ -0,0 +1,10 @@
1
+ import { A as p, B as i, E as c } from "./index-ZyQhjEPo.js";
2
+ import { c as a } from "./tensor_util-DV-FP5Q3.js";
3
+ function e(t, s, o = 0) {
4
+ const n = { x: i(t, "x", "split") }, r = { numOrSizeSplits: s, axis: o };
5
+ return c.runKernel(a, n, r);
6
+ }
7
+ const u = /* @__PURE__ */ p({ split_: e });
8
+ export {
9
+ u as s
10
+ };
@@ -0,0 +1,11 @@
1
+ import { A as o, B as n } from "./index-ZyQhjEPo.js";
2
+ import { r as t } from "./reshape-DevtBWtf.js";
3
+ import { h as a } from "./tensor-DdQUJZlz.js";
4
+ function p(r, s) {
5
+ const e = n(r, "x", "squeeze", "string_or_numeric");
6
+ return t(e, a(e.shape, s).newShape);
7
+ }
8
+ const c = /* @__PURE__ */ o({ squeeze_: p });
9
+ export {
10
+ c as s
11
+ };
@@ -0,0 +1,13 @@
1
+ import { A as e, C as c, E as i } from "./index-ZyQhjEPo.js";
2
+ import { P as m } from "./tensor_util-DV-FP5Q3.js";
3
+ import { a as r } from "./tensor-DdQUJZlz.js";
4
+ function f(o, s = 0) {
5
+ const t = c(o, "tensors", "stack", "string_or_numeric");
6
+ r(t.length >= 1, () => "Pass at least one tensor to tf.stack"), t.length > 0 && r(s <= t[0].rank, () => "Axis must be <= rank of the tensor");
7
+ const n = t, a = { axis: s };
8
+ return i.runKernel(m, n, a);
9
+ }
10
+ const l = /* @__PURE__ */ e({ stack_: f });
11
+ export {
12
+ l as s
13
+ };
@@ -0,0 +1,12 @@
1
+ import { A as e, B as u, G as m, E as c } from "./index-ZyQhjEPo.js";
2
+ import { g as i } from "./tensor_util-DV-FP5Q3.js";
3
+ function l(t, o = null, n = !1) {
4
+ let s = u(t, "x", "sum");
5
+ s.dtype === "bool" && (s = m(s, "int32"));
6
+ const r = { x: s }, a = { axis: o, keepDims: n };
7
+ return c.runKernel(i, r, a);
8
+ }
9
+ const x = /* @__PURE__ */ e({ sum_: l });
10
+ export {
11
+ x as s
12
+ };