Keras与GPU上的Tensorflow后端。 MKL错误:进入DLASCL时参数4不正确

时间:2017-10-10 14:55:46

标签: numpy tensorflow keras anaconda intel-mkl

我使用以下命令将带有GPU支持的Tensorflow和Keras安装到Anaconda(v1.6.5)中的环境中:

conda install -n EnvName tensorflow-gpu
conda install -n EnvName -c conda-forge keras-gpu

我的机器上安装了NVIDIA Quadro 2200K,驱动程序为v384.66,cuda-8.0,cudnn 7.0

当我在训练阶段尝试使用Keras运行python代码时,我得到以下内容

  

英特尔MKL错误:进入DLASCL时参数4不正确。

以后

  

文件   “/home/User/anaconda3/envs/keras_gpu/lib/python3.6/site-packages/numpy/linalg/linalg.py”   第99行,在_raise_linalgerror_svd_nonconvergence中       提出LinAlgError(“SVD没有收敛”)numpy.linalg.linalg.LinAlgError:SVD没有收敛

其他相关sources建议检查NaN和Infs的数据,但我的数据肯定是干净的。顺便说一下,安装的CPU版本工作正常,只有在尝试在GPU上运行时才会出现问题

我尝试重新安装Anaconda,重新安装CUDA和numpy,但它没有用完。

2 个答案:

答案 0 :(得分:5)

问题出在包 mkl(2018.0.0)中 - 好像它最近已经发布并且与Tensorflow(1.3.0)和Keras(2.0)提供的一些软件包的版本冲突.5)通过conda *。

因此,我使用Anaconda Navigator手动降级 mkl 至v11.3.3,这导致其他软件包自动降级,现在一切正常。

enter image description here

答案 1 :(得分:0)

如果您正在使用Anaconda,这将有所帮助:

conda update mkl