मैं कोशिश कर रहा हूँ बनाने के लिए एक सीएनएन मॉडल के लिए द्विआधारी वर्गीकरण की एक गैर-छवि डेटासेट. मेरे मॉडल/ कोड काम कर रहा है और उत्पादन बहुत अच्छा परिणाम (accuracies उच्च रहे हैं), लेकिन मैं समझ नहीं पा रहा हूँ की input_shape
पैरामीटर के लिए 1 परत के Conv1D
.
के आकार X या इनपुट (यहाँ x_train_df
है) (2000, 28). यह 28 सुविधाओं और 2000 के नमूने. और आकार के वाई या लेबल (यहाँ y_train_df
है) (2000, 1).
model = Sequential()
model.add(Conv1D(filters = 64, kernel_size = 3, activation = 'relu', input_shape = (x_train_df.shape[1], 1)))
model.add(Conv1D(filters = 64, kernel_size = 3, activation = 'relu'))
model.add(MaxPooling1D(pool_size = 2))
model.add(Flatten())
model.add(Dense(100, activation = 'relu'))
model.add(Dense(1, activation = 'sigmoid'))
optimzr = Adam(learning_rate=0.005)
model.compile(loss='binary_crossentropy', optimizer=optimzr, metrics=[[tf.keras.metrics.AUC(curve="ROC", name = 'auc')], [tf.keras.metrics.AUC(curve="PR", name = 'pr')]])
# running the fitting
model.fit(x_train_df, y_train_df, epochs = 2, batch_size = 32, validation_data = (x_val_df, y_val_df), verbose = 2)
मैं दे दिया है input_shape
के रूप में (28, 1) (ले जाया संदर्भ से यह सवाल).
लेकिन Conv1D परत प्रलेखन लिखा है कि,
जब का उपयोग कर के रूप में इस परत पहली परत में एक मॉडल प्रदान करते हैं, एक input_shape तर्क (टपल के integers या कोई नहीं है, उदाहरण के लिए (10, 128) के लिए दृश्यों के 10 वैक्टर के 128-आयामी वैक्टर.
क्या मैं समझ से इस आयाम के input_shape होना चाहिए (2000, 1), के रूप में मैं एक 2000-आयामी वैक्टर. लेकिन इस के रूप में input_shape
एक त्रुटि के रूप में,
ValueError: इनपुट 0 की परत "sequential_25" के साथ असंगत है परत: उम्मीद आकार=(कोई नहीं, 2000, 1), पाया आकार=(कोई नहीं, 28)
तो मेरा सवाल यह है कि क्या किया जाना चाहिए सही input_shape
?
ValueError: logits and labels must have the same shape, received ((None, 1) vs (None, 2000)).
तो मैं बदल आकार किया जा करने के लिए (2000, 28, 1) के लिएx_train_df
और (2000, 1, 1) के लिएy_train_df
दिखाया गया के रूप में यह और है कि काम किया है. मैं उलझन में हूँ इस बारे में । यह बहुत उपयोगी हो जाएगा अगर तुम समझा सकता है कि कैसे को संशोधित करने के लिए कोड में सवाल है ।