oidn-web 0.3.5 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +94 -0
- package/README.md +208 -8
- package/dist/oidn.js +4699 -22516
- package/dist/oidn.umd.cjs +989 -5796
- package/lib/UNet.d.ts +111 -26
- package/lib/UNet.js +310 -329
- package/lib/UNet.js.map +1 -1
- package/lib/WGPUComputePass.d.ts +1 -1
- package/lib/WGPUComputePass.js +6 -4
- package/lib/WGPUComputePass.js.map +1 -1
- package/lib/backend.d.ts +1 -4
- package/lib/backend.js +28 -44
- package/lib/backend.js.map +1 -1
- package/lib/finalRgbShader.d.ts +13 -0
- package/lib/finalRgbShader.js +160 -0
- package/lib/finalRgbShader.js.map +1 -0
- package/lib/graphOptimizer.d.ts +54 -0
- package/lib/graphOptimizer.js +215 -0
- package/lib/graphOptimizer.js.map +1 -0
- package/lib/hdrTransfer.d.ts +14 -0
- package/lib/hdrTransfer.js +61 -0
- package/lib/hdrTransfer.js.map +1 -0
- package/lib/main.d.ts +43 -11
- package/lib/main.js +9 -5
- package/lib/main.js.map +1 -1
- package/lib/modelSpec.d.ts +80 -0
- package/lib/modelSpec.js +270 -0
- package/lib/modelSpec.js.map +1 -0
- package/lib/nativeUNet.d.ts +103 -0
- package/lib/nativeUNet.js +2064 -0
- package/lib/nativeUNet.js.map +1 -0
- package/lib/process.d.ts +5 -11
- package/lib/process.js +38 -49
- package/lib/process.js.map +1 -1
- package/lib/resourceTracker.d.ts +26 -0
- package/lib/resourceTracker.js +65 -0
- package/lib/resourceTracker.js.map +1 -0
- package/lib/tileScheduler.d.ts +61 -0
- package/lib/tileScheduler.js +199 -0
- package/lib/tileScheduler.js.map +1 -0
- package/lib/webnnUNet.d.ts +52 -0
- package/lib/webnnUNet.js +535 -0
- package/lib/webnnUNet.js.map +1 -0
- package/package.json +16 -5
- package/src/UNet.ts +463 -437
- package/src/WGPUComputePass.ts +6 -4
- package/src/backend.ts +33 -59
- package/src/finalRgbShader.ts +186 -0
- package/src/graphOptimizer.ts +300 -0
- package/src/hdrTransfer.ts +88 -0
- package/src/main.ts +95 -20
- package/src/modelSpec.ts +414 -0
- package/src/nativeUNet.ts +2655 -0
- package/src/process.ts +46 -71
- package/src/resourceTracker.ts +94 -0
- package/src/tileScheduler.ts +330 -0
- package/src/webnnUNet.ts +812 -0
- package/lib/helper.d.ts +0 -4
- package/lib/helper.js +0 -33
- package/lib/helper.js.map +0 -1
- package/lib/kernels.d.ts +0 -1
- package/lib/kernels.js +0 -26
- package/lib/kernels.js.map +0 -1
- package/src/helper.ts +0 -43
- package/src/kernels.ts +0 -31
package/lib/helper.d.ts
DELETED
package/lib/helper.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import * as tfjs from '@tensorflow/tfjs-core';
|
|
2
|
-
export function profileAndLogKernelCode(execute, disabled = true) {
|
|
3
|
-
if (disabled) {
|
|
4
|
-
execute();
|
|
5
|
-
return;
|
|
6
|
-
}
|
|
7
|
-
tfjs
|
|
8
|
-
.profile(() => {
|
|
9
|
-
execute();
|
|
10
|
-
})
|
|
11
|
-
.then((res) => {
|
|
12
|
-
const kernelNames = Array.from(new Set(res.kernels.map((k) => k.name).filter((name) => !name.endsWith('_op'))));
|
|
13
|
-
function nameToConfig(name) {
|
|
14
|
-
return `${name[0].toLowerCase()}${name.slice(1)}Config`;
|
|
15
|
-
}
|
|
16
|
-
const importCode = kernelNames.map((name) => `import { ${nameToConfig(name)} } from '@tensorflow/tfjs-backend-webgpu/dist/kernels/${name}';`);
|
|
17
|
-
const configCode = kernelNames.map((name) => `${nameToConfig(name)},`);
|
|
18
|
-
const code = `
|
|
19
|
-
${importCode.join('\n')}
|
|
20
|
-
const kernelConfigs: KernelConfig[] = [
|
|
21
|
-
${configCode.join('\n')}
|
|
22
|
-
]
|
|
23
|
-
`;
|
|
24
|
-
console.log(code);
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
export function memory() {
|
|
28
|
-
return tfjs.memory();
|
|
29
|
-
}
|
|
30
|
-
export function tidy(f) {
|
|
31
|
-
return tfjs.tidy(f);
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=helper.js.map
|
package/lib/helper.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAC9C,MAAM,UAAU,uBAAuB,CAAC,OAAmB,EAAE,QAAQ,GAAG,IAAI;IAC1E,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IACD,IAAI;SACD,OAAO,CAAC,GAAG,EAAE;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAC5B,IAAI,GAAG,CACL,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CACvE,CACF,CAAC;QACF,SAAS,YAAY,CAAC,IAAY;YAChC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1D,CAAC;QACD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAChC,CAAC,IAAI,EAAE,EAAE,CACP,YAAY,YAAY,CACtB,IAAI,CACL,yDAAyD,IAAI,IAAI,CACrE,CAAC;QACF,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG;IACf,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;;IAErB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;;GAEtB,CAAC;QACE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,MAAM;IACpB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,CAAa;IAChC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC"}
|
package/lib/kernels.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/lib/kernels.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { registerKernel } from '@tensorflow/tfjs-core/dist/kernel_registry';
|
|
2
|
-
import { mirrorPadConfig } from '@tensorflow/tfjs-backend-webgpu/dist/kernels/MirrorPad';
|
|
3
|
-
import { padV2Config } from '@tensorflow/tfjs-backend-webgpu/dist/kernels/PadV2';
|
|
4
|
-
import { sliceConfig } from '@tensorflow/tfjs-backend-webgpu/dist/kernels/Slice';
|
|
5
|
-
import { fusedConv2DConfig } from '@tensorflow/tfjs-backend-webgpu/dist/kernels/FusedConv2D';
|
|
6
|
-
import { maxPoolConfig } from '@tensorflow/tfjs-backend-webgpu/dist/kernels/MaxPool';
|
|
7
|
-
import { resizeNearestNeighborConfig } from '@tensorflow/tfjs-backend-webgpu/dist/kernels/ResizeNearestNeighbor';
|
|
8
|
-
import { concatConfig } from '@tensorflow/tfjs-backend-webgpu/dist/kernels/Concat';
|
|
9
|
-
import { identityConfig } from '@tensorflow/tfjs-backend-webgpu/dist/kernels/Identity';
|
|
10
|
-
const kernelConfigs = [
|
|
11
|
-
mirrorPadConfig,
|
|
12
|
-
padV2Config,
|
|
13
|
-
sliceConfig,
|
|
14
|
-
fusedConv2DConfig,
|
|
15
|
-
maxPoolConfig,
|
|
16
|
-
resizeNearestNeighborConfig,
|
|
17
|
-
concatConfig,
|
|
18
|
-
identityConfig
|
|
19
|
-
];
|
|
20
|
-
for (const kernelConfig of kernelConfigs) {
|
|
21
|
-
registerKernel({
|
|
22
|
-
...kernelConfig,
|
|
23
|
-
backendName: 'webgpu-oidn'
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=kernels.js.map
|
package/lib/kernels.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"kernels.js","sourceRoot":"","sources":["../src/kernels.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACf,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,wDAAwD,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,sDAAsD,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,oEAAoE,CAAC;AACjH,OAAO,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AAEvF,MAAM,aAAa,GAAmB;IACpC,eAAe;IACf,WAAW;IACX,WAAW;IACX,iBAAiB;IACjB,aAAa;IACb,2BAA2B;IAC3B,YAAY;IACZ,cAAc;CACf,CAAC;AAEF,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;IACzC,cAAc,CAAC;QACb,GAAG,YAAY;QACf,WAAW,EAAE,aAAa;KAC3B,CAAC,CAAC;AACL,CAAC"}
|
package/src/helper.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import * as tfjs from '@tensorflow/tfjs-core';
|
|
2
|
-
export function profileAndLogKernelCode(execute: () => void, disabled = true) {
|
|
3
|
-
if (disabled) {
|
|
4
|
-
execute();
|
|
5
|
-
return;
|
|
6
|
-
}
|
|
7
|
-
tfjs
|
|
8
|
-
.profile(() => {
|
|
9
|
-
execute();
|
|
10
|
-
})
|
|
11
|
-
.then((res) => {
|
|
12
|
-
const kernelNames = Array.from(
|
|
13
|
-
new Set(
|
|
14
|
-
res.kernels.map((k) => k.name).filter((name) => !name.endsWith('_op'))
|
|
15
|
-
)
|
|
16
|
-
);
|
|
17
|
-
function nameToConfig(name: string) {
|
|
18
|
-
return `${name[0].toLowerCase()}${name.slice(1)}Config`;
|
|
19
|
-
}
|
|
20
|
-
const importCode = kernelNames.map(
|
|
21
|
-
(name) =>
|
|
22
|
-
`import { ${nameToConfig(
|
|
23
|
-
name
|
|
24
|
-
)} } from '@tensorflow/tfjs-backend-webgpu/dist/kernels/${name}';`
|
|
25
|
-
);
|
|
26
|
-
const configCode = kernelNames.map((name) => `${nameToConfig(name)},`);
|
|
27
|
-
const code = `
|
|
28
|
-
${importCode.join('\n')}
|
|
29
|
-
const kernelConfigs: KernelConfig[] = [
|
|
30
|
-
${configCode.join('\n')}
|
|
31
|
-
]
|
|
32
|
-
`;
|
|
33
|
-
console.log(code);
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export function memory() {
|
|
38
|
-
return tfjs.memory();
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export function tidy(f: () => void) {
|
|
42
|
-
return tfjs.tidy(f);
|
|
43
|
-
}
|
package/src/kernels.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
KernelConfig,
|
|
3
|
-
registerKernel
|
|
4
|
-
} from '@tensorflow/tfjs-core/dist/kernel_registry';
|
|
5
|
-
|
|
6
|
-
import { mirrorPadConfig } from '@tensorflow/tfjs-backend-webgpu/dist/kernels/MirrorPad';
|
|
7
|
-
import { padV2Config } from '@tensorflow/tfjs-backend-webgpu/dist/kernels/PadV2';
|
|
8
|
-
import { sliceConfig } from '@tensorflow/tfjs-backend-webgpu/dist/kernels/Slice';
|
|
9
|
-
import { fusedConv2DConfig } from '@tensorflow/tfjs-backend-webgpu/dist/kernels/FusedConv2D';
|
|
10
|
-
import { maxPoolConfig } from '@tensorflow/tfjs-backend-webgpu/dist/kernels/MaxPool';
|
|
11
|
-
import { resizeNearestNeighborConfig } from '@tensorflow/tfjs-backend-webgpu/dist/kernels/ResizeNearestNeighbor';
|
|
12
|
-
import { concatConfig } from '@tensorflow/tfjs-backend-webgpu/dist/kernels/Concat';
|
|
13
|
-
import { identityConfig } from '@tensorflow/tfjs-backend-webgpu/dist/kernels/Identity';
|
|
14
|
-
|
|
15
|
-
const kernelConfigs: KernelConfig[] = [
|
|
16
|
-
mirrorPadConfig,
|
|
17
|
-
padV2Config,
|
|
18
|
-
sliceConfig,
|
|
19
|
-
fusedConv2DConfig,
|
|
20
|
-
maxPoolConfig,
|
|
21
|
-
resizeNearestNeighborConfig,
|
|
22
|
-
concatConfig,
|
|
23
|
-
identityConfig
|
|
24
|
-
];
|
|
25
|
-
|
|
26
|
-
for (const kernelConfig of kernelConfigs) {
|
|
27
|
-
registerKernel({
|
|
28
|
-
...kernelConfig,
|
|
29
|
-
backendName: 'webgpu-oidn'
|
|
30
|
-
});
|
|
31
|
-
}
|