如何修改model.fit设置?
How to modify model.fit settings?
嗨,我的代码过去 运行 很好,直到我更改了数据集。现在,我在 :
处收到错误
model.fit(train,train_df.iloc[:,-1],epochs=30, batch_size=20, verbose=1)
错误是:
ValueError: Error when checking input: expected dense_31_input to have
shape (1125,) but got array with shape (103,)
变量是:
enter image description here
scaler = StandardScaler()
train=scaler.fit_transform(train_df.iloc[:,:-1])
test=scaler.fit_transform(test_df.iloc[:,:-1])
# Creating Deep Model
model = Sequential()
# Add an input layer
model.add(Dense(562, activation='relu', input_shape=(1125,)))
# Add one hidden layer
model.add(Dense(562, activation='relu'))
model.add(BatchNormalization())
# Add an output layer
model.add(Dense(1, activation='sigmoid'))
#add improvements
model.add(Dropout(0.3))
#Train the model
model.compile(loss='binary_crossentropy',optimizer='adam',metrics=['accuracy'])
model.fit(train,train_df.iloc[:,-1],epochs=30, batch_size=20, verbose=1)
#TEst the model
y_pred = model.predict(test_df.iloc[:,:-1])
我想修复它。我需要更改 batch_size 和时代?但是应该使用什么数字?
一般来说,模型假定输入数据的第一个维度是批量大小。模型并不关心批量大小,因此您在创建模型时永远不会设置它。相反,您应该将 input_shape
设置为输入数据的 每个样本 的形状。在您的情况下,每个样本似乎都是长度为 103 的向量,因此将 input_shape
设置为 (103,)
。
嗨,我的代码过去 运行 很好,直到我更改了数据集。现在,我在 :
处收到错误model.fit(train,train_df.iloc[:,-1],epochs=30, batch_size=20, verbose=1)
错误是:
ValueError: Error when checking input: expected dense_31_input to have shape (1125,) but got array with shape (103,)
变量是:
enter image description here
scaler = StandardScaler()
train=scaler.fit_transform(train_df.iloc[:,:-1])
test=scaler.fit_transform(test_df.iloc[:,:-1])
# Creating Deep Model
model = Sequential()
# Add an input layer
model.add(Dense(562, activation='relu', input_shape=(1125,)))
# Add one hidden layer
model.add(Dense(562, activation='relu'))
model.add(BatchNormalization())
# Add an output layer
model.add(Dense(1, activation='sigmoid'))
#add improvements
model.add(Dropout(0.3))
#Train the model
model.compile(loss='binary_crossentropy',optimizer='adam',metrics=['accuracy'])
model.fit(train,train_df.iloc[:,-1],epochs=30, batch_size=20, verbose=1)
#TEst the model
y_pred = model.predict(test_df.iloc[:,:-1])
我想修复它。我需要更改 batch_size 和时代?但是应该使用什么数字?
一般来说,模型假定输入数据的第一个维度是批量大小。模型并不关心批量大小,因此您在创建模型时永远不会设置它。相反,您应该将 input_shape
设置为输入数据的 每个样本 的形状。在您的情况下,每个样本似乎都是长度为 103 的向量,因此将 input_shape
设置为 (103,)
。