graykode / graykode/nlp-tutorial

about seq2seq(attention)-Torch multiple sample training question

Đang mở
#54 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Jupyter Notebook
Star
14.9k
Fork
3.9k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

hello, first thank your code, but i want to know if batch_size is more than 1, i should how to modify the code, thank you
```
def get_att_weight(self, output, enc_output): # get attention weight one 'output' with 'enc_output'
'''
output: [1, batch_size, num_directions(=1) * n_hidden]
enc_output: [n_step+1, batch_size, num_directions(=1) * n_hidden]
'''
length = len(enc_output)
attn_scores = torch.zeros(length) # attn_scores : [batch_size, n_step+1]
for i in range(length):
attn_scores[i] = self.get_att_score(output, enc_output[i])

# Normalize scores to weights in range 0 to 1
# return [batch_size, 1, n_step+1]
return F.softmax(attn_scores).view(batch_size, 1, -1)

def get_att_score(self, output, enc_output):
'''
output: [batch_size, num_directions(=1) * n_hidden]
enc_output: [batch_size, num_directions(=1) * n_hidden]
'''
score = self.attn(enc_output) # score : [1, n_hidden]
return torch.dot(output.view(-1), score.view(-1)) # inner product make scalar value, get a real number
```

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu với các phương thức get_att_weight và get_att_score được cung cấp, đồng thời kiểm tra phần triển khai attention seq2seq xung quanh chúng. Theo dõi các shape của tensor khi batch_size lớn hơn một, sau đó xác minh rằng việc huấn luyện attention hoạt động với nhiều sample mà không gặp lỗi scalar-shape. Công việc được hoàn thành khi ví dụ hỗ trợ batch_size > 1 với các trọng số attention có shape chính xác.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python, pytorch
Lĩnh vực
machine-learning
Loại issue
Tính năng
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.