![](/img/trans.png)
[英]ValueError: Shapes (None, 10, 2, 2) and (None, 10) are incompatible
[英]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.