在运行tensorflow的时候碰到这种问题,本以为是显存不足,然而跑简单的模型也遇到这种问题,最后才发现tensorflow默认是占用GPU所有的显存。有时候就会出现这样的问题。可以通过设置GPU显存分配来解决这个问题。
tensorflow.python.framework.errors_impl.UnknownError: 2 root error(s) found.
(0) Unknown: 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.
[[{{node Conv2D}}]]
[[Mean/_9]]
(1) Unknown: 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.
[[{{node Conv2D}}]]
解决方式:
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)
# 通过config 选项来控制gpu显存的使用,这个设置只有GPU需要的时候按需动态分配,而不是占用所有显存。