重命名 pt2tf 为 pt2pb
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
import tensorflow as tf
|
||||
|
||||
from onnx_tf.handlers.backend_handler import BackendHandler
|
||||
from onnx_tf.handlers.handler import onnx_op
|
||||
|
||||
|
||||
@onnx_op("DequantizeLinear")
|
||||
class DequantizeLinear(BackendHandler):
|
||||
|
||||
@classmethod
|
||||
def args_check(cls, node, **kwargs):
|
||||
tensor_dict = kwargs["tensor_dict"]
|
||||
if len(node.inputs) == 3:
|
||||
x = tensor_dict[node.inputs[0]]
|
||||
x_scale = tensor_dict[node.inputs[1]]
|
||||
x_zero_point = tensor_dict[node.inputs[2]]
|
||||
if x_scale.shape != x_zero_point.shape:
|
||||
raise ValueError("DequantizeLinear x_scale(shape=" +
|
||||
str(x_scale.shape) + ") and x_zero_point(shape=" +
|
||||
str(x_zero_point.shape) +
|
||||
") must be in the same shape")
|
||||
if x_zero_point.dtype != x.dtype:
|
||||
raise ValueError("DequantizeLinear x_zero_point(" +
|
||||
str(x_zero_point.dtype) + ") and x(" + str(x.dtype) +
|
||||
") must be in the same dtype")
|
||||
|
||||
@classmethod
|
||||
def version_10(cls, node, **kwargs):
|
||||
tensor_dict = kwargs["tensor_dict"]
|
||||
x = tensor_dict[node.inputs[0]]
|
||||
x = tf.cast(x, tf.float32)
|
||||
x_scale = tensor_dict[node.inputs[1]]
|
||||
if len(node.inputs) == 3 and x.dtype != tf.int32:
|
||||
x_zero_point = tensor_dict[node.inputs[2]]
|
||||
x_zero_point = tf.cast(x_zero_point, tf.float32)
|
||||
x = tf.subtract(x, x_zero_point)
|
||||
|
||||
y = tf.multiply(x, x_scale)
|
||||
|
||||
return [y]
|
||||
Reference in New Issue
Block a user