MCPcopy Create free account
hub / github.com/tensorflow/tfjs / stringNGrams

Function stringNGrams

tfjs-backend-wasm/src/kernels/StringNGrams.ts:23–55  ·  view source on GitHub ↗
(args: {
  backend: BackendWasm,
  inputs: StringNGramsInputs,
  attrs: StringNGramsAttrs
})

Source from the content-addressed store, hash-verified

21import {stringNGramsImplCPU} from '../kernel_utils/shared';
22
23function stringNGrams(args: {
24 backend: BackendWasm,
25 inputs: StringNGramsInputs,
26 attrs: StringNGramsAttrs
27}): [TensorInfo, TensorInfo] {
28 const {backend, inputs, attrs} = args;
29 const {data, dataSplits} = inputs;
30 const {
31 separator,
32 nGramWidths,
33 leftPad,
34 rightPad,
35 padWidth,
36 preserveShortSequences,
37 } = attrs;
38
39 const $data = backend.readSync(data.dataId) as Uint8Array[];
40 const $dataSplits = backend.readSync(dataSplits.dataId) as Int32Array;
41
42 const [nGrams, nGramsSplits] = stringNGramsImplCPU(
43 $data, $dataSplits, separator, nGramWidths, leftPad, rightPad, padWidth,
44 preserveShortSequences);
45
46 const nGramsOut = backend.makeOutput([nGrams.length], 'string');
47 const nGramsOutData = backend.dataIdMap.get(nGramsOut.dataId);
48 nGramsOutData.stringBytes = nGrams;
49
50 const nGramsSplitsOut = backend.makeOutput(dataSplits.shape, 'int32');
51 const nGramsSplitsOutVals = backend.typedArrayFromHeap(nGramsSplitsOut);
52 nGramsSplitsOutVals.set(nGramsSplits);
53
54 return [nGramsOut, nGramsSplitsOut];
55}
56
57export const stringNGramsConfig: KernelConfig = {
58 kernelName: StringNGrams,

Callers

nothing calls this directly

Calls 5

typedArrayFromHeapMethod · 0.80
readSyncMethod · 0.65
makeOutputMethod · 0.45
getMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…