2016-03-24 45 views

Trả lời

5

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]] 
+0

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? –

+0

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

+1

Đổ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(). –

1
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ác vấn đề liên quan