| @@ -83,6 +83,12 @@ namespace Tensorflow | |||||
| throw new NotImplementedException("MakeNdarray"); | throw new NotImplementedException("MakeNdarray"); | ||||
| } | } | ||||
| private static readonly TF_DataType[] quantized_types = new TF_DataType[] | |||||
| { | |||||
| TF_DataType.TF_QINT8, TF_DataType.TF_QUINT8, TF_DataType.TF_QINT16, TF_DataType.TF_QUINT16, | |||||
| TF_DataType.TF_QINT32 | |||||
| }; | |||||
| /// <summary> | /// <summary> | ||||
| /// Create a TensorProto. | /// Create a TensorProto. | ||||
| /// </summary> | /// </summary> | ||||
| @@ -99,15 +105,6 @@ namespace Tensorflow | |||||
| if (values is TensorProto tp) | if (values is TensorProto tp) | ||||
| return tp; | return tp; | ||||
| if (dtype != TF_DataType.DtInvalid) | |||||
| ; | |||||
| bool is_quantized = new TF_DataType[] | |||||
| { | |||||
| TF_DataType.TF_QINT8, TF_DataType.TF_QUINT8, TF_DataType.TF_QINT16, TF_DataType.TF_QUINT16, | |||||
| TF_DataType.TF_QINT32 | |||||
| }.Contains(dtype); | |||||
| // We first convert value to a numpy array or scalar. | // We first convert value to a numpy array or scalar. | ||||
| NDArray nparray = null; | NDArray nparray = null; | ||||
| var np_dt = dtype.as_numpy_dtype(); | var np_dt = dtype.as_numpy_dtype(); | ||||
| @@ -227,13 +224,13 @@ namespace Tensorflow | |||||
| } | } | ||||
| } | } | ||||
| var numpy_dtype = dtypes.as_dtype(nparray.dtype, dtype: dtype); | |||||
| var numpy_dtype = nparray.dtype.as_dtype(dtype: dtype); | |||||
| if (numpy_dtype == TF_DataType.DtInvalid) | if (numpy_dtype == TF_DataType.DtInvalid) | ||||
| throw new TypeError($"Unrecognized data type: {nparray.dtype}"); | throw new TypeError($"Unrecognized data type: {nparray.dtype}"); | ||||
| // If dtype was specified and is a quantized type, we convert | // If dtype was specified and is a quantized type, we convert | ||||
| // numpy_dtype back into the quantized version. | // numpy_dtype back into the quantized version. | ||||
| if (is_quantized) | |||||
| if (quantized_types.Contains(dtype)) | |||||
| numpy_dtype = dtype; | numpy_dtype = dtype; | ||||
| bool is_same_size = false; | bool is_same_size = false; | ||||