Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
| // import { BertAPI } from './api/bertApi' | |
| // import { DemoAPI } from './api/demoApi' | |
| import {API} from './api/mainApi' | |
| import * as d3 from 'd3' | |
| import * as R from 'ramda' | |
| import * as _ from 'lodash' | |
| import * as nj from 'numjs' | |
| import * as x_ from './etc/_Tools' | |
| import * as tf from '@tensorflow/tfjs' | |
| import {TokenDisplay, TokenWrapper, sideToLetter} from './data/TokenWrapper' | |
| import {AttentionWrapper} from "./data/AttentionCapsule" | |
| import {FaissSearchResultWrapper} from "./data/FaissSearchWrapper" | |
| const api = new API() | |
| /** | |
| * To learn about the behavior of the functions that I write, without writing a professional test suite | |
| * (cuz time constraints / I don't know how to do a testing suite well in Typescript) | |
| */ | |
| export class Tester { | |
| // static testTf() { | |
| // const a = tf.randomUniform([3,3,4]); | |
| // const b = a.gather([0, 1], 0); | |
| // const a_out = a.arraySync(); | |
| // console.log(a_out); | |
| // } | |
| // static testAttWrapperConstructor() { | |
| // api.getAttentions("Simple test one", "another test two").then(r => { | |
| // const att = new AttentionWrapper(r); | |
| // console.log(att.all); | |
| // }) | |
| // } | |
| // static testNjAray() { | |
| // const a = nj.ones([1,7,12], 'int32') | |
| // const b = a | |
| // b.slice(null, 0, 11).assign(0, false) | |
| // console.log(b.tolist()); | |
| // } | |
| // static testFindIdx() { | |
| // const bad_toks = ['[CLS]', '[SEP]'] | |
| // const left_text = ['[CLS]', 'this', 'is', 'sentence', '[SEP]', '[CLS]'] | |
| // // const bad_inds = _.findAllIndexes(left_text, (a) => _.includes(bad_toks, a)) | |
| // const bad_inds = x_.findAllIndexes(left_text, (a) => _.includes(bad_toks, a)) | |
| // console.log(bad_inds); | |
| // } | |
| // static testUpdateMaskedAttention(){ | |
| // const as = 'this is a long string that has some meaning' | |
| // const bs = 'String part 2' | |
| // const a = ['[CLS]', 'this', 'is', 'a', 'long', 'string', 'that', 'has', 'some', 'meaning', '[SEP]'] | |
| // const b = ['string', 'part', '2', '[SEP]'] | |
| // const maskA = [1, 7, 9] | |
| // const maskB = [] // CAN'T BE EMPTY | |
| // const api = new BertAPI() | |
| // const val1 = new TokenDisplay(a, maskA) | |
| // const val2 = new TokenDisplay(b, maskB) | |
| // api.updateMaskedAttentions(val1, val2).then( | |
| // (r) => { | |
| // console.log(r.ab.left_text); | |
| // console.log(r.ab.right_text); | |
| // } | |
| // ) | |
| // } | |
| // static testOrderedInsert() { | |
| // const a = [1, 3, 6, 8, 9] | |
| // const a2 = [1, 6, 8, 22, 9] | |
| // const a3 = [] | |
| // const val = 4 | |
| // x_.orderedInsert_(a, val) | |
| // console.log(a); | |
| // x_.orderedInsert_(a2, val, true) | |
| // console.log(a2); | |
| // x_.orderedInsert_(a3, val) | |
| // console.log(a3); | |
| // } | |
| // static testTokenDisplay() { | |
| // const toksa = ['yes', 'my', 'good', 'sir'] | |
| // const toksb = ['hi', 'there'] | |
| // const masksa = [] | |
| // const masksb = [] | |
| // const td = new TokenDisplay(toksa, masksa) | |
| // const td2 = new TokenDisplay(toksb, masksb) | |
| // const twrap = new TokenWrapper(toksa, toksb, masksa, masksb) | |
| // // console.log(twrap.a); | |
| // // console.log(twrap.b); | |
| // // console.log(twrap.all); | |
| // // twrap.mask("a", 3) | |
| // // console.log(twrap.a); | |
| // // console.log(twrap.all); | |
| // twrap.mask("all", 1) | |
| // console.log(twrap.b); | |
| // console.log(twrap.all); | |
| // } | |
| // static testFaissWrapper() { | |
| // const q = x_.makeRandom(768); | |
| // api.getNearestWozEmbeddings(q, 0, 10).then( | |
| // r => { | |
| // const fsw = new FaissSearchResultWrapper(r) | |
| // console.log(fsw.toStringArr()); | |
| // } | |
| // ) | |
| // } | |
| // static testSideToLetter() { | |
| // const side = "left" | |
| // console.log( sideToLetter(side, "all")); | |
| // console.log( sideToLetter(side, "ab")); | |
| // console.log( sideToLetter(side, "ba")); | |
| // console.log( sideToLetter(side, "bb")); | |
| // console.log( sideToLetter(side, "aa")); | |
| // console.log( sideToLetter("right", "aa")); | |
| // console.log( sideToLetter("abc", "aa")); // no error thrown... But linting catches an issue | |
| // } | |
| // static testRandomArrayCreation() { | |
| // console.log(x_.makeRandom(10)); | |
| // } | |
| // static testFaissSearchResultsHist () { | |
| // api.getNearestWozEmbeddings(x_.makeRandom(768), 0).then(val => { | |
| // const fsw = new FaissSearchResultWrapper(val); | |
| // console.log(fsw.getHistogram()); | |
| // }) | |
| // } | |
| static testReadingJSON () { | |
| // console.log("RUNNING THE THING"); | |
| let promise = new Promise(function(resolve, reject) { | |
| resolve(DemoAPI) | |
| }) | |
| promise.then(x => console.log(x)) | |
| // console.log(DemoAPI) | |
| // d3.json("demoAPI.json").then(d => console.log(Object.keys(d))) | |
| } | |
| } | |