(folder)
| 268 | } |
| 269 | |
| 270 | async loadModel(folder) { |
| 271 | if (this.initialized) return console.error("Model already loaded"); |
| 272 | |
| 273 | console.log("Loading model from folder:", folder); |
| 274 | const weightsFolder = `weights/${folder}/`; |
| 275 | |
| 276 | const params = await this.loadParameters(weightsFolder); |
| 277 | const { embeddingsBuffers, deEmbeddingsBuffers } = await this.loadEmbeddings(params, weightsFolder); |
| 278 | const { posEmbdBuffer } = await this.loadPositionalEmbeddings(params, weightsFolder); |
| 279 | const layer_buffers = await this.loadLayers(params, weightsFolder); |
| 280 | |
| 281 | console.log("Loading final layer norm..."); |
| 282 | const { normGammaBuffer, normBetaBuffer } = await this.loadFinalLayerNorm(params, weightsFolder); |
| 283 | |
| 284 | const output = { layer_buffers, embeddingsBuffers, deEmbeddingsBuffers, posEmbdBuffer, normGammaBuffer, normBetaBuffer }; |
| 285 | console.log("Finished loading model.", output, params); |
| 286 | return [output, params]; |
| 287 | } |
| 288 | |
| 289 | async loadParameters(weightsFolder) { |
| 290 | console.log("Loading params..."); |
no test coverage detected