gpt4 book ai didi

python - 在 Keras 中声明转换后的序列的 input_shape?

转载 作者:行者123 更新时间:2023-11-30 09:05:04 24 4
gpt4 key购买 nike

我正在尝试在文本输入上运行神经网络。这是二元分类。这是到目前为止我的工作代码:

df = pd.read_csv(pathname, encoding = "ISO-8859-1")
df = df[['content_cleaned', 'meaningful']] #Content cleaned: text, meaningful: label

X = df['content_cleaned']
y = df['meaningful']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=21)

tokenizer = Tokenizer(num_words=100)
tokenizer.fit_on_texts(X_train)
X_train_encoded = tokenizer.texts_to_sequences(X_train)
X_test_encoded = tokenizer.texts_to_sequences(X_test)

max_len = 100
X_train = pad_sequences(X_train_encoded, maxlen=max_len)
X_test = pad_sequences(X_test_encoded, maxlen=max_len)


batch_size = 100
max_words = 100
input_dim = X_train.shape[1] # Number of features
model = Sequential()
model.add(layers.Dense(10, activation='relu', input_shape=X_train.shape[1:]))




model.add(layers.Dense(1, activation='sigmoid'))

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

history = model.fit(X_train, X_test,
batch_size=batch_size,
epochs=5,
verbose=1,
validation_split=0.1)

我的问题分为两部分。首先是创建图层时使用 input_shape。我对声明这一点的语法感到困惑。运行此命令时:

print(X_train.shape)

我得到这个形状:(3609, 100)

根据我的理解,这告诉我有 3609 个实例。从查看其他示例来看,我天真的假设是使用 100,因为有 100 种类型(可能理解错误)与我初始化的 max_words 相对应。我相信在初始化 input_shape 时我可能执行了错误的语法。

第二个问题是在运行所有这些时出现错误消息(很可能是错误的input_shape)。错误消息突出显示了这行代码:

 validation_split=0.1)

错误信息是:

ValueError: Error when checking target: expected dense_2 to have shape (None, 1) but got array with shape (1547, 1

我是否错误地处理了这个问题?我对深度学习非常陌生。

最佳答案

input_shape 参数指定一个训练样本的形状。因此,您需要将其设置为X_train.shape[1:](即忽略样本或批处理轴):

model.add(layers.Dense(10, activation='relu', input_shape=X_train.shape[1:]))

此外,将 X_trainy_train 传递给 fit_generator(而不是 X_train_encodedX_test_encoded)。

关于python - 在 Keras 中声明转换后的序列的 input_shape?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53947959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com