- Sort Score
- Result 10 results
- Languages All
Results 11 - 20 of 43 for DenseFPElementsAttr (0.19 sec)
-
tensorflow/compiler/mlir/quantization/common/ir/UniformSupport.h
// the conversion fails or the input array isn't an ElementsAttr. ElementsAttr convert(Attribute real_value); private: // Quantize an DenseFPElementsAttr by the quantization parameters. DenseElementsAttr convert(DenseFPElementsAttr attr); // Get a uniform converter for the index-th chunk along the quantizationDim. // All the elements in this chunk is quantized by the returned converter.
Registered: Sun Jun 16 05:45:23 UTC 2024 - Last Modified: Wed May 08 02:10:16 UTC 2024 - 9.8K bytes - Viewed (0) -
tensorflow/compiler/mlir/lite/transforms/optimize_batch_matmul.cc
rewriter.replaceOp(bmm_op, sum_op); return success(); }; private: bool SplatValueEquals(SplatElementsAttr float_or_int, double rhs) const { if (mlir::isa<DenseFPElementsAttr>(float_or_int)) { return mlir::cast<DenseFPElementsAttr>(float_or_int) .getSplatValue<APFloat>() .isExactlyValue(rhs); } else if (mlir::cast<DenseIntElementsAttr>(float_or_int)) {
Registered: Sun Jun 16 05:45:23 UTC 2024 - Last Modified: Thu Apr 25 16:01:03 UTC 2024 - 9.6K bytes - Viewed (0) -
tensorflow/compiler/mlir/quantization/common/quantization_lib/quantization_utils.h
// Extracts min and max values from the DenseFPElementsAttr, and stores them // into `mins` and `maxs`. When mins and maxs are extracted per-channel, // `dim_size` is number of channels and `slice_size` is the size of slice per // each channel. When `symmetric` is true, the range is expanded to [-M, M]. void ExtractMinMaxFromAttr(DenseFPElementsAttr values, int dim_size,
Registered: Sun Jun 16 05:45:23 UTC 2024 - Last Modified: Wed Apr 24 20:30:06 UTC 2024 - 41.7K bytes - Viewed (0) -
tensorflow/compiler/mlir/quantization/tensorflow/passes/prepare_quantize_drq.cc
QuantizedType quant_type; DenseFPElementsAttr attr; if (!matchPattern(op->getResult(0), m_Constant(&attr))) return false; if (attr.size() < quant_specs_.minimum_elements_for_weights) { op->emitRemark("Quantization is skipped for ") << quantized_op->getName().getStringRef().str() << " because it has " << mlir::dyn_cast<DenseFPElementsAttr>(attr).size()
Registered: Sun Jun 16 05:45:23 UTC 2024 - Last Modified: Thu Apr 25 16:01:03 UTC 2024 - 11.5K bytes - Viewed (0) -
tensorflow/compiler/mlir/tensorflow/transforms/rewrite_util.h
// to `raw_value`. template <typename T> bool IsConstantValueOf(Value value, T raw_value) { auto element_type = mlir::cast<ShapedType>(value.getType()).getElementType(); if (mlir::isa<FloatType>(element_type)) { DenseFPElementsAttr float_attr; if (matchPattern(value, m_Constant(&float_attr)) && float_attr.isSplat() && float_attr.getSplatValue<APFloat>().isExactlyValue(raw_value)) return true;
Registered: Sun Jun 16 05:45:23 UTC 2024 - Last Modified: Wed May 22 19:47:48 UTC 2024 - 4K bytes - Viewed (0) -
tensorflow/compiler/mlir/lite/stablehlo/transforms/composite_avg_pool.cc
} } return res; } // Gets a matrix which corrects the overcounting of divisors when casting a // average pool with ceil mode true as one with ceil mode false on a padded // tensor. DenseFPElementsAttr GetCorrectionMatrix(Builder& builder, CompositeOp op) { const TorchAvgPoolData pool = GetTorchAvgPoolData(op); llvm::SmallVector<int64_t, 4> nhwc_out_shape(4); nhwc_out_shape[0] = 1; // Broadcast batch.
Registered: Sun Jun 16 05:45:23 UTC 2024 - Last Modified: Tue May 28 23:16:05 UTC 2024 - 9.2K bytes - Viewed (0) -
tensorflow/compiler/mlir/quantization/common/attrs_and_constraints.h
return builder.create<TF::ConstOp>(loc, attr); } const auto type = RankedTensorType::get(shape, builder.getF32Type()); const auto value_attr = DenseFPElementsAttr::get(type, values); return builder.create<TF::ConstOp>(loc, value_attr); } // Creates a 1D array with integer/float type. template <typename T> Value Create1DConstValue(OpBuilder& builder, const Location loc,
Registered: Sun Jun 16 05:45:23 UTC 2024 - Last Modified: Thu Apr 25 16:01:03 UTC 2024 - 9.9K bytes - Viewed (0) -
tensorflow/compiler/mlir/quantization/tensorflow/passes/convert_custom_aggregation_op_to_quant_stats.cc
op.getOutput().replaceAllUsesWith(op.getInput()); rewriter.eraseOp(op); return success(); } // The layer stats contain only the first min/max pairs. ElementsAttr layer_stats = DenseFPElementsAttr::get( RankedTensorType::get({2}, rewriter.getF32Type()), {static_cast<float>(min.getValueAsDouble()), static_cast<float>(max.getValueAsDouble())}); ElementsAttr axis_stats;
Registered: Sun Jun 16 05:45:23 UTC 2024 - Last Modified: Thu Apr 25 16:01:03 UTC 2024 - 4.8K bytes - Viewed (0) -
tensorflow/compiler/mlir/lite/utils/fake_quant_utils.h
max_value = tf_op.getMaxAttr(); return true; // Successfully matched and fetched. } }; template <class TFFakeQuantOp> struct FetchConstantMinMaxInputs { using AttrType = DenseFPElementsAttr; bool operator()(TFFakeQuantOp tf_op, AttrType &min_value, AttrType &max_value) const { Value min = tf_op.getMin(), max = tf_op.getMax(); if (!matchPattern(min, m_Constant(&min_value))) {
Registered: Sun Jun 16 05:45:23 UTC 2024 - Last Modified: Thu Apr 25 16:01:03 UTC 2024 - 6.6K bytes - Viewed (0) -
tensorflow/compiler/mlir/quantization/stablehlo/passes/post_quantize.cc
LogicalResult matchAndRewrite(mlir::stablehlo::UniformQuantizeOp op, PatternRewriter& rewriter) const override { DenseFPElementsAttr attr; if (matchPattern(op.getOperand(), m_Constant(&attr))) { const Type qtype = op.getResult().getType(); ElementsAttr quantized_attr = Quantize(attr, qtype); if (quantized_attr) {
Registered: Sun Jun 16 05:45:23 UTC 2024 - Last Modified: Tue Mar 05 07:39:40 UTC 2024 - 6.3K bytes - Viewed (0)