Ich versuche, das folgende Netzwerk mit Keras zu betreiben, angetrieben von einem TensorFlow-Backend. Es ist eine Adaption des „VGG-like“ convnet von http://keras.io/examples/:Schwierigkeit bei der Anpassung von Keras Beispiel an Kundendaten
import os
import sys
import json
import model_control
from numpy import loadtxt, asarray
from pandas import read_csv
from scipy.ndimage import imread
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation, Flatten
from keras.layers import Convolution2D, MaxPooling2D
from keras.optimizers import SGD
Y_train = loadtxt(model_control.y_train_file, delimiter=',', dtype = int)
train_files = os.listdir(model_control.train_img_path)
train_files = ['%s/%s' % (model_control.train_img_path, x) for x in train_files if 'jpg' in x]
X_train = asarray([imread(x) for x in train_files])
X_train.shape #..(8144, 128, 256) (a numpy array of 8144 128x256 greyscale, i.e. single-channel, images)
Y_train.shape #..(8144,) (A 1-d numpy array of integer class labels)
model = Sequential()
model.add(Convolution2D(32, 5, 5, border_mode='valid', input_shape=(1, 128, 256)))
model.add(Activation('relu'))
model.add(Convolution2D(32, 5, 5))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Convolution2D(64, 5, 5, border_mode='valid'))
model.add(Activation('relu'))
model.add(Convolution2D(64, 5, 5))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(256))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(10))
model.add(Activation('softmax'))
sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy', optimizer=sgd)
model.fit(X_train, Y_train, batch_size=32, nb_epoch=1, verbose=1)
Das den Fehler produziert:
ValueError: Cannot feed value of shape (32, 128, 256) for Tensor u'Placeholder_89:0', which has shape '(?, 1, 128, 256)'
Ich habe die folgenden Beiträge checkt, aber nicht in der Lage, diese zu lösen eins noch. Jede Hilfe wäre willkommen, zusammen mit einer Erklärung, was falsch läuft.
-
https://groups.google.com/forum/#!topic/keras-users/Vb7MhSqne0Y http://stackoverflow.com/questions/33974231/tensorflow-error-using-my-own-data
UPDATE
diese Frage zu dem Thema Board Keras Posted (https://github.com/fchollet/keras/issues/2092). Es gibt Gist und sample data Links, mit denen Sie das Problem neu erstellen können.