To calculate the dot product of two vectors v1 and v2 in TensorFlow, which function is appropriate?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "tf.matmul(v1, v2)". Tích vô hướng là nhân từng cặp phần tử rồi cộng lại; tf.matmul thực hiện phép nhân ma trận nên cho đúng kết quả đó khi hai vector được đưa về dạng hàng nhân cột, ví dụ reshape v1 thành [1, n] và v2 thành [n, 1] để được ma trận 1×1 chứa tích vô hướng, vì tf.matmul đòi tensor có ít nhất hai chiều; ngoài các lựa chọn ở đây, cách gọn hơn là tf.tensordot(v1, v2, axes=1). "tf.dot(v1, v2)" không tồn tại trong TensorFlow, tên này quen thuộc từ NumPy là np.dot. "tf.multiply(v1, v2)" chỉ nhân từng phần tử và trả về một vector cùng độ dài, còn phải cộng thêm bằng tf.reduce_sum mới thành tích vô hướng. "tf.dot_product(v1, v2)" cũng là tên không có trong API TensorFlow.

Cùng phần 1

Xuất hiện trong 1 bộ đề