1

我试图按批量大小拆分训练和验证数据,并找到验证 rmse。训练特征数据的大小为 11000。验证特征数据的大小为 2750。但是,当我在 for 循环中使用 zip 函数时。它将 for 循环限制在较小的范围内,即 2750。

任何人都知道我该如何解决这个问题?我已经卡了两天了。

  for epoch in range (0, maximum_iterations, 1):
      for i, j in zip(range(0, training_feature_data.shape[0], batch_size), range(0, validation_feature_data.shape[0], batch_size)):
         training_feature_data_i = training_feature_data[i:i+batch_size]
         training_target_data_i = training_target_data[i:i+batch_size]
         validation_feature_data_j = validation_feature_data[j:j+batch_size]
         validation_target_data_j = validation_target_data[j:j+batch_size]
4

1 回答 1

0

由于训练和验证在这里没有任何关系(索引 i 似乎不影响验证,而 j 不影响训练),单独生成小批量更有意义。这就是托马斯斯基拉奇在他的评论中所说的。这是关于如何重新格式化代码的一个建议。

for epoch in range (0, maximum_iterations, 1):
  for i in range(0, training_feature_data.shape[0], batch_size):
     training_feature_data_i = training_feature_data[i:i+batch_size]
     training_target_data_i = training_target_data[i:i+batch_size]
  for j in range(0, validation_feature_data.shape[0], batch_size):
     validation_feature_data_j = validation_feature_data[j:j+batch_size]
     validation_target_data_j = validation_target_data[j:j+batch_size]
于 2020-11-15T21:28:10.687 回答