Điều gì sẽ là cách tốt nhất để nhân một ma trận bởi một vô hướng trong TensorFlow? Tôi chỉ muốn mở rộng ma trận theo giá trị vô hướng.Làm thế nào để thực hiện phép nhân ma trận vô hướng trong TensorFlow?
Cảm ơn!
Điều gì sẽ là cách tốt nhất để nhân một ma trận bởi một vô hướng trong TensorFlow? Tôi chỉ muốn mở rộng ma trận theo giá trị vô hướng.Làm thế nào để thực hiện phép nhân ma trận vô hướng trong TensorFlow?
Cảm ơn!
Bạn có thể nhân một ma trận (hoặc bất kỳ tensor khác) bằng một đại lượng vô hướng sử dụng các yếu tố khôn ngoan tf.mul()
hoạt động, mà mặc nhiên chương trình phát sóng đối số của nó để phù hợp với kích thước:
x = tf.constant([[1.0, 0.0], [0.0, 1.0]])
y = tf.mul(x, 2.0)
sess = tf.Session()
print sess.run(y)
# ==> [[2.0, 0.0], [0.0, 2.0]]
scalar_mul(scalar, x)
nhân lên một vô hướng lần đối tượng Tensor
hoặc IndexedSlices
.
Được sử dụng trong mã gradient có thể xử lý các đối tượng IndexedSlices
, dễ nhân với vô hướng nhưng tốn kém hơn để nhân với các cuộn dây tùy ý.
Args: vô hướng: Một vô hướng 0-D Tensor
. Phải có hình dạng đã biết. x: Tensor
hoặc IndexedSlices
để được chia tỷ lệ.
Trả lại: scalar * x
cùng loại (Tensor
hoặc IndexedSlices
) làm x
.
Cảm ơn! Tôi đoán cũng làm việc cho bất kỳ một tensor biến duy nhất mà không phải là 2,0 phải không? –
Chắc chắn! Bạn có thể làm 'z = tf.Variable (some_scalar); y = tf.mul (x, z) '(hoặc' z = tf.constant (...) 'v.v.). – mrry
Đổi tên thành tf.multiply() trong TensorFlow 1.0. Cũng lưu ý rằng có một hàm tf.scalar_mul(). –