解决 conda tensorflow failed to create cublas handle: CUBLAS_STATUS_NOT_INITIALIZED


 

参考解决方案1:https://stackoverflow.com/questions/38303974/tensorflow-running-error-with-cublas

参考解决方案2:https://github.com/tensorflow/tensorflow/issues/9489

本人环境:

Hassee G7-CT7NK

Ubuntu 18.04.2、anaconda 4.7.11、tensorflow-gpu 1.14.0

cudatoolkit 10.0.130、cudnn 7.6.0、NVidia Driver Version 430.40

本人测试使能允许增加GPU内存后,运行正常。

一劳永逸的办法如下:

  • 在全局使能GPU内存,根据需要增加GPU内存,代价是增加内存碎片。
  • 修改脚本:~/anaconda3/envs/xxxxx/lib/python3.7/site-packages/tensorflow/python/client/session.py
  • 找到tf.Session的基类BaseSession,修改其__init__中的代码,在适当位置添加如下脚本,即可正常使用。
if config is None:
      config = context.context().config

# Grow GPU memory as needed at the cost of fragmentation.
config.gpu_options.allow_growth = True