如题,经过代码分析,默认情况下
self.batch_size =self.q_size;
gpu_num=1;
sample_nums = self.batch_size * gpu_num;
而遍历循环代码for j in range(self.q_size // sample_nums)中:
self.q_size // sample_nums 不就等价于1//gpu_num么?那这个循环j始终为range(1)啊,
求解是不是应该改成 sample_nums = self.batch_size // gpu_num?
附上代码片段:
‘‘’
“#” 开始迭代,使用Adam优化的随机梯度下降法,并将结果输出到日志文件
print('training------')
index_list = [i for i in range(self.q_size)]
sample_nums = self.batch_size * gpu_num
for i in range(self.epoch_steps):
total_loss = 0
total_accuracy = 0
for j in range(self.q_size // sample_nums): # 默认情况:batch_size == q_size
if self.is_sample:
sample_list = simple_sampling(index_list, sample_nums)
q_set = []
t_set = []
q_actual_length = []
t_actual_length = []
for index in sample_list:
q_set.append(self.q_set[index])
t_set.append(self.t_set[index])
q_actual_length.append(self.q_actual_length[index])
t_actual_length.append(self.t_actual_length[index])
‘’’
如题,经过代码分析,默认情况下
self.batch_size =self.q_size;
gpu_num=1;
sample_nums = self.batch_size * gpu_num;
而遍历循环代码for j in range(self.q_size // sample_nums)中:
self.q_size // sample_nums 不就等价于1//gpu_num么?那这个循环j始终为range(1)啊,
求解是不是应该改成 sample_nums = self.batch_size // gpu_num?
附上代码片段:
‘‘’
“#” 开始迭代,使用Adam优化的随机梯度下降法,并将结果输出到日志文件
print('training------')
index_list = [i for i in range(self.q_size)]
sample_nums = self.batch_size * gpu_num
for i in range(self.epoch_steps):
total_loss = 0
total_accuracy = 0
for j in range(self.q_size // sample_nums): # 默认情况:batch_size == q_size
if self.is_sample:
sample_list = simple_sampling(index_list, sample_nums)
q_set = []
t_set = []
q_actual_length = []
t_actual_length = []
for index in sample_list:
q_set.append(self.q_set[index])
t_set.append(self.t_set[index])
q_actual_length.append(self.q_actual_length[index])
t_actual_length.append(self.t_actual_length[index])
‘’’