tôi đang cố gắng tìm hiểu một số cú pháp Keras và chơi với các Inception v3 exampleKeras | Bắt ví dụ Inception v3 chạy
Tôi có một phân loại nhiều lớp vấn đề đồ chơi 4 lớp vì vậy tôi đã thay đổi dòng sau từ ví dụ:
NB_CLASS = 4 # number of classes
DIM_ORDERING = 'tf' # 'th' (channels, width, height) or 'tf' (width, height, channels)
bộ dữ liệu đồ chơi của tôi có các kích thước sau:
- Kích thước của mảng bao gồm tất cả những hình ảnh: (595 299, 299, 3)
- Kích thước của mảng chứa hình ảnh đào tạo: (416, 299, 299, 3)
- Kích thước của mảng chứa nhãn đào tạo: (179, 4)
- Kích thước của mảng chứa hình ảnh thử nghiệm: (179 , 299, 299, 3)
- Kích thước của mảng chứa các nhãn kiểm tra: (179, 4)
sau đó tôi cố gắng để đào tạo các mô hình với đoạn mã sau:
# fit the model on the batches generated by datagen.flow()
# https://github.com/fchollet/keras/issues/1627
# http://keras.io/models/sequential/#sequential-model-methods
checkpointer = ModelCheckpoint(filepath="/tmp/weights.hdf5", verbose=1, save_best_only=True)
model.fit_generator(datagen.flow(X_train, Y_train,
batch_size=32),
nb_epoch=10,
samples_per_epoch=32,
class_weight=None, #classWeights,
verbose=2,
validation_data=(X_test, Y_test),
callbacks=[checkpointer])
sau đó, Tôi gặp lỗi sau:
Exception: The model expects 2 input arrays, but only received one array. Found: array with shape (179, 4)`
Mà có lẽ liên quan đến điều này như Inception muốn có auxiliary classifiers (Szegedy et al., 2014):
model = Model(input=img_input, output=[preds, aux_preds])
Làm thế nào để cung cấp cho hai nhãn để mô hình trong Keras không trở thành một lập trình viên Python tiên tiến hoặc?
'ImageDataGenerator' theo mặc định sẽ xuất ra một nhãn.Bạn có thể mở rộng lớp và ghi đè hàm 'flow' để tạo ra hai kết quả đầu ra. Tùy chọn khác là thực hiện tăng thêm một cách riêng biệt và sử dụng hàm 'fit'. –
Bạn đã thử 'validation_data = (X_test, [Y_test, Y_test])' –
Vui lòng đăng toàn bộ mã mẫu của bạn - nếu không bạn không thể tìm thấy lỗi của mình. – FlashTek