Input_shape के Conv1D परत Keras

0

सवाल

मैं कोशिश कर रहा हूँ बनाने के लिए एक सीएनएन मॉडल के लिए द्विआधारी वर्गीकरण की एक गैर-छवि डेटासेट. मेरे मॉडल/ कोड काम कर रहा है और उत्पादन बहुत अच्छा परिणाम (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?

1

सबसे अच्छा जवाब

0

चलो की जांच कैसे "Conv1D" इनपुट लेता है.

>>> # The inputs are 128-length vectors with 10 timesteps, and the batch size
>>> # is 4.
>>> input_shape = (4, 10, 128)
>>> x = tf.random.normal(input_shape)
>>> y = tf.keras.layers.Conv1D(
... 32, 3, activation='relu',input_shape=input_shape[1:])(x)
>>> print(y.shape)
    (4, 8, 32)

3+D tensor के साथ आकार: batch_shape + (कदम, input_dim)

के रूप में ऊपर देखा, वहाँ रहे हैं 128 सुविधाओं, 10 timesteps और बैच आकार के 4. तो, Conv1D इनपुट लेता है के रूप में (batch_size,timesteps,सुविधाओं). यह 3 डी इनपुट. चलो कहते हैं कि आप का चयन बैच आकार 1 के रूप में अपने मामले के लिए. आप इनपुट देने के लिए की तरह (1,2000,28).

2021-11-22 08:00:37

बनाने के रूप में इनपुट (1,2000,28) एक त्रुटि के रूप में 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 दिखाया गया के रूप में यह और है कि काम किया है. मैं उलझन में हूँ इस बारे में । यह बहुत उपयोगी हो जाएगा अगर तुम समझा सकता है कि कैसे को संशोधित करने के लिए कोड में सवाल है ।
Badal

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में