簡體   English   中英

InvalidArgumentError: 矩陣大小不兼容: In[0]: [32,21], In[1]: [128,1]

[英]InvalidArgumentError: Matrix size-incompatible: In[0]: [32,21], In[1]: [128,1]

以下是我的代碼可以請幫助我

import tensorflow as tf
from keras.preprocessing.image import ImageDataGenerator
import numpy as np

train_datagen = ImageDataGenerator(
        rescale=1./255,
        shear_range=0.2,
        zoom_range=0.2,
        horizontal_flip=True)

training_set = train_datagen.flow_from_directory(
        'gopi_cnn_training_data',
        target_size=(100, 100),
        batch_size=32)
    

test_datagen = ImageDataGenerator(rescale=1./255)
test_set = test_datagen.flow_from_directory(
        'gopi_cnn_test_data',
        target_size=(100,100),
        batch_size=32)


cnn = tf.keras.models.Sequential()


cnn.add(tf.keras.layers.Conv2D(filters=32, kernel_size=3, activation='relu', input_shape=[100,100,3]))


cnn.add(tf.keras.layers.MaxPool2D(pool_size=2, strides=2))

cnn.add(tf.keras.layers.Conv2D(filters=32, kernel_size=3, activation='relu'))
cnn.add(tf.keras.layers.MaxPool2D(pool_size=2, strides=2))


cnn.add(tf.keras.layers.Flatten())

cnn.add(tf.keras.layers.Dense(units=128, activation='relu'))


cnn.add(tf.keras.layers.Dense(units=1, activation='softmax'))
 
cnn.compile(optimizer='adam', loss = 'categorical_crossentropy', metrics = ['accuracy'])

cnn.fit(x = training_set, validation_data = test_set, epochs = 25) 

我收到以下錯誤 InvalidArgumentError: Matrix size-incompatible: In[0]: [32,21], In[1]: [128,1] [[node MatMul (defined at C:\\Users\\THUMMAGO\\AppData\\ Local\\Continuum\\anaconda3\\lib\\site-packages\\tensorflow_core\\python\\framework\\ops.py:1751)]] [Op:__inference_distributed_function_5318]

函數調用棧:distributed_function

我使用二進制類數據集復制了這個問題。

對於解決方案,您可能需要在代碼中提供正確的激活函數和損失函數,如下所示:

cnn.add(tf.keras.layers.Dense(units=1, activation='sigmoid')) #for binary classes
cnn.compile(optimizer='adam', loss = 'binary_crossentropy', metrics = ['accuracy'])

或者在模型的最后一層定義units=no_of_classes ,並選擇合適的激活函數和損失函數來實現代碼。

暫無
暫無

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

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