Spaces:
Sleeping
Sleeping
| import * as ort from "onnxruntime-web"; | |
| import { ModelInferencer } from "./inc/modelInferencer"; | |
| async function main() { | |
| const modelPath = "/home/camus/work/trigo/trigo-web/public/onnx/20251204-trigo-value-gpt2-l6-h64-251125-lr500/GPT2CausalLM_ep0019_evaluation.onnx"; | |
| const inferencer = new ModelInferencer(ort.Tensor, { seqLen: 256 }); | |
| const session = await ort.InferenceSession.create(modelPath); | |
| inferencer.setSession(session); | |
| // Helper to tokenize TGN | |
| const tokenize = (tgn: string): number[] => { | |
| const START = 1; | |
| const END = 2; | |
| const tokens: number[] = [START]; | |
| for (let i = 0; i < tgn.length; i++) { | |
| tokens.push(tgn.charCodeAt(i)); | |
| } | |
| tokens.push(END); | |
| // Pad to 256 | |
| while (tokens.length < 256) { | |
| tokens.push(0); | |
| } | |
| return tokens; | |
| }; | |
| const testPositions = [ | |
| { tgn: "[Board 5x5]\n\n", desc: "Empty board" }, | |
| { tgn: "[Board 5x5]\n\n1. Pass ", desc: "After Black Pass" }, | |
| { tgn: "[Board 5x5]\n\n1. aa ", desc: "After Black aa" }, | |
| { tgn: "[Board 5x5]\n\n1. Pass Pass\n", desc: "Both pass" }, | |
| { tgn: "[Board 5x5]\n\n1. aa zz\n2. ", desc: "After aa zz" }, | |
| ]; | |
| for (const pos of testPositions) { | |
| const tokens = tokenize(pos.tgn); | |
| const value = await inferencer.runValuePrediction(tokens); | |
| console.log(pos.desc + ": value = " + value); | |
| } | |
| } | |
| main().catch(console.error); | |