簡體   English   中英

如何解決深度學習錯誤?

[英]How do I solve deep learning errors?

嘗試使用預處理數據學習 model,但發生錯誤。 我找不到錯誤,因為我還是一名高中生。 我應該修改哪些部分才能使 model 學習?

代碼:

print(final_train_x.shape, final_train_y.shape)
((894, 1089), (894, 120))

import tensorflow as tf 

adam = tf.optimizers.Adam(lr=0.1)


model.compile(loss = 'categorical_crossentropy', optimizer = adam,
              metrics =['accuracy'])
from keras.callbacks import EarlyStopping

es = EarlyStopping(monitor = 'val_loss',
                  min_delta = 0.001, 
                  patience = 10, 
                  verbose = 1
                  )
history = model.fit(final_train_x, final_train_y, epochs=10, batch_size = 16,
                   validation_split = 0.2,
                   verbose = 1,
                   callbacks = [es])

錯誤:

Epoch 1/10
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-322-b1827eb5e265> in <module>
     18                    validation_split = 0.2,
     19                    verbose = 1,
---> 20                    callbacks = [es])

ValueError: in user code:

    File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 1021, in train_function  *
        return step_function(self, iterator)
    File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 1010, in step_function  **
        outputs = model.distribute_strategy.run(run_step, args=(data,))
    File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 1000, in run_step  **
        outputs = model.train_step(data)
    File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 860, in train_step
        loss = self.compute_loss(x, y, y_pred, sample_weight)
    File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 919, in compute_loss
        y, y_pred, sample_weight, regularization_losses=self.losses)
    File "/usr/local/lib/python3.7/dist-packages/keras/engine/compile_utils.py", line 201, in __call__
        loss_value = loss_obj(y_t, y_p, sample_weight=sw)
    File "/usr/local/lib/python3.7/dist-packages/keras/losses.py", line 141, in __call__
        losses = call_fn(y_true, y_pred)
    File "/usr/local/lib/python3.7/dist-packages/keras/losses.py", line 245, in call  **
        return ag_fn(y_true, y_pred, **self._fn_kwargs)
    File "/usr/local/lib/python3.7/dist-packages/keras/losses.py", line 1790, in categorical_crossentropy
        y_true, y_pred, from_logits=from_logits, axis=axis)
    File "/usr/local/lib/python3.7/dist-packages/keras/backend.py", line 5083, in categorical_crossentropy
        target.shape.assert_is_compatible_with(output.shape)

    ValueError: Shapes (None, 120) and (None, 895) are incompatible

我怎樣才能不出錯地學習 model?

確保您的 model output 是120 ,例如最后一層是Dense(120, activation = "softmax") 嘗試分享model.summary()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM