Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Computer vision 在keras over theano中处理灰度图像时出错_Computer Vision_Deep Learning_Keras_Theano - Fatal编程技术网

Computer vision 在keras over theano中处理灰度图像时出错

Computer vision 在keras over theano中处理灰度图像时出错,computer-vision,deep-learning,keras,theano,Computer Vision,Deep Learning,Keras,Theano,我正在做目标检测,我正在使用keras over theano来建立一个模型。这是我的密码 from keras.preprocessing import image from scipy.misc import toimage from keras.optimizers import Adadelta,SGD from matplotlib import pyplot as plt from keras.models import Sequential,load_model from kera

我正在做目标检测,我正在使用keras over theano来建立一个模型。这是我的密码

from keras.preprocessing import image
from scipy.misc import toimage
from keras.optimizers import Adadelta,SGD
from matplotlib import pyplot as plt
from keras.models import Sequential,load_model
from keras.layers import Dense
from keras.layers import Dropout
from keras.layers import Flatten
from keras.layers.convolutional import Conv2D
from keras.layers.convolutional import MaxPooling2D
from keras.utils import np_utils
import pickle
import numpy as np

X=pickle.load(open('Xvalues.p','rb'))
y=pickle.load(open('yvalues.p','rb'))


X_train=X[:1100,:,:]
y_train=y[:1100]
X_test=X[1100:,:,:]
y_test=y[1100:]

X_train = X_train.reshape(X_train.shape[0], 50, 50,1).astype('float32')
X_test = X_test.reshape(X_test.shape[0],50, 50,1).astype('float32')
#X_train=X_train[:,:,:,np.newaxis]
#X_test=X_test[:,:,:,np.newaxis]
X_train = X_train / 255
X_test = X_test / 255
y_train = np_utils.to_categorical(y_train)
y_test = np_utils.to_categorical(y_test)
num_classes = y_test.shape[1]
print type(num_classes)
print y_train.shape
print y_test.shape

opt=Adadelta()
model=Sequential()
model.add(Conv2D(48,(5,5),input_shape=(50,50,1),activation='relu'))
model.add(MaxPooling2D((2, 2)))
model.add(Dropout(0.5))
model.add(Conv2D(64,(5,5),activation='relu'))
model.add(MaxPooling2D((2, 2)))
model.add(Dropout(0.5))
model.add(Flatten())
model.add(Dense(500, activation='relu'))
model.add(Dense(num_classes, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer=opt, metrics=['accuracy'])
model.fit(X_train,y_train,epochs=15, batch_size=32, verbose=1)
print model.summary()
model.save('train2.h5',overwrite=True)
scores = model.evaluate(X_test, y_test, verbose=1)
print("Baseline Error: %.2f%%" % (100-scores[1]*100))
当我使用彩色图像时,效果很好,但当我使用灰度图像时,它会产生以下错误

File "D:/ML/classify.py", line 39, in <module>
    model.add(Conv2D(48,(5,5),input_shape=(50,50,1),activation='relu'))

Exception: ('The following error happened while compiling the node', Elemwise{Composite{(i0 + (i1 * i2))}}[(0, 2)](TensorConstant{(1L, 1L, 1..-0.0699854}, TensorConstant{(1L, 1L, 1..f 0.139971}, mrg_uniform{TensorType(float32, 4D),inplace}.1), '\n', 'Compilation failed (return status=1): C:\\Users\\DELL\\Anaconda2\\libs/python27.lib: error adding symbols: File in wrong format\r. collect2.exe: error: ld returned 1 exit status\r. ', '[Elemwise{Composite{(i0 + (i1 * i2))}}[(0, 2)](TensorConstant{(1L, 1L, 1..-0.0699854}, TensorConstant{(1L, 1L, 1..f 0.139971}, <TensorType(float32, (False, False, True, False))>)]')
文件“D:/ML/classify.py”,第39行,在
model.add(Conv2D(48,(5,5),input_shape=(50,50,1),activation='relu'))
异常:(“编译节点时发生以下错误,”,Elemwise{Composite{(i0+(i1*i2))}[(0,2)](TensorConstant{(1L,1L,1..-0.0699854},TensorConstant{(1L,1L,1..f 0.139971},mrg_统一{TensorType(float32,4D),inplace}.1),“\n”,“编译失败(返回状态=1)”:C:\\Users\\DELL\\Anaconda2\\libs/python27.lib:添加符号时出错:文件格式错误\r.collect2.exe:error:ld返回1个退出状态,“[Elemwise{Composite{(i0+(i1*i2))}[(0,2)](张量{(1L,1L,1..-0.0699854},张量{(1L,1L,1..f 0.139971}])”

我不明白哪里出了问题。

转换为灰度通常会将输入维度从3减少到2。你对此负责吗?我已经检查过了,它减少到1