Skip to content

Commit 12d0c51

Browse files
KimKim
Kim
authored and
Kim
committed
fix webgl kernel memory leak
1 parent 6affa88 commit 12d0c51

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

src/image-target/detector/kernels/webgl/binomialFilter.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,9 @@ export const binomialFilter = (args) =>{//{inputs: UnaryInputs, backend: MathBac
5858
const[kernel1,kernel2]=GetKernels(image);
5959

6060
const result1=backend.runWebGLProgram(kernel1,[image],image.dtype);
61-
return backend.runWebGLProgram(kernel2,[result1],image.dtype);
61+
const result2=backend.runWebGLProgram(kernel2,[result1],image.dtype);
62+
backend.disposeIntermediateTensorInfo(result1);
63+
return result2;
6264
}
6365

6466

src/image-target/detector/kernels/webgl/computeOrientationHistograms.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,9 @@ export const computeOrientationHistograms=(args)=>{
114114
const [program1,program2]=GetPrograms(prunedExtremasT, radialPropertiesT,pyramidImagesLength);
115115

116116
const result1 = backend.runWebGLProgram(program1, [...gaussianImagesT, prunedExtremasT, radialPropertiesT],radialPropertiesT.dtype);
117-
return backend.runWebGLProgram(program2, [result1],radialPropertiesT.dtype);
118-
117+
const result2 = backend.runWebGLProgram(program2, [result1],radialPropertiesT.dtype);
118+
backend.disposeIntermediateTensorInfo(result1);
119+
return result2;
119120
}
120121

121122
export const computeOrientationHistogramsConfig={

src/image-target/detector/kernels/webgl/smoothHistograms.js

+4
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,11 @@ export const smoothHistograms=(args)=>{
3737

3838
const program = GetProgram(histograms);
3939
for (let i = 0; i < ORIENTATION_SMOOTHING_ITERATIONS; i++) {
40+
const _histograms = histograms;
4041
histograms = backend.runWebGLProgram(program,[histograms],histograms.dtype);//this._compileAndRun(program, [histograms]);
42+
if (i > 0) {
43+
backend.disposeIntermediateTensorInfo(_histograms);
44+
}
4145
}
4246
return histograms;
4347

0 commit comments

Comments
 (0)