TensorFlow Failed to get convolution algorithm. This is probably because cuDNN failed to initialize

TUTORIAL

Se stai  usando Tensorflow con una gpu ( nel mio caso nvdia 2080Ti) probabilmente ti sei  scontrato con l’errore  “Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.”  nel momento in cui stai provando a fare il fitting della rete. Il problema nasce da un’incompatibilità di versioni in cuda e cudnn e nei driver nvidia. Sul tema ho fatto un pò di test ed ho verificato che risolvendo i problemi di compatibilità di versione, con tensorflow 2.3.0-gpu non ci ho avuto  problemi di sorta, mentre ho riscontrato che il problema persisteva nella versione tensorflow2.2.0-gpu.

Per risolvere il problema è stato sufficiente aggiungere nel codice, dopo avere importato tensorflow, le seguenti righe di configurazione,  valide rispettivamente per tensorflow V2 e tensorflow V1.

TensorFlow V2

physical_devices = tf.config.experimental.list_physical_devices(‘GPU’)
tf.config.experimental.set_memory_growth(physical_devices[0], True)

TensorFlow V1

config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)

Se vuoi farmi qualche richiesta o contattarmi per un aiuto riempi il seguente form

    Comments