繁体   English   中英

ValueError:形状 (None, 22) 和 (None, 10) 不兼容

[英]ValueError: Shapes (None, 22) and (None, 10) are incompatible

我一直在做这个练习,但我遇到了这个错误,我不知道我做错了什么。 请帮忙。

错误日志如下: ValueError: Shapes (None, 22) and (None, 10) is incompatible

这是代码:

#Loading required packages
import time
import sympy
import numpy as np
import seaborn as sns
import collections
import pandas as pd
from sklearn.datasets import fetch_openml
from sklearn.model_selection import train_test_split
from tensorflow.keras.utils import to_categorical
%matplotlib inline
import matplotlib.pyplot as plt

# Get Data and store in dataframe
df = pd.read_csv('/home/Table.csv',dtype=np.float32 )
df = df.dropna()
df.drop('id', axis=1, inplace=True)
df.head()

re_df = df.to_numpy().reshape(3,1066,22)

X = re_df[:, 3]
y = re_df[:,-1] 

x_train, x_test, y_train, y_test = train_test_split(X, y, test_size=0.3)

model = tf.keras.models.Sequential()

    # Add the Flatten Layer
    model.add(tf.keras.layers.Flatten())
    # Build the input and the hidden layers
    model.add(tf.keras.layers.Dense(40, activation=tf.nn.relu))
    model.add(tf.keras.layers.Dense(20, activation=tf.nn.relu))
    # Build the output layer
    model.add(tf.keras.layers.Dense(10, activation=tf.nn.softmax))

# Compile the model

model.compile(optimizer="adam", loss="categorical_crossentropy", metrics=["accuracy"])


--> history = model.fit(x=x_train, y=y_train, epochs=5, validation_split=0.3) # Start training process

在最后一行中,似乎出现了错误,指出 Shapes (None, 22) 和 (None, 10) 不兼容。

我怎样才能解决这个问题? 谢谢顺便说一句

我能够在这里用虚拟数据重现错误。 从输入来看,类的数量似乎是 22。

因此,替换以下代码行

model.add(tf.keras.layers.Dense(10, activation=tf.nn.softmax))

使用下面的代码将有所帮助

model.add(tf.keras.layers.Dense(22, activation=tf.nn.softmax))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM