Keras 2.3 & TensorFlow 2
При обновлении до Keras >= 2.3 и Tensorflow >= 2.0 в старых многопоточных приложениях может начать выскакивать ошибка:
AttributeError: '_thread._local' object has no attribute 'value'
Решить ее можно заменив импорты
from keras import что_нужно
на
from tensorflow.keras import что_нужно
UPD: Если после обновления появилось вот такое:
Error : 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.
Весьма вероятно, что cuDNN теперь не подходит по версии для TensorFlow ибо старовата. Найти нужную версию можно тут.
UPD 2: При обновлении cuDNN еще можно заметить, что в официальной инструкции установки на linux из архива не указано, что после копирования нужно сделать симлинки на so’шники. Иначе после sudo ldconfig будет ошибка (далее, вместо библиотеки версии 7, подставьте свою):
/usr/local/cuda/lib64/libcudnn.so.7 is not a symbolic link
Т. е. надо:
$ cd /usr/local/cuda/lib64/
$ ls -lha libcudnn*
-rwxr-xr-x 1 root root 374M июн 13 04:27 libcudnn.so
-rwxr-xr-x 1 root root 374M июн 13 04:27 libcudnn.so.7
-rwxr-xr-x 1 root root 374M июн 13 04:27 libcudnn.so.7.6.5
-rw-r--r-- 1 root root 373M июн 13 04:27 libcudnn_static.a
$ sudo rm libcudnn.so libcudnn.so.7
$ sudo ln libcudnn.so.7.6.5 libcudnn.so.7
$ sudo ln libcudnn.so.7 libcudnn.so
$ sudo ldconfig