license import * as tf from '@tensorflow/tfjs-core' ; import { describeWithFlags } from '@tensorflow/tfjs-core/dist/jasmine_util' ; import { WebGLMemoryInfo } from './backend_webgl' ; import { WEBGL_ENVS } from './backend_webgl_test_registry' ; describeWithFlags ( 'toPixels' , WEBGL_ENVS , ( ) => { it ( 'does not leak memory' , async ( ) => { const x = tf . tensor2d ( [ [ .1 ] , [ .2 ] ] , [ 2 , 1 ] ) ; const startNumBytesInGPU = ( tf . memory ( ) as WebGLMemoryInfo ) . numBytesInGPU ; await tf . browser . toPixels ( x ) ; expect ( ( tf . memory ( ) as WebGLMemoryInfo ) . numBytesInGPU ) . toEqual ( startNumBytesInGPU ) ; } ) ; it ( 'does not leak memory given a tensor-like object' , async ( ) => { const x = [ [ 10 ] , [ 20 ] ] ; const startNumBytesInGPU = ( tf . memory ( ) as WebGLMemoryInfo ) . numBytesInGPU ; await tf . browser . toPixels ( x ) ; expect ( ( tf . memory ( ) as WebGLMemoryInfo ) . numBytesInGPU ) . toEqual ( startNumBytesInGPU ) ; } ) ; } ) ;