webnn: emulate dequantizeLinear on coreml
Add emulation code for when input is not constant, or blockwise, or type is (u)int32 for `dequantizeLinear` on CoreML. Bug: 338529226 Change-Id: I70994755baf1f34600d0cb5079698250ef5821e9 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6389321 Reviewed-by: Reilly Grant <reillyg@chromium.org> Commit-Queue: Phillis Tang <phillis@chromium.org> Cr-Commit-Position: refs/heads/main@{#1438377}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
34bbbbf7c4
commit
d86938bae5
services/webnn/coreml
third_party/blink/web_tests
external
wpt
webnn
conformance_tests
platform
mac-mac14
virtual
webnn-service-on-cpu
external
webnn-service-on-npu
external
webnn-service-with-gpu
mac
virtual
webnn-service-on-cpu
external
webnn-service-with-gpu
virtual
webnn-service-on-npu
@ -1136,6 +1136,9 @@ ContextProperties GraphBuilderCoreml::GetContextProperties() {
|
||||
static constexpr SupportedDataTypes kGatherIndicesSupportedDataTypes{
|
||||
OperandDataType::kInt32, OperandDataType::kInt8, OperandDataType::kUint8};
|
||||
|
||||
static constexpr SupportedDataTypes kInts8Ints32{
|
||||
OperandDataType::kInt8, OperandDataType::kUint8, OperandDataType::kInt32,
|
||||
OperandDataType::kUint32};
|
||||
SupportedDataTypes arg_min_max_input_supported_data_types = kFloatsAndInt32;
|
||||
// crbug.com/388117627: On Intel devices, passing float input containing NaNs
|
||||
// sometimes triggers a crash in Core ML.
|
||||
@ -1195,11 +1198,11 @@ ContextProperties GraphBuilderCoreml::GetContextProperties() {
|
||||
// input.
|
||||
// TODO(crbug.com/361603703): Support constant (u)int4 inputs via
|
||||
// https://apple.github.io/coremltools/source/coremltools.converters.mil.mil.ops.defs.html#coremltools.converters.mil.mil.ops.defs.iOS18.compression.constexpr_blockwise_shift_scale
|
||||
/*dequantize_linear_input=*/{DataTypeConstraint::kInts8, kMaxRank},
|
||||
/*dequantize_linear_input=*/{kInts8Ints32, kMaxRank},
|
||||
/*dequantize_linear_scale=*/
|
||||
{DataTypeConstraint::kFloat16To32, SupportedRanks::UpTo(1)},
|
||||
{DataTypeConstraint::kFloat16To32, kMaxRank},
|
||||
/*dequantize_linear_zero_point=*/
|
||||
{DataTypeConstraint::kInts8, SupportedRanks::UpTo(1)},
|
||||
{kInts8Ints32, kMaxRank},
|
||||
/*add_input=*/{kFloatsAndInt32, kMaxRank},
|
||||
/*sub_input=*/{kFloatsAndInt32, kMaxRank},
|
||||
/*mul_input=*/{kFloatsAndInt32, kMaxRank},
|
||||
@ -1392,12 +1395,10 @@ ContextProperties GraphBuilderCoreml::GetContextProperties() {
|
||||
/*where_value=*/{kFloatsAndInt32, kMaxRank}});
|
||||
|
||||
if (__builtin_available(macOS 15, *)) {
|
||||
properties.data_type_limits.dequantize_linear_scale.ranks = kMaxRank;
|
||||
properties.data_type_limits.dequantize_linear_zero_point.ranks = kMaxRank;
|
||||
properties.data_type_limits.dequantize_linear_input.data_types =
|
||||
DataTypeConstraint::kInts4ToInts8;
|
||||
DataTypeConstraint::kInts4Ints8Ints32;
|
||||
properties.data_type_limits.dequantize_linear_zero_point.data_types =
|
||||
DataTypeConstraint::kInts4ToInts8;
|
||||
DataTypeConstraint::kInts4Ints8Ints32;
|
||||
}
|
||||
return properties;
|
||||
}
|
||||
@ -2354,16 +2355,14 @@ GraphBuilderCoreml::AddOperationForDequantizeLinear(
|
||||
CHECK(context_properties_.data_type_limits.dequantize_linear_zero_point
|
||||
.data_types.Has(zero_point_operand_data_type));
|
||||
|
||||
// TODO(crbug.com/338529226): These params must all be constant tensors.
|
||||
if (!constant_operands_->contains(operation.zero_point_operand_id)) {
|
||||
return NewNotSupportedError(
|
||||
"Unsupported options to dequantizeLinear. 'zero_point' must be "
|
||||
"constant.");
|
||||
if (input_operand_data_type == OperandDataType::kInt32 ||
|
||||
input_operand_data_type == OperandDataType::kUint32) {
|
||||
return AddOperationForDequantizeLinearEmulate(operation, block);
|
||||
}
|
||||
|
||||
if (!constant_operands_->contains(operation.scale_operand_id)) {
|
||||
return NewNotSupportedError(
|
||||
"Unsupported options to dequantizeLinear. 'scale' must be constant.");
|
||||
if (!constant_operands_->contains(operation.zero_point_operand_id) ||
|
||||
!constant_operands_->contains(operation.scale_operand_id)) {
|
||||
return AddOperationForDequantizeLinearEmulate(operation, block);
|
||||
}
|
||||
|
||||
CHECK_EQ(input_operand_info.mil_data_type,
|
||||
@ -2386,17 +2385,32 @@ GraphBuilderCoreml::AddOperationForDequantizeLinear(
|
||||
}
|
||||
}
|
||||
|
||||
if (scale_operand_info.dimensions.size() == 1 &&
|
||||
scale_operand_info.dimensions[0] !=
|
||||
input_operand_info
|
||||
.dimensions[input_operand_info.dimensions.size() - 1]) {
|
||||
return NewNotSupportedError(
|
||||
"Unsupported options to dequantizeLinear. The size of 'scale' must be "
|
||||
"equal to the size of the input's last dimension.");
|
||||
// CoreML `dequantize` and `constexpr_affine_dequantize` only support scalar
|
||||
// or vector scale whose size matches with one axis of input.
|
||||
base::span<const uint32_t> scale_dimensions = scale_operand_info.dimensions;
|
||||
base::span<const uint32_t> input_dimensions = input_operand_info.dimensions;
|
||||
CHECK_LE(scale_dimensions.size(), input_dimensions.size());
|
||||
uint32_t scale_vector_size = 0;
|
||||
size_t axis = 0;
|
||||
bool has_matching_dimension = false;
|
||||
for (size_t i = 0; i < scale_dimensions.size(); ++i) {
|
||||
size_t current_axis = input_dimensions.size() + i - scale_dimensions.size();
|
||||
if (scale_dimensions[i] != 1) {
|
||||
// Only allow at most one matching dimension, otherwise emulate.
|
||||
if (scale_dimensions[i] != input_dimensions[current_axis] ||
|
||||
has_matching_dimension) {
|
||||
return AddOperationForDequantizeLinearEmulate(operation, block);
|
||||
} else {
|
||||
axis = current_axis;
|
||||
scale_vector_size = scale_dimensions[i];
|
||||
has_matching_dimension = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (is_constant_input) {
|
||||
return AddOperationForDequantizeLinearConst(operation, block);
|
||||
return AddOperationForDequantizeLinearConst(operation, axis,
|
||||
scale_vector_size <= 1, block);
|
||||
}
|
||||
|
||||
uint64_t input_operand_id = operation.input_operand_id;
|
||||
@ -2415,17 +2429,23 @@ GraphBuilderCoreml::AddOperationForDequantizeLinear(
|
||||
RETURN_IF_ERROR(SetInputFromOperand(*op->mutable_inputs(), kParamInput,
|
||||
input_operand_id));
|
||||
|
||||
RETURN_IF_ERROR(SetInputFromOperand(*op->mutable_inputs(), kOpParamZeroPoint,
|
||||
operation.zero_point_operand_id));
|
||||
// If scale shape is [1], pass as scalar instead because CoreML only allows
|
||||
// scalar or vector with size matching input dimension.
|
||||
RETURN_IF_ERROR(SetInputFromConstantOperand(
|
||||
*op->mutable_inputs(), kOpParamZeroPoint, operation.zero_point_operand_id,
|
||||
scale_vector_size > 1 ? base::span<const uint32_t>{scale_vector_size}
|
||||
: base::span<const uint32_t>{}));
|
||||
|
||||
RETURN_IF_ERROR(SetInputFromOperand(*op->mutable_inputs(), kOpParamScale,
|
||||
operation.scale_operand_id));
|
||||
RETURN_IF_ERROR(SetInputFromConstantOperand(
|
||||
*op->mutable_inputs(), kOpParamScale, operation.scale_operand_id,
|
||||
scale_vector_size > 1 ? base::span<const uint32_t>{scale_vector_size}
|
||||
: base::span<const uint32_t>{}));
|
||||
|
||||
// An "axis" must be specified if "scale" is a vector.
|
||||
if (!scale_operand_info.dimensions.empty()) {
|
||||
SetInputWithValue(*op->mutable_inputs(), kOpParamAxis,
|
||||
CreateScalarImmediateValue(base::checked_cast<int32_t>(
|
||||
input_operand_info.dimensions.size() - 1)));
|
||||
if (!scale_dimensions.empty()) {
|
||||
SetInputWithValue(
|
||||
*op->mutable_inputs(), kOpParamAxis,
|
||||
CreateScalarImmediateValue(base::checked_cast<int32_t>(axis)));
|
||||
}
|
||||
|
||||
if (input_operand_id != operation.input_operand_id) {
|
||||
@ -2446,11 +2466,11 @@ GraphBuilderCoreml::AddOperationForDequantizeLinear(
|
||||
[[nodiscard]] base::expected<void, mojom::ErrorPtr>
|
||||
GraphBuilderCoreml::AddOperationForDequantizeLinearConst(
|
||||
const mojom::DequantizeLinear& operation,
|
||||
size_t axis,
|
||||
bool is_scalar_scale,
|
||||
CoreML::Specification::MILSpec::Block& block) {
|
||||
const OperandInfo& input_operand_info =
|
||||
GetOperandInfo(operation.input_operand_id);
|
||||
const OperandInfo& scale_operand_info =
|
||||
GetOperandInfo(operation.scale_operand_id);
|
||||
|
||||
CHECK(constant_operands_->contains(operation.input_operand_id));
|
||||
CHECK(constant_operands_->contains(operation.zero_point_operand_id));
|
||||
@ -2460,20 +2480,15 @@ GraphBuilderCoreml::AddOperationForDequantizeLinearConst(
|
||||
op->set_type(kOpDequantizeLinearConstTypeName);
|
||||
|
||||
static constexpr char kParamInput[] = "quantized_data";
|
||||
bool input_needs_reshape = input_operand_info.dimensions.empty();
|
||||
std::vector<uint32_t> input_dimensions = input_operand_info.dimensions.empty()
|
||||
? std::vector<uint32_t>{1}
|
||||
: input_operand_info.dimensions;
|
||||
CoreML::Specification::MILSpec::Value value;
|
||||
if (input_needs_reshape) {
|
||||
ASSIGN_OR_RETURN(value,
|
||||
weights_file_handle_->Write(
|
||||
operation.input_operand_id,
|
||||
*constant_operands_->at(operation.input_operand_id),
|
||||
std::array<uint32_t, 1>{1}));
|
||||
} else {
|
||||
ASSIGN_OR_RETURN(value,
|
||||
weights_file_handle_->Write(
|
||||
operation.input_operand_id,
|
||||
*constant_operands_->at(operation.input_operand_id)));
|
||||
}
|
||||
ASSIGN_OR_RETURN(value,
|
||||
weights_file_handle_->Write(
|
||||
operation.input_operand_id,
|
||||
*constant_operands_->at(operation.input_operand_id),
|
||||
input_dimensions));
|
||||
// This op requires all parameters passed as attributes instead of inputs.
|
||||
(*op->mutable_attributes())[kParamInput] = std::move(value);
|
||||
|
||||
@ -2481,21 +2496,22 @@ GraphBuilderCoreml::AddOperationForDequantizeLinearConst(
|
||||
(*op->mutable_attributes())[kOpParamZeroPoint],
|
||||
weights_file_handle_->Write(
|
||||
operation.zero_point_operand_id,
|
||||
*constant_operands_->at(operation.zero_point_operand_id)))
|
||||
*constant_operands_->at(operation.zero_point_operand_id),
|
||||
is_scalar_scale ? base::span<const uint32_t>{}
|
||||
: base::span<const uint32_t>{input_dimensions[axis]}))
|
||||
|
||||
ASSIGN_OR_RETURN((*op->mutable_attributes())[kOpParamScale],
|
||||
weights_file_handle_->Write(
|
||||
operation.scale_operand_id,
|
||||
*constant_operands_->at(operation.scale_operand_id)))
|
||||
ASSIGN_OR_RETURN(
|
||||
(*op->mutable_attributes())[kOpParamScale],
|
||||
weights_file_handle_->Write(
|
||||
operation.scale_operand_id,
|
||||
*constant_operands_->at(operation.scale_operand_id),
|
||||
is_scalar_scale ? base::span<const uint32_t>{}
|
||||
: base::span<const uint32_t>{input_dimensions[axis]}))
|
||||
|
||||
int32_t axis = 0;
|
||||
if (!scale_operand_info.dimensions.empty()) {
|
||||
axis =
|
||||
base::checked_cast<int32_t>(input_operand_info.dimensions.size() - 1);
|
||||
}
|
||||
(*op->mutable_attributes())[kOpParamAxis] = CreateScalarImmediateValue(axis);
|
||||
(*op->mutable_attributes())[kOpParamAxis] =
|
||||
CreateScalarImmediateValue(base::checked_cast<int32_t>(axis));
|
||||
|
||||
if (input_needs_reshape) {
|
||||
if (input_operand_info.dimensions.empty()) {
|
||||
ASSIGN_OR_RETURN(
|
||||
uint64_t output_operand_id,
|
||||
GenerateInternalOperandInfo(
|
||||
@ -2574,6 +2590,128 @@ GraphBuilderCoreml::AddOperationForDequantizeLinearConstBlockwise(
|
||||
return base::ok();
|
||||
}
|
||||
|
||||
[[nodiscard]] base::expected<void, mojom::ErrorPtr>
|
||||
GraphBuilderCoreml::AddOperationForDequantizeLinearEmulate(
|
||||
const mojom::DequantizeLinear& operation,
|
||||
CoreML::Specification::MILSpec::Block& block) {
|
||||
const OperandInfo& input_operand_info =
|
||||
GetOperandInfo(operation.input_operand_id);
|
||||
const OperandInfo& scale_operand_info =
|
||||
GetOperandInfo(operation.scale_operand_id);
|
||||
const OperandInfo& zero_point_operand_info =
|
||||
GetOperandInfo(operation.zero_point_operand_id);
|
||||
|
||||
// cast(zero_point, scale_type)
|
||||
base::span<const uint32_t> scale_dimensions = scale_operand_info.dimensions;
|
||||
base::span<const uint32_t> input_dimensions = input_operand_info.dimensions;
|
||||
uint64_t scale_operand_id = operation.scale_operand_id;
|
||||
uint64_t zero_point_operand_id = operation.zero_point_operand_id;
|
||||
ASSIGN_OR_RETURN(
|
||||
zero_point_operand_id,
|
||||
GenerateInternalOperandInfo(scale_operand_info.mil_data_type,
|
||||
zero_point_operand_info.dimensions));
|
||||
RETURN_IF_ERROR(AddOperationForCast(operation.zero_point_operand_id,
|
||||
zero_point_operand_id, block));
|
||||
|
||||
// When zero_point and scale on a dimension is not
|
||||
// input_dimension or 1, this is a blockwise dequantization, the zero_point
|
||||
// and scale need to be expanded.
|
||||
for (size_t i = 0; i < scale_dimensions.size(); ++i) {
|
||||
uint32_t scale_vector_size = scale_dimensions[i];
|
||||
size_t current_axis = input_dimensions.size() + i - scale_dimensions.size();
|
||||
if (scale_vector_size != 1 &&
|
||||
scale_vector_size != input_dimensions[current_axis]) {
|
||||
// For blockwise dequantization we need to expand the shape by 1 during
|
||||
// `ExpandForBlockwise`, so the original shape needs to be <=4.
|
||||
if (scale_dimensions.size() > 4) {
|
||||
return NewNotSupportedError(
|
||||
"Unsupported rank for dequantizeLinear argument scale. It should "
|
||||
"be between 0 and 4 for blockwise dequantization.");
|
||||
}
|
||||
CHECK_EQ(input_dimensions[current_axis] % scale_vector_size, 0u);
|
||||
const int32_t repetitions =
|
||||
input_dimensions[current_axis] / scale_vector_size;
|
||||
uint64_t prev_scale = scale_operand_id;
|
||||
ASSIGN_OR_RETURN(scale_operand_id,
|
||||
ExpandForBlockwise(prev_scale, i, repetitions, block));
|
||||
uint64_t prev_zero_point = zero_point_operand_id;
|
||||
ASSIGN_OR_RETURN(
|
||||
zero_point_operand_id,
|
||||
ExpandForBlockwise(prev_zero_point, i, repetitions, block));
|
||||
}
|
||||
}
|
||||
|
||||
// `output = (input - zeroPoint) * scale`.
|
||||
ASSIGN_OR_RETURN(uint64_t casted_input,
|
||||
GenerateInternalOperandInfo(scale_operand_info.mil_data_type,
|
||||
input_operand_info.dimensions));
|
||||
RETURN_IF_ERROR(
|
||||
AddOperationForCast(operation.input_operand_id, casted_input, block));
|
||||
|
||||
ASSIGN_OR_RETURN(uint64_t minus_zero_point,
|
||||
GenerateInternalOperandInfo(scale_operand_info.mil_data_type,
|
||||
input_operand_info.dimensions));
|
||||
RETURN_IF_ERROR(AddOperationForElementwiseBinary(
|
||||
casted_input, zero_point_operand_id, minus_zero_point,
|
||||
mojom::ElementWiseBinary::Kind::kSub, block));
|
||||
|
||||
RETURN_IF_ERROR(AddOperationForElementwiseBinary(
|
||||
minus_zero_point, scale_operand_id, operation.output_operand_id,
|
||||
mojom::ElementWiseBinary::Kind::kMul, block));
|
||||
return base::ok();
|
||||
}
|
||||
|
||||
[[nodiscard]] base::expected<uint64_t, mojom::ErrorPtr>
|
||||
GraphBuilderCoreml::ExpandForBlockwise(
|
||||
uint64_t input_operand_id,
|
||||
size_t repetition_axis,
|
||||
int32_t repetitions,
|
||||
CoreML::Specification::MILSpec::Block& block) {
|
||||
const OperandInfo& input_operand_info = GetOperandInfo(input_operand_id);
|
||||
base::span<const uint32_t> dimensions = input_operand_info.dimensions;
|
||||
base::FixedArray<uint32_t> reshaped_dimensions(dimensions.size() + 1);
|
||||
|
||||
// `tile` repeats values for the whole dimension, but we want repetitions for
|
||||
// each individual value, this is achieved by inserting dimension of 1 to be
|
||||
// tiled, then reshape back.
|
||||
auto [reshaped_dimensions_first, reshaped_dimensions_last] =
|
||||
base::span(reshaped_dimensions).split_at(repetition_axis + 1);
|
||||
auto [dimensions_first, dimensions_last] =
|
||||
dimensions.split_at(repetition_axis + 1);
|
||||
reshaped_dimensions_first.copy_from(dimensions_first);
|
||||
reshaped_dimensions_last[0] = 1;
|
||||
reshaped_dimensions_last.subspan(1u).copy_from(dimensions_last);
|
||||
|
||||
uint64_t prev_operand = input_operand_id;
|
||||
ASSIGN_OR_RETURN(input_operand_id,
|
||||
GenerateInternalOperandInfo(input_operand_info.mil_data_type,
|
||||
reshaped_dimensions));
|
||||
RETURN_IF_ERROR(
|
||||
AddOperationForReshape(prev_operand, input_operand_id, block));
|
||||
|
||||
base::FixedArray<uint32_t> tile_dimensions = reshaped_dimensions;
|
||||
tile_dimensions[repetition_axis + 1] = repetitions;
|
||||
prev_operand = input_operand_id;
|
||||
ASSIGN_OR_RETURN(input_operand_id,
|
||||
GenerateInternalOperandInfo(input_operand_info.mil_data_type,
|
||||
tile_dimensions));
|
||||
|
||||
base::FixedArray<int32_t> repetitions_for_tile(reshaped_dimensions.size(), 1);
|
||||
repetitions_for_tile[repetition_axis + 1] = repetitions;
|
||||
RETURN_IF_ERROR(AddOperationForTile(prev_operand, input_operand_id,
|
||||
repetitions_for_tile, block));
|
||||
std::vector<uint32_t> output_dimensions(input_operand_info.dimensions);
|
||||
output_dimensions[repetition_axis] =
|
||||
dimensions[repetition_axis] * repetitions;
|
||||
ASSIGN_OR_RETURN(uint64_t output_operand_id,
|
||||
GenerateInternalOperandInfo(input_operand_info.mil_data_type,
|
||||
output_dimensions));
|
||||
|
||||
RETURN_IF_ERROR(
|
||||
AddOperationForReshape(input_operand_id, output_operand_id, block));
|
||||
return output_operand_id;
|
||||
}
|
||||
|
||||
base::expected<void, mojom::ErrorPtr>
|
||||
GraphBuilderCoreml::AddOperationForElementwiseBinary(
|
||||
std::variant<uint64_t, CoreML::Specification::MILSpec::Value> lhs_operand,
|
||||
@ -5127,27 +5265,35 @@ GraphBuilderCoreml::AddOperationForSplit(
|
||||
|
||||
[[nodiscard]] base::expected<void, mojom::ErrorPtr>
|
||||
GraphBuilderCoreml::AddOperationForTile(
|
||||
const mojom::Tile& operation,
|
||||
uint64_t input_operand_id,
|
||||
uint64_t output_operand_id,
|
||||
base::span<const int32_t> repetitions,
|
||||
CoreML::Specification::MILSpec::Block& block) {
|
||||
const OperandInfo& input_operand_info =
|
||||
GetOperandInfo(operation.input_operand_id);
|
||||
const OperandInfo& input_operand_info = GetOperandInfo(input_operand_id);
|
||||
CHECK(context_properties_.data_type_limits.tile_input.data_types.Has(
|
||||
MILDataTypeToOperandType(input_operand_info.mil_data_type)));
|
||||
|
||||
CoreML::Specification::MILSpec::Operation* op = block.add_operations();
|
||||
op->set_type(kOpTileTypeName);
|
||||
RETURN_IF_ERROR(SetInputFromOperand(*op->mutable_inputs(), kOpParamX,
|
||||
operation.input_operand_id));
|
||||
RETURN_IF_ERROR(
|
||||
SetInputFromOperand(*op->mutable_inputs(), kOpParamX, input_operand_id));
|
||||
|
||||
// CoreML expects repetitions to be vector of int32_t.
|
||||
SetInputWithValue(
|
||||
*op->mutable_inputs(), kOpParamReps,
|
||||
Create1DTensorImmediateValue<int32_t>(Ui32ToI32(operation.repetitions)));
|
||||
SetInputWithValue(*op->mutable_inputs(), kOpParamReps,
|
||||
Create1DTensorImmediateValue<int32_t>(repetitions));
|
||||
|
||||
PopulateNamedValueType(operation.output_operand_id, *op->add_outputs());
|
||||
PopulateNamedValueType(output_operand_id, *op->add_outputs());
|
||||
return base::ok();
|
||||
}
|
||||
|
||||
[[nodiscard]] base::expected<void, mojom::ErrorPtr>
|
||||
GraphBuilderCoreml::AddOperationForTile(
|
||||
const mojom::Tile& operation,
|
||||
CoreML::Specification::MILSpec::Block& block) {
|
||||
return AddOperationForTile(operation.input_operand_id,
|
||||
operation.output_operand_id,
|
||||
Ui32ToI32(operation.repetitions), block);
|
||||
}
|
||||
|
||||
[[nodiscard]] base::expected<void, mojom::ErrorPtr>
|
||||
GraphBuilderCoreml::AddOperationForTranspose(
|
||||
uint64_t input_operand_id,
|
||||
|
@ -310,12 +310,25 @@ class GraphBuilderCoreml {
|
||||
[[nodiscard]] base::expected<void, mojom::ErrorPtr>
|
||||
AddOperationForDequantizeLinearConst(
|
||||
const mojom::DequantizeLinear& operation,
|
||||
size_t axis,
|
||||
bool is_scalar_scale,
|
||||
CoreML::Specification::MILSpec::Block& block);
|
||||
[[nodiscard]] base::expected<void, mojom::ErrorPtr>
|
||||
AddOperationForDequantizeLinearConstBlockwise(
|
||||
const mojom::DequantizeLinear& operation,
|
||||
CoreML::Specification::MILSpec::Block& block);
|
||||
[[nodiscard]] base::expected<void, mojom::ErrorPtr>
|
||||
AddOperationForDequantizeLinearEmulate(
|
||||
const mojom::DequantizeLinear& operation,
|
||||
CoreML::Specification::MILSpec::Block& block);
|
||||
// Expand for given `repetition` on `axis` for blockwise (de)quantization.
|
||||
[[nodiscard]] base::expected<uint64_t, mojom::ErrorPtr> ExpandForBlockwise(
|
||||
uint64_t input_operand_id,
|
||||
size_t repetition_axis,
|
||||
int32_t repetitions,
|
||||
CoreML::Specification::MILSpec::Block& block);
|
||||
|
||||
[[nodiscard]] base::expected<void, mojom::ErrorPtr>
|
||||
AddOperationForElementwiseBinary(
|
||||
std::variant<uint64_t, CoreML::Specification::MILSpec::Value> lhs_operand,
|
||||
std::variant<uint64_t, CoreML::Specification::MILSpec::Value> rhs_operand,
|
||||
@ -499,6 +512,11 @@ class GraphBuilderCoreml {
|
||||
[[nodiscard]] base::expected<void, mojom::ErrorPtr> AddOperationForSplit(
|
||||
const mojom::Split& operation,
|
||||
CoreML::Specification::MILSpec::Block& block);
|
||||
[[nodiscard]] base::expected<void, mojom::ErrorPtr> AddOperationForTile(
|
||||
uint64_t input_operand_id,
|
||||
uint64_t output_operand_id,
|
||||
base::span<const int32_t> repetitions,
|
||||
CoreML::Specification::MILSpec::Block& block);
|
||||
[[nodiscard]] base::expected<void, mojom::ErrorPtr> AddOperationForTile(
|
||||
const mojom::Tile& operation,
|
||||
CoreML::Specification::MILSpec::Block& block);
|
||||
|
37
third_party/blink/web_tests/external/wpt/webnn/conformance_tests/dequantizeLinear.https.any.js
vendored
37
third_party/blink/web_tests/external/wpt/webnn/conformance_tests/dequantizeLinear.https.any.js
vendored
@ -619,6 +619,43 @@ const dequantizeLinearTests = [
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
'name': 'dequantizeLinear int32 1D tensor with float32 scalar scale',
|
||||
'graph': {
|
||||
'inputs': {
|
||||
'dequantizeLinearInput': {
|
||||
'data': [12345, 23946213],
|
||||
'descriptor': {shape: [2], dataType: 'int32'},
|
||||
'constant': false
|
||||
},
|
||||
'dequantizeLinearScale': {
|
||||
'data': [1.1202747821807861, 0.2800687253475189],
|
||||
'descriptor': {shape: [2], dataType: 'float32'},
|
||||
'constant': true
|
||||
},
|
||||
'dequantizeLinearZeroPoint': {
|
||||
'data': [32345, -2445234],
|
||||
'descriptor': {shape: [2], dataType: 'int32'},
|
||||
'constant': true
|
||||
}
|
||||
},
|
||||
'operators': [{
|
||||
'name': 'dequantizeLinear',
|
||||
'arguments': [
|
||||
{'input': 'dequantizeLinearInput'},
|
||||
{'scale': 'dequantizeLinearScale'},
|
||||
{'zeroPoint': 'dequantizeLinearZeroPoint'}
|
||||
],
|
||||
'outputs': 'dequantizeLinearOutput'
|
||||
}],
|
||||
'expectedOutputs': {
|
||||
'dequantizeLinearOutput': {
|
||||
'data': [-22405.495643615723, 7391418.921366602],
|
||||
'descriptor': {shape: [2], dataType: 'float32'}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
];
|
||||
|
||||
if (navigator.ml) {
|
||||
|
@ -1,23 +1,17 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] dequantizeLinear uint8 1D constant tensor with implicit block_size = 2.
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported options to dequantizeLinear. The size of 'scale' must be equal to the size of the input's last dimension."
|
||||
[FAIL] dequantizeLinear int8 4D constant tensor broadcasting scale and zeroPoint
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported rank 2 for argument zeroPoint (must be at most 1)."
|
||||
[FAIL] dequantizeLinear int8 4D constant tensor with block_size = [3, 2]
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported rank 2 for argument zeroPoint (must be at most 1)."
|
||||
[FAIL] dequantizeLinear uint4 1D tensor with even input size
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
[FAIL] dequantizeLinear uint4 1D tensor with odd input size
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
[FAIL] dequantizeLinear uint4 4D constant tensor broadcasting zeroPoint
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
[FAIL] dequantizeLinear uint4 3D input with block_size = [1, 1, 2]
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
[FAIL] dequantizeLinear int4 1D tensor with even size
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type int4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type int4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
[FAIL] dequantizeLinear int4 1D tensor with odd size
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type int4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type int4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
[FAIL] per-tensor dequantizeLinear for int4 4D constant
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type int4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type int4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
Harness: the test ran to completion.
|
||||
|
||||
|
@ -1,31 +0,0 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization default + relu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + leakyRelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + sigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + clamp
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + prelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + elu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + gelu
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + hardSigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + hardSwish
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + linear
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softplus
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + softsign
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8]."
|
||||
Harness: the test ran to completion.
|
||||
|
@ -1,31 +0,0 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization default + relu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + leakyRelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + sigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + clamp
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + prelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + elu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + gelu
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + hardSigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + hardSwish
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + linear
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softplus
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + softsign
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8]."
|
||||
Harness: the test ran to completion.
|
||||
|
@ -1,31 +0,0 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization default + relu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + leakyRelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + sigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + clamp
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + prelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + elu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + gelu
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + hardSigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + hardSwish
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + linear
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softplus
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + softsign
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8]."
|
||||
Harness: the test ran to completion.
|
||||
|
@ -1,31 +0,0 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization default + relu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + leakyRelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + sigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + clamp
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + prelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + elu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + gelu
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + hardSigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + hardSwish
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + linear
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softplus
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + softsign
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8]."
|
||||
Harness: the test ran to completion.
|
||||
|
@ -1,23 +1,17 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] dequantizeLinear uint8 1D constant tensor with implicit block_size = 2.
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported options to dequantizeLinear. The size of 'scale' must be equal to the size of the input's last dimension."
|
||||
[FAIL] dequantizeLinear int8 4D constant tensor broadcasting scale and zeroPoint
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported rank 2 for argument zeroPoint (must be at most 1)."
|
||||
[FAIL] dequantizeLinear int8 4D constant tensor with block_size = [3, 2]
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported rank 2 for argument zeroPoint (must be at most 1)."
|
||||
[FAIL] dequantizeLinear uint4 1D tensor with even input size
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
[FAIL] dequantizeLinear uint4 1D tensor with odd input size
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
[FAIL] dequantizeLinear uint4 4D constant tensor broadcasting zeroPoint
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
[FAIL] dequantizeLinear uint4 3D input with block_size = [1, 1, 2]
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
[FAIL] dequantizeLinear int4 1D tensor with even size
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type int4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type int4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
[FAIL] dequantizeLinear int4 1D tensor with odd size
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type int4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type int4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
[FAIL] per-tensor dequantizeLinear for int4 4D constant
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type int4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type int4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
Harness: the test ran to completion.
|
||||
|
||||
|
@ -1,31 +0,0 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization default + relu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + leakyRelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + sigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + clamp
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + prelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + elu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + gelu
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + hardSigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + hardSwish
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + linear
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softplus
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + softsign
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8]."
|
||||
Harness: the test ran to completion.
|
||||
|
@ -1,31 +0,0 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization default + relu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + leakyRelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + sigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + clamp
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + prelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + elu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + gelu
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + hardSigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + hardSwish
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + linear
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softplus
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + softsign
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8]."
|
||||
Harness: the test ran to completion.
|
||||
|
@ -1,31 +0,0 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization default + relu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + leakyRelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + sigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + clamp
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + prelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + elu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + gelu
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + hardSigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + hardSwish
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + linear
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softplus
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + softsign
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8]."
|
||||
Harness: the test ran to completion.
|
||||
|
@ -1,31 +0,0 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization default + relu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + leakyRelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + sigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + clamp
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + prelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + elu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + gelu
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + hardSigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + hardSwish
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + linear
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softplus
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + softsign
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8]."
|
||||
Harness: the test ran to completion.
|
||||
|
@ -1,23 +1,17 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] dequantizeLinear uint8 1D constant tensor with implicit block_size = 2.
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported options to dequantizeLinear. The size of 'scale' must be equal to the size of the input's last dimension."
|
||||
[FAIL] dequantizeLinear int8 4D constant tensor broadcasting scale and zeroPoint
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported rank 2 for argument zeroPoint (must be at most 1)."
|
||||
[FAIL] dequantizeLinear int8 4D constant tensor with block_size = [3, 2]
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported rank 2 for argument zeroPoint (must be at most 1)."
|
||||
[FAIL] dequantizeLinear uint4 1D tensor with even input size
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
[FAIL] dequantizeLinear uint4 1D tensor with odd input size
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
[FAIL] dequantizeLinear uint4 4D constant tensor broadcasting zeroPoint
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
[FAIL] dequantizeLinear uint4 3D input with block_size = [1, 1, 2]
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type uint4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
[FAIL] dequantizeLinear int4 1D tensor with even size
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type int4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type int4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
[FAIL] dequantizeLinear int4 1D tensor with odd size
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type int4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type int4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
[FAIL] per-tensor dequantizeLinear for int4 4D constant
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type int4 for argument input, must be one of [int8, uint8]."
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'dequantizeLinear' on 'MLGraphBuilder': Unsupported data type int4 for argument input, must be one of [int32, uint32, int8, uint8]."
|
||||
Harness: the test ran to completion.
|
||||
|
||||
|
@ -1,31 +0,0 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization default + relu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + leakyRelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + sigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + clamp
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + prelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + elu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + gelu
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + hardSigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + hardSwish
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + linear
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softplus
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + softsign
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8]."
|
||||
Harness: the test ran to completion.
|
||||
|
@ -1,31 +0,0 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization default + relu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + leakyRelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + sigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + clamp
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + prelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + elu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + gelu
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + hardSigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + hardSwish
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + linear
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softplus
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + softsign
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8]."
|
||||
Harness: the test ran to completion.
|
||||
|
@ -1,31 +0,0 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization default + relu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + leakyRelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + sigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + clamp
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + prelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + elu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + gelu
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + hardSigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + hardSwish
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + linear
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softplus
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + softsign
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8]."
|
||||
Harness: the test ran to completion.
|
||||
|
@ -1,31 +0,0 @@
|
||||
This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization default + relu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + leakyRelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + sigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + clamp
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + prelu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + elu
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + gelu
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + hardSigmoid
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + hardSwish
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization default + linear
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softplus
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] batchNormalization default + softsign
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'batchNormalization' on 'MLGraphBuilder': Unsupported rank 2 for argument input (must be at least 3)."
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8]."
|
||||
Harness: the test ran to completion.
|
||||
|
@ -26,6 +26,6 @@ This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8,int4,uint4]."
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported options to quantizeLinear. The size of 'scale' must be equal to the size of the input's last dimension."
|
||||
Harness: the test ran to completion.
|
||||
|
||||
|
@ -26,6 +26,6 @@ This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8,int4,uint4]."
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported options to quantizeLinear. The size of 'scale' must be equal to the size of the input's last dimension."
|
||||
Harness: the test ran to completion.
|
||||
|
||||
|
@ -26,6 +26,6 @@ This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8,int4,uint4]."
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported options to quantizeLinear. The size of 'scale' must be equal to the size of the input's last dimension."
|
||||
Harness: the test ran to completion.
|
||||
|
||||
|
@ -26,6 +26,6 @@ This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8,int4,uint4]."
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported options to quantizeLinear. The size of 'scale' must be equal to the size of the input's last dimension."
|
||||
Harness: the test ran to completion.
|
||||
|
||||
|
@ -26,6 +26,6 @@ This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8,int4,uint4]."
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported options to quantizeLinear. The size of 'scale' must be equal to the size of the input's last dimension."
|
||||
Harness: the test ran to completion.
|
||||
|
||||
|
@ -26,6 +26,6 @@ This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8,int4,uint4]."
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported options to quantizeLinear. The size of 'scale' must be equal to the size of the input's last dimension."
|
||||
Harness: the test ran to completion.
|
||||
|
||||
|
@ -26,6 +26,6 @@ This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8,int4,uint4]."
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported options to quantizeLinear. The size of 'scale' must be equal to the size of the input's last dimension."
|
||||
Harness: the test ran to completion.
|
||||
|
||||
|
@ -26,6 +26,6 @@ This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8,int4,uint4]."
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported options to quantizeLinear. The size of 'scale' must be equal to the size of the input's last dimension."
|
||||
Harness: the test ran to completion.
|
||||
|
||||
|
@ -26,6 +26,6 @@ This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8,int4,uint4]."
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported options to quantizeLinear. The size of 'scale' must be equal to the size of the input's last dimension."
|
||||
Harness: the test ran to completion.
|
||||
|
||||
|
@ -26,6 +26,6 @@ This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8,int4,uint4]."
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported options to quantizeLinear. The size of 'scale' must be equal to the size of the input's last dimension."
|
||||
Harness: the test ran to completion.
|
||||
|
||||
|
@ -26,6 +26,6 @@ This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8,int4,uint4]."
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported options to quantizeLinear. The size of 'scale' must be equal to the size of the input's last dimension."
|
||||
Harness: the test ran to completion.
|
||||
|
||||
|
@ -26,6 +26,6 @@ This is a testharness.js-based test.
|
||||
[FAIL] batchNormalization options.axis=0 + softmax
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported axis for batchNormalization. It must be the channel dimension."
|
||||
[FAIL] quantized conv2d
|
||||
promise_test: Unhandled rejection with value: object "TypeError: Unsupported data type, input 'input' data type int32 must be one of [int8,uint8,int4,uint4]."
|
||||
promise_test: Unhandled rejection with value: object "NotSupportedError: Failed to execute 'build' on 'MLGraphBuilder': Unsupported options to quantizeLinear. The size of 'scale' must be equal to the size of the input's last dimension."
|
||||
Harness: the test ran to completion.
|
||||
|
||||
|
Reference in New Issue
Block a user