代码:
train_X, val_X, train_y, val_y
train_X = np.array(train_X)
train_y = np.array(train_y)
val_X = np.array(val_X)
val_y = np.array(val_y)
k = 5
num_val_samples = len(train_X) // k
num_epochs = 100
all_scores = []
for i in range(k):
print(f"Processing fold #{i}")
val_data = train_X[i * num_val_samples: (i + 1) * num_val_samples]
val_targets = val_X[i * num_val_samples: (i + 1) * num_val_samples]
partial_train_X = np.concatenate(
[train_X[:i * num_val_samples],
train_X[(i + 1) * num_val_samples:]],
axis=0)
partial_val_X = np.concatenate(
[val_X[:i * num_val_samples],
val_X[(i + 1) * num_val_samples:]],
axis=0)
model = build_model()
model.fit(partial_train_X, partial_val_X,
epochs=num_epochs, batch_size=16, verbose=0)
val_mse, val_mae = model.evaluate(val_data, val_targets, verbose=0)
all_scores.append(val_mae)
错误:
> ... model.fit(partial_train_X, partial_val_X,
>
> --- 26 epochs=num_epochs, batch_size=16, verbose=0) ....
>
> ValueError: Data cardinality is ambiguous: x sizes: 876 y sizes:
> 146
> Make sure all arrays contain the same number of samples.
我尝试了之前谈到的解决方案。(比如,np.array(train_X)。但我还是无法修复它。一直以来,我也无法配置批量大小。你能帮帮我吗?