tensorflow::ops::QuantizeDownAndShrinkRange

#include <math_ops.h>

Chuyển đổi tensor 'đầu vào' đã được lượng tử hóa thành 'đầu ra' có độ chính xác thấp hơn, bằng cách sử dụng...

Bản tóm tắt

Phân bổ giá trị thực tế để tối đa hóa việc sử dụng độ sâu bit thấp hơn và điều chỉnh phạm vi tối thiểu và tối đa của đầu ra cho phù hợp.

[input_min, input_max] là các giá trị float vô hướng xác định phạm vi diễn giải float của dữ liệu 'input'. Ví dụ, nếu input_min là -1.0f và input_max là 1.0f, và chúng ta đang xử lý dữ liệu được lượng tử hóa quint16, thì giá trị 0 trong dữ liệu 16 bit sẽ được diễn giải là -1.0f, và 65535 có nghĩa là 1.0f.

Toán tử này cố gắng nén độ chính xác tối đa vào đầu ra với độ sâu bit thấp hơn bằng cách tính toán các giá trị nhỏ nhất và lớn nhất thực tế được tìm thấy trong dữ liệu. Ví dụ, có thể đầu vào quint16 không có giá trị nào thấp hơn 16.384 và không có giá trị nào cao hơn 49.152. Điều đó có nghĩa là chỉ cần một nửa phạm vi, tất cả các diễn giải số thực đều nằm giữa -0,5f và 0,5f, vì vậy nếu chúng ta muốn nén dữ liệu thành đầu ra quint8, chúng ta có thể sử dụng phạm vi đó thay vì phạm vi lý thuyết từ -1,0f đến 1,0f được gợi ý bởi giá trị nhỏ nhất và lớn nhất của đầu vào.

Trên thực tế, điều này hữu ích nhất khi lấy đầu ra từ các phép toán như QuantizedMatMul , vốn có thể tạo ra đầu ra có độ sâu bit cao hơn đầu vào và có thể có phạm vi đầu ra tiềm năng lớn, nhưng trên thực tế lại có sự phân bố giá trị đầu vào chỉ sử dụng một phần nhỏ phạm vi có thể. Bằng cách đưa đầu ra đó vào toán tử này, chúng ta có thể giảm nó từ 32 bit xuống còn 8 bit với tổn thất độ chính xác tối thiểu.

Luận điểm:

  • phạm vi: Một đối tượng Phạm vi
  • input_min: Giá trị float biểu thị giá trị đầu vào được lượng tử hóa tối thiểu.
  • input_max: Giá trị float biểu thị giá trị đầu vào được lượng tử hóa tối đa.
  • out_type: Kiểu dữ liệu đầu ra. Nên có độ sâu bit thấp hơn Tinput.

Trả về:

  • Đầu Output
  • Output output_min: Giá trị float biểu thị giá trị đầu ra lượng tử hóa tối thiểu.
  • Output output_max: Giá trị float biểu thị giá trị đầu ra lượng tử hóa tối đa.

Hàm khởi tạo và hàm hủy

QuantizeDownAndShrinkRange (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input input_min, :: tensorflow::Input input_max, DataType out_type)

Thuộc tính công khai

operation
output
output_max
output_min

Thuộc tính công khai

hoạt động

Operation operation

đầu ra

::tensorflow::Output output

đầu ra tối đa

::tensorflow::Output output_max

đầu ra tối thiểu

::tensorflow::Output output_min

Chức năng công cộng

QuantizeDownAndShrinkRange

 QuantizeDownAndShrinkRange(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input input_min,
  ::tensorflow::Input input_max,
  DataType out_type
)