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.