我已将数据拆分为训练和验证样本(80% 用于训练,20% 用于验证):
Total_Samples = 1147
Training_Samples = 918
Validation_Samples = 229
但是,我面临与我的最后一批数据小于batch_size
我为我的问题定义的数据相关的维度错误问题。假设我使用 a batch_size = 32
,您可以看到最后一批训练和验证数据都比这小。我创建了一个 python 生成器来提供这些批次,如下所示:
def power_data_generator(batch_size,gen_type=''):
while 1:
df_input_train=pd.read_csv('some arguments')
df_target_train=pd.read_csv('some arguments')
df_input_valid=pd.read_csv('some arguments')
df_target_valid=pd.read_csv('some arguments')
for chunk, chunk2, chunk3, chunk4 in zip(df_input_train,df_target_train,df_input_valid,df_target_valid):
X_train = chunk.values
X_train = np.resize(X_train,(batch_size,24,2,1))
Y_train = chunk2.values
X_valid = chunk3.values
X_valid = np.resize(X_valid,(batch_size,24,2,1))
Y_valid = chunk4.values
if gen_type =='training':
yield (X_train[0:batch_size],Y_train[0:batch_size])
elif gen_type =='validation':
yield (X_valid[0:batch_size],Y_valid[0:batch_size])
elif gen_type =='inference':
yield X_valid
如果最后一批小于batch_size
我定义的,我可以添加任何命令来忽略最后一批(或添加一些条目以使其完全等于我的batch_size
)?