Я работаю над проблемой классификации нагрузки. Я использую набор данных из Великобритании и фокусируюсь на доме 2, как на стиральной машине, так и на стиральной машине di sh.
Однако, изучив несколько статей, я хотел бы попробовать разбить все данные о нагрузке. После всего сказанного я сосредоточился только на наборе данных стиральной машины. Сначала я копирую совокупную мощность и мощность стиральной машины за определенный период в X-Train и Y-Train соответственно. Затем я соответствующим образом масштабирую набор данных и задаю размер X-поезда (18002, 300, 1) и размер Y-поезда (18002, 300). Это немного странно, но я использовал размер окна 300, но сейчас я просто пробую.
model = Sequential()
model.add(Conv1D(16, kernel_size=3, activation='relu', input_shape = (Window_Size ,1)))
model.add(Conv1D(16, kernel_size=3, activation='relu'))
model.add(MaxPooling1D(pool_size=3))
model.add(Conv1D(32, kernel_size=3, activation='relu'))
model.add(Conv1D(32, kernel_size=3, activation='relu'))
model.add(MaxPooling1D(pool_size=2))
model.add(Conv1D(64, kernel_size=3, activation='relu'))
model.add(Conv1D(64, kernel_size=3, activation='relu'))
model.add(Conv1D(64, kernel_size=3, activation='relu'))
model.add(MaxPooling1D(pool_size=3))
model.add(Conv1D(128, kernel_size=3, activation='relu'))
model.add(Conv1D(128, kernel_size=3, activation='relu'))
model.add(Conv1D(128, kernel_size=3, activation='relu'))
model.add(MaxPooling1D(pool_size=3))
model.add(Dense(1024,activation='relu'))
model.add(Dense(1024,activation='relu'))
model.add(Flatten())
model.add(Dense(1,activation='linear'))
model.compile(loss= 'mean_squared_error',optimizer = 'sgd', metrics=[ 'mae','acc' ])
checkpoint = ModelCheckpoint("CNN_Paper_#1.h5", monitor='val_acc', verbose=1, save_best_only=True, save_weights_only=False, mode='auto', period=1)
early = EarlyStopping(monitor='val_acc', min_delta=0, patience=20, verbose=1, mode='auto')
#model summary
model.summary()
model.fit(X_train,wm_train,epochs=2,verbose=1,batch_size=256,callbacks[checkpoint,early],validation_data= [X_test,wm_test])
И ошибка, с которой я постоянно сталкивался, это
ValueError : Ошибка при проверке цели: ожидалось, что плотность_2 имеет форму (1,), но получен массив с формой (300,)
Может кто-нибудь дать мне ваше предложение? Я тиражирую эту статью https://ieeexplore.ieee.org/abstract/document/8720065
Заранее спасибо