Lớp tuyến tính với tensor
DễPyTorchtensor4 test · 20 giây · sai số 1e-4
Trong PyTorch, nn.Linear(d, m) lưu trọng số W có shape (m, d) và tính out = x Wᵀ + b. Hãy tự cài đặt phép tính này bằng tensor (không dùng nn.Linear).
- Dùng
x @ W.T + b(b tự broadcast cho mọi hàng).
Viết hàm
linear(x, W, b)Tham số
x: tensor (n, d)W: tensor (m, d)b: tensor (m,)
Trả về
Tensor (n, m).
Ví dụ
Tham số
x = [[1,2]] W = [[1,1],[0,2]] b = [0.5,-1]
Kết quả
[[3.5,3.0]]
Tham số
x = [[0,0,0],[0,0,0]] W = [[0.6949,-2.9401,1.6298],[2.8149,1.7031,-0.0261],[-1.0213,1.383,-1.7712],[-0.4413,-0.0747,-2.9299]] b = [1,2,3,4]
Kết quả
[[1.0,2.0,3.0,4.0],[1.0,2.0,3.0,4.0]]
Bài tiếp theo: Tách đầu cho Multi-Head Attention →
Python · PyTorch
Bấm “Chạy thử” để gọi linear() với 2 ví dụ trong đề và so sánh kết quả. Dùng print() thoải mái để gỡ lỗi.