Skip to content

TransformerDSSM中代码sample_nums = self.batch_size * gpu_num是不是写错了? #11

@1148270327

Description

@1148270327

如题,经过代码分析,默认情况下
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])
‘’’

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions