(args: {
inputs: StringNGramsInputs,
backend: MathBackendCPU,
attrs: StringNGramsAttrs
})
| 22 | import {stringNGramsImpl} from './StringNGrams_impl'; |
| 23 | |
| 24 | export function stringNGrams(args: { |
| 25 | inputs: StringNGramsInputs, |
| 26 | backend: MathBackendCPU, |
| 27 | attrs: StringNGramsAttrs |
| 28 | }): [TensorInfo, TensorInfo] { |
| 29 | const {inputs, backend, attrs} = args; |
| 30 | const { |
| 31 | separator, |
| 32 | nGramWidths, |
| 33 | leftPad, |
| 34 | rightPad, |
| 35 | padWidth, |
| 36 | preserveShortSequences |
| 37 | } = attrs; |
| 38 | const {data, dataSplits} = inputs; |
| 39 | const $data = backend.data.get(data.dataId).values as Uint8Array[]; |
| 40 | const $dataSplits = backend.data.get(dataSplits.dataId).values as Int32Array; |
| 41 | |
| 42 | const [nGrams, nGramsSplits] = stringNGramsImpl( |
| 43 | $data, $dataSplits, separator, nGramWidths, leftPad, rightPad, padWidth, |
| 44 | preserveShortSequences); |
| 45 | return [ |
| 46 | backend.makeTensorInfo([nGrams.length], 'string', nGrams), |
| 47 | backend.makeTensorInfo(dataSplits.shape, 'int32', nGramsSplits), |
| 48 | ]; |
| 49 | } |
| 50 | |
| 51 | export const stringNGramsConfig: KernelConfig = { |
| 52 | kernelName: StringNGrams, |
nothing calls this directly
no test coverage detected
searching dependent graphs…