카테고리 보관물: Programming

TensorFlow에서 CUBLAS_STATUS_NOT_INITIALIZED 오류 문제

failed to create cublas handle: CUBLAS_STATUS_NOT_INITIALIZED

이 문제는 TensorFlow의 GPU memory growth 설정과 관련이 있다. 이 경우 GPU의 allow_grouth option을 True로 설정하면 문제를 해결할 수 있는데, Use a GPU 페이지에 따르면 tf.config.experimental.set_memory_growth()를 통해 True로 설정하거나 혹은 환경변수 TF_FORCE_GPU_ALLOW_GROWTH를 설정해서 해결 할 수 있다.

코드에 다음과 같이 환경 변수를 설정해 줄 수도 있지만,

# Fix CUBLAS_STATUS_NOT_INITIALIZED error.
#  - failed to create cublas handle: CUBLAS_STATUS_NOT_INITIALIZED
os.environ [ "TF_FORCE_GPU_ALLOW_GROWTH" ] = "true"

실행 환경에 따라 문제가 발생하지 않을 수도 있어서, 나는 주로 command line에서 다음과 같이 script를 실행할 때 이 값을 함께 설정한다.

# Command terminal
TF_FORCE_CPU_ALLOW_GROWTH=true flask run --host=0.0.0.9