当导入到Keras的tensorflow skript时,获得LinAlgError(“SVD没有收敛”)

时间:2017-10-27 16:02:32

标签: python tensorflow keras

导入tensorflow时出现以下错误:

  

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

     

英特尔MKL错误:进入DLASCL时参数4不正确。   追溯(最近的呼叫最后):
  文件   “/xxx/skript.py”,第25行,in          h1 = LSTM(50)(input1)文件“/xxx/anaconda3/lib/python3.6/site-packages/keras/layers/recurrent.py”,   第268行,致电       return super(Recurrent,self)。 call (输入,** kwargs)
  档案“/xxx/anaconda3/lib/python3.6/site-packages/keras/engine/topology.py”,   第575行,通话       self.build(input_shapes [0])
  文件“/xxx/anaconda3/lib/python3.6/site-packages/keras/layers/recurrent.py”,   第1034行,在构建中       约束= self.recurrent_constraint)
  文件“/xxx/anaconda3/lib/python3.6/site-packages/keras/legacy/interfaces.py”,   第87行,包装中       return func(* args,** kwargs)
  档案“/xxx/anaconda3/lib/python3.6/site-packages/keras/engine/topology.py”,   第396行,在add_weight中       重量= K.variable(初始化器(形状),
  文件“/xxx/anaconda3/lib/python3.6/site-packages/keras/initializers.py”,   第247行,致电       你,_,v = np.linalg.svd(a,full_matrices = False)
  文件“/xxx/anaconda3/lib/python3.6/site-packages/numpy/linalg/linalg.py”,   第1389行,在svd       u,s,vt = gufunc(a,signature = signature,extobj = extobj)
  文件“/xxx/anaconda3/lib/python3.6/site-packages/numpy/linalg/linalg.py”,   第99行,在_raise_linalgerror_svd_nonconvergence中       提出LinAlgError(“SVD没有收敛”)numpy.linalg.linalg.LinAlgError:SVD没有收敛

     

使用退出代码1完成处理

使用通用skript,您也可以使用它来进行测试:

import tensorflow as tf
from keras.models import Model
from keras.layers import Input
from keras.layers import Dense
from keras.layers import LSTM
from keras.layers.merge import Concatenate
import numpy as np    


# Length of sequence.
sequence_length = 300
# Number of base features 
num_features = 15
# Number of events 
num_event_features = 20

# Input 
input1 = Input(shape=(sequence_length, num_features))
# Build first LSTM on the first input.
h1 = LSTM(50)(input1)

# Apply the dense layer for prediction.
prediction = Dense(1)(h1)

# Define the keras model.
model = Model(inputs=[input1], outputs=[prediction])
model.compile(loss='binary_crossentropy', optimizer='adam',
              metrics=['accuracy'])

# Generate some random data for testing.
X1 = np.random.rand(1000, sequence_length, num_features).astype(np.float32)    
Y = np.random.choice([0, 1], size=1000).astype(np.float32)

# Train the model on random data.
model.fit(x=[X1], y=Y)

如果我删除导入张量流,因为网络将在没有错误消息的情况下进行训练。我使用的是Keras 2.0.8,python 3.6和tensorflow 1.3.0。 为Ubuntu,python 3.6和GPU支持安装了Tensorflow。

1 个答案:

答案 0 :(得分:1)

安装mkl-service后,我遇到了类似的问题。卸载它为我解决了它。