2016-02-24 14 views

Trả lời

8

Rất tiếc, tôi thấy các chức năng trong các API ...

tf.to_float(x, name='ToFloat') 
18

Bạn có thể đúc thường sử dụng:

tf.cast(my_tensor, tf.float32) 

Thay thế tf.float32 bằng loại mong muốn của bạn.


Sửa: Có vẻ như tại thời điểm ít nhất, đó tf.cast sẽ không đúc một dtype unsigned (ví dụ tf.uint8). Để giải quyết vấn đề này, bạn có thể truyền tới số tương đương đã ký và sử dụng tf.bitcast để hoàn thành. ví dụ.

tf.bitcast(tf.cast(my_tensor, tf.int8), tf.uint8) 
+0

Cần lưu ý rằng tf không thể tính toán gradient cho các hoạt động này, vì vậy họ không thể được sử dụng để mô phỏng trọng lượng tử. – oarfish

0

Bạn có thể sử dụng tf.cast(x, tf.float32) hoặc tf.to_float(x), cả hai đều được đúc thành float32.

Ví dụ:

sess = tf.Session() 

# Create an integer tensor. 
tensor = tf.convert_to_tensor(np.array([0, 1, 2, 3, 4]), dtype=tf.int64) 
sess.run(tensor) 
# array([0, 1, 2, 3, 4]) 

# Use tf.cast() 
tensor_float = tf.cast(tensor, tf.float32) 
sess.run(tensor_float) 
# array([ 0., 1., 2., 3., 4.], dtype=float32) 

# Use tf.to_float() to cast to float32 
tensor_float = tf.to_float(tensor) 
sess.run(tensor_float) 
# array([ 0., 1., 2., 3., 4.], dtype=float32) 
+0

khi tôi tạo một mage với kiểu 'tf.uint8' thành' tf.float32' và sử dụng 'matplotlib' để hiển thị chúng,' tf.float32' thay đổi. Làm thế nào có thể hiển thị hình ảnh chính? – Tavakoli

Các vấn đề liên quan