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

Function stringSplit

tfjs-backend-wasm/src/kernels/StringSplit.ts:23–52  ·  view source on GitHub ↗
(args: {
  backend: BackendWasm,
  inputs: StringSplitInputs,
  attrs: StringSplitAttrs
})

Source from the content-addressed store, hash-verified

21import {stringSplitImplCPU} from '../kernel_utils/shared';
22
23function stringSplit(args: {
24 backend: BackendWasm,
25 inputs: StringSplitInputs,
26 attrs: StringSplitAttrs
27}): [TensorInfo, TensorInfo, TensorInfo] {
28 const {backend, inputs, attrs} = args;
29 const {input, delimiter} = inputs;
30 const {skipEmpty} = attrs;
31
32 const inputVals = backend.readSync(input.dataId) as Uint8Array[];
33 const delimiterVals = backend.readSync(delimiter.dataId) as Uint8Array[];
34
35 const [indices, values, shape] =
36 stringSplitImplCPU(inputVals, delimiterVals[0], skipEmpty);
37 const outputSize = values.length;
38
39 const indicesOut = backend.makeOutput([outputSize, 2], 'int32');
40 const indicesOutVals = backend.typedArrayFromHeap(indicesOut);
41 indicesOutVals.set(indices);
42
43 const valuesOut = backend.makeOutput([outputSize], 'string');
44 const valuesOutData = backend.dataIdMap.get(valuesOut.dataId);
45 valuesOutData.stringBytes = values;
46
47 const shapeOut = backend.makeOutput([2], 'int32');
48 const shapeOutVals = backend.typedArrayFromHeap(shapeOut);
49 shapeOutVals.set(shape);
50
51 return [indicesOut, valuesOut, shapeOut];
52}
53
54export const stringSplitConfig: KernelConfig = {
55 kernelName: StringSplit,

Callers

nothing calls this directly

Calls 5

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

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…