summaryrefslogtreecommitdiff
path: root/nn/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'nn/runtime')
-rw-r--r--nn/runtime/ExecutionPlan.cpp5
-rw-r--r--nn/runtime/Manager.cpp8
-rw-r--r--nn/runtime/VersionedInterfaces.cpp27
-rw-r--r--nn/runtime/test/Android.bp2
-rw-r--r--nn/runtime/test/AndroidTest.xml37
-rw-r--r--nn/runtime/test/TestCompliance.cpp32
-rw-r--r--nn/runtime/test/TestFailingDriver.cpp (renamed from nn/runtime/test/TestControlFlowExecution.cpp)44
-rw-r--r--nn/runtime/test/TestGenerated.cpp1
-rw-r--r--nn/runtime/test/TestPartitioning.cpp124
-rw-r--r--nn/runtime/test/TestValidateOperations.cpp4
-rw-r--r--nn/runtime/test/generated/spec_V1_3/while_fib.example.cpp400
-rw-r--r--nn/runtime/test/specs/V1_3/while_fib.mod.py2
12 files changed, 435 insertions, 251 deletions
diff --git a/nn/runtime/ExecutionPlan.cpp b/nn/runtime/ExecutionPlan.cpp
index 0557f95d4..e955cd5e1 100644
--- a/nn/runtime/ExecutionPlan.cpp
+++ b/nn/runtime/ExecutionPlan.cpp
@@ -607,6 +607,7 @@ void LogicalStep::dump() const {
int ExecutionPlan::CompoundBody::finish(const SourceModels* sourceModels,
int32_t executionPreference, int32_t priority,
const std::optional<Deadline>& deadline) {
+ CHECK(!mSuccessfulFinish);
CHECK(!deadline.has_value());
const ModelBuilder* mainModel = sourceModels->getModel(kMainModelInSourceModels);
@@ -700,6 +701,7 @@ void ExecutionPlan::CompoundBody::findControlFlowBoundaryConstants(
int ExecutionPlan::SimpleBody::finish(const SourceModels*, int32_t executionPreference,
int32_t priority, const std::optional<Deadline>& deadline) {
+ CHECK(!mSuccessfulFinish);
CHECK(mDevice != nullptr);
VLOG(COMPILATION) << "ExecutionPlan::SimpleBody::finish, compilation";
const int n = compile(*mDevice, *mModel, executionPreference, priority, deadline, *mCacheDir,
@@ -1108,6 +1110,7 @@ int ExecutionPlan::next(std::shared_ptr<Controller> controller,
if (burstController != nullptr && controller->mBurstBuilder != nullptr) {
*burstController = controller->mBurstBuilder->getControllerAt(0);
}
+ controller->mFallbackNextStepIndex = 0;
controller->mNextStepIndex = 1;
return ANEURALNETWORKS_NO_ERROR;
}
@@ -1637,7 +1640,7 @@ int ModelBuilder::partitionTheWorkInternal(uint32_t sourceModelIndex,
VLOG(COMPILATION) << "ModelBuilder::partitionTheWork: only one best device: "
<< bestDeviceIndex << " = " << devices[bestDeviceIndex]->getName();
plan->becomeSingleStep(devices[bestDeviceIndex], this);
- return plan->finish(preference, priority, deadline);
+ return ANEURALNETWORKS_NO_ERROR;
}
}
diff --git a/nn/runtime/Manager.cpp b/nn/runtime/Manager.cpp
index 310710e3c..634cd2aec 100644
--- a/nn/runtime/Manager.cpp
+++ b/nn/runtime/Manager.cpp
@@ -379,9 +379,9 @@ std::tuple<int, std::vector<OutputShape>, Timing> DriverPreparedModel::execute(
const bool burstCompute = (burstController != nullptr);
bool burstFallback = true;
if (burstCompute) {
- const bool compliant = compliantWithV1_0(request);
+ const bool compliant = compliantWithV1_2(request);
if (compliant) {
- V1_0::Request request10 = convertToV1_0(request);
+ V1_0::Request request12 = convertToV1_2(request);
std::vector<intptr_t> memoryIds;
memoryIds.reserve(localMemories.size());
for (const Memory* memory : localMemories) {
@@ -390,9 +390,9 @@ std::tuple<int, std::vector<OutputShape>, Timing> DriverPreparedModel::execute(
}
VLOG(EXECUTION) << "Before ExecutionBurstController->compute() "
- << SHOW_IF_DEBUG(toString(request10));
+ << SHOW_IF_DEBUG(toString(request12));
std::tie(n, outputShapes, timing, burstFallback) =
- burstController->compute(request10, measure, memoryIds);
+ burstController->compute(request12, measure, memoryIds);
}
}
diff --git a/nn/runtime/VersionedInterfaces.cpp b/nn/runtime/VersionedInterfaces.cpp
index 3ae950eac..33d290cfe 100644
--- a/nn/runtime/VersionedInterfaces.cpp
+++ b/nn/runtime/VersionedInterfaces.cpp
@@ -241,17 +241,16 @@ std::tuple<int, std::vector<OutputShape>, Timing> VersionedIPreparedModel::execu
return getResults(*callback);
}
- const bool compliant = compliantWithV1_0(request);
- if (!compliant) {
- LOG(ERROR) << "Could not handle execute or execute_1_2!";
- return failWithStatus(ErrorStatus::GENERAL_FAILURE);
- }
- const V1_0::Request request10 = convertToV1_0(request);
-
// version 1.2 HAL
if (mPreparedModelV1_2 != nullptr) {
+ const bool compliant = compliantWithV1_2(request);
+ if (!compliant) {
+ LOG(ERROR) << "Could not handle execute_1_2!";
+ return failWithStatus(ErrorStatus::GENERAL_FAILURE);
+ }
+ const V1_0::Request request12 = convertToV1_2(request);
Return<V1_0::ErrorStatus> ret =
- mPreparedModelV1_2->execute_1_2(request10, measure, callback);
+ mPreparedModelV1_2->execute_1_2(request12, measure, callback);
if (ret.isDeadObject()) {
LOG(ERROR) << "execute_1_2 failure: " << ret.description();
return failDeadObject();
@@ -271,6 +270,12 @@ std::tuple<int, std::vector<OutputShape>, Timing> VersionedIPreparedModel::execu
// version 1.0 HAL
if (mPreparedModelV1_0 != nullptr) {
+ const bool compliant = compliantWithV1_0(request);
+ if (!compliant) {
+ LOG(ERROR) << "Could not handle execute!";
+ return failWithStatus(ErrorStatus::GENERAL_FAILURE);
+ }
+ const V1_0::Request request10 = convertToV1_0(request);
Return<V1_0::ErrorStatus> ret = mPreparedModelV1_0->execute(request10, callback);
if (ret.isDeadObject()) {
LOG(ERROR) << "execute failure: " << ret.description();
@@ -324,16 +329,16 @@ std::tuple<int, std::vector<OutputShape>, Timing> VersionedIPreparedModel::execu
// version 1.2 HAL
if (mPreparedModelV1_2 != nullptr) {
- const bool compliant = compliantWithV1_0(request);
+ const bool compliant = compliantWithV1_2(request);
if (!compliant) {
LOG(ERROR) << "Could not handle executeSynchronously!";
return kFailure;
}
- const V1_0::Request request10 = convertToV1_0(request);
+ const V1_0::Request request12 = convertToV1_2(request);
std::tuple<int, std::vector<OutputShape>, Timing> result;
Return<void> ret = mPreparedModelV1_2->executeSynchronously(
- request10, measure,
+ request12, measure,
[&result](V1_0::ErrorStatus error, const hidl_vec<OutputShape>& outputShapes,
const Timing& timing) {
result = getExecutionResult(convertToV1_3(error), outputShapes, timing);
diff --git a/nn/runtime/test/Android.bp b/nn/runtime/test/Android.bp
index aed0c4e60..65d9de688 100644
--- a/nn/runtime/test/Android.bp
+++ b/nn/runtime/test/Android.bp
@@ -121,9 +121,9 @@ cc_defaults {
// "TestOpenmpSettings.cpp",
"TestCompilationCaching.cpp",
"TestCompliance.cpp",
- "TestControlFlowExecution.cpp",
"TestExecution.cpp",
"TestExtensions.cpp",
+ "TestFailingDriver.cpp",
"TestIntrospectionControl.cpp",
"TestMemoryDomain.cpp",
"TestMemoryInternal.cpp",
diff --git a/nn/runtime/test/AndroidTest.xml b/nn/runtime/test/AndroidTest.xml
new file mode 100644
index 000000000..2712e009c
--- /dev/null
+++ b/nn/runtime/test/AndroidTest.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2020 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Runs NeuralNetworksTest_static.">
+ <option name="test-suite-tag" value="apct" />
+ <option name="test-suite-tag" value="apct-native" />
+
+ <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer">
+ <option name="force-root" value="false" />
+ </target_preparer>
+
+ <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer">
+ <option name="cleanup" value="true" />
+ <option name="push" value="NeuralNetworksTest_static->/data/local/tmp/NeuralNetworksTest_static" />
+ </target_preparer>
+
+ <test class="com.android.tradefed.testtype.GTest" >
+ <!-- b/153876253, temporarily disable the failing tests.
+ Must be deleted after corresponding driver issues are fixed.
+ -->
+ <option name="native-test-flag" value="--gtest_filter=-*l2_normalization_axis_corner_case*" />
+ <option name="native-test-device-path" value="/data/local/tmp" />
+ <option name="module-name" value="NeuralNetworksTest_static" />
+ </test>
+</configuration>
diff --git a/nn/runtime/test/TestCompliance.cpp b/nn/runtime/test/TestCompliance.cpp
index 53bff038b..db5ab4d3e 100644
--- a/nn/runtime/test/TestCompliance.cpp
+++ b/nn/runtime/test/TestCompliance.cpp
@@ -18,6 +18,7 @@
#include "GeneratedTestUtils.h"
#include "HalInterfaces.h"
+#include "Memory.h"
#include "MemoryUtils.h"
#include "ModelBuilder.h"
#include "TestNeuralNetworksWrapper.h"
@@ -71,8 +72,14 @@ static void testAvailableSinceV1_0(const WrapperModel& wrapperModel) {
ASSERT_TRUE(compliantWithV1_0(hidlModel));
}
+static void testAvailableSinceV1_2(const Request& request) {
+ ASSERT_FALSE(compliantWithV1_0(request));
+ ASSERT_TRUE(compliantWithV1_2(request));
+}
+
static void testAvailableSinceV1_3(const Request& request) {
ASSERT_FALSE(compliantWithV1_0(request));
+ ASSERT_FALSE(compliantWithV1_2(request));
}
static const WrapperOperandType kTypeTensorFloat(WrapperType::TENSOR_FLOAT32, {1});
@@ -126,7 +133,7 @@ TEST_F(ComplianceTest, Rank0TensorTemporaryVariable) {
testAvailableSinceV1_2(model);
}
-TEST_F(ComplianceTest, HardwareBuffer) {
+TEST_F(ComplianceTest, HardwareBufferModel) {
const size_t memorySize = 20;
AHardwareBuffer_Desc desc{
.width = memorySize,
@@ -157,6 +164,29 @@ TEST_F(ComplianceTest, HardwareBuffer) {
AHardwareBuffer_release(buffer);
}
+TEST_F(ComplianceTest, HardwareBufferRequest) {
+ const auto [n, ahwb] = MemoryRuntimeAHWB::create(1024);
+ ASSERT_EQ(n, ANEURALNETWORKS_NO_ERROR);
+ Request::MemoryPool sharedMemoryPool, ahwbMemoryPool = ahwb->getMemoryPool();
+ sharedMemoryPool.hidlMemory(allocateSharedMemory(1024));
+ ASSERT_TRUE(sharedMemoryPool.hidlMemory().valid());
+ ASSERT_TRUE(ahwbMemoryPool.hidlMemory().valid());
+
+ // AHardwareBuffer as input.
+ testAvailableSinceV1_2(Request{
+ .inputs = {{.hasNoValue = false, .location = {.poolIndex = 0}, .dimensions = {}}},
+ .outputs = {{.hasNoValue = false, .location = {.poolIndex = 1}, .dimensions = {}}},
+ .pools = {ahwbMemoryPool, sharedMemoryPool},
+ });
+
+ // AHardwareBuffer as output.
+ testAvailableSinceV1_2(Request{
+ .inputs = {{.hasNoValue = false, .location = {.poolIndex = 0}, .dimensions = {}}},
+ .outputs = {{.hasNoValue = false, .location = {.poolIndex = 1}, .dimensions = {}}},
+ .pools = {sharedMemoryPool, ahwbMemoryPool},
+ });
+}
+
TEST_F(ComplianceTest, DeviceMemory) {
Request::MemoryPool sharedMemoryPool, deviceMemoryPool;
sharedMemoryPool.hidlMemory(allocateSharedMemory(1024));
diff --git a/nn/runtime/test/TestControlFlowExecution.cpp b/nn/runtime/test/TestFailingDriver.cpp
index 34e4b2923..7d41ace20 100644
--- a/nn/runtime/test/TestControlFlowExecution.cpp
+++ b/nn/runtime/test/TestFailingDriver.cpp
@@ -72,12 +72,14 @@ class FailingTestDriver : public SampleDriverPartial {
class FailingDriverTest : public ::testing::Test {
virtual void SetUp() {
- if (DeviceManager::get()->getUseCpuOnly()) {
+ DeviceManager* deviceManager = DeviceManager::get();
+ if (deviceManager->getUseCpuOnly() ||
+ !DeviceManager::partitioningAllowsFallback(deviceManager->getPartitioning())) {
GTEST_SKIP();
}
mTestDevice =
DeviceManager::forTest_makeDriverDevice(kTestDriverName, new FailingTestDriver());
- DeviceManager::get()->forTest_setDevices({
+ deviceManager->forTest_setDevices({
mTestDevice,
DeviceManager::getCpuDevice(),
});
@@ -170,5 +172,43 @@ TEST_F(FailingDriverTest, FailAfterInterpretedWhile) {
ASSERT_EQ(fSqrt[1], 5);
}
+// Regression test for b/155923033.
+TEST_F(FailingDriverTest, SimplePlan) {
+ // Model:
+ // output0 = SQRT(input0)
+ //
+ // This results in a SIMPLE execution plan. When FailingTestDriver fails,
+ // partial CPU fallback should complete the execution.
+
+ WrapperOperandType floatType(WrapperType::TENSOR_FLOAT32, {2});
+
+ WrapperModel model;
+ {
+ uint32_t fInput = model.addOperand(&floatType);
+ uint32_t fSqrt = model.addOperand(&floatType);
+ model.addOperation(ANEURALNETWORKS_SQRT, {fInput}, {fSqrt});
+ model.identifyInputsAndOutputs({fInput}, {fSqrt});
+ ASSERT_TRUE(model.isValid());
+ ASSERT_EQ(model.finish(), Result::NO_ERROR);
+ }
+
+ WrapperCompilation compilation(&model);
+ ASSERT_EQ(compilation.finish(), Result::NO_ERROR);
+
+ const CompilationBuilder* compilationBuilder =
+ reinterpret_cast<CompilationBuilder*>(compilation.getHandle());
+ const ExecutionPlan& plan = compilationBuilder->forTest_getExecutionPlan();
+ ASSERT_TRUE(plan.isSimple());
+
+ WrapperExecution execution(&compilation);
+ const float fInput[] = {12 * 12, 5 * 5};
+ float fSqrt[] = {0, 0};
+ ASSERT_EQ(execution.setInput(0, &fInput), Result::NO_ERROR);
+ ASSERT_EQ(execution.setOutput(0, &fSqrt), Result::NO_ERROR);
+ ASSERT_EQ(execution.compute(), Result::NO_ERROR);
+ ASSERT_EQ(fSqrt[0], 12);
+ ASSERT_EQ(fSqrt[1], 5);
+}
+
} // namespace
} // namespace android::nn
diff --git a/nn/runtime/test/TestGenerated.cpp b/nn/runtime/test/TestGenerated.cpp
index cc0b61983..a76aecd92 100644
--- a/nn/runtime/test/TestGenerated.cpp
+++ b/nn/runtime/test/TestGenerated.cpp
@@ -382,7 +382,6 @@ TEST_P(GeneratedValidationTests, Test) {
}
TEST_P(QuantizationCouplingTest, Test) {
- execute(testModel);
execute(convertQuant8AsymmOperandsToSigned(testModel));
}
diff --git a/nn/runtime/test/TestPartitioning.cpp b/nn/runtime/test/TestPartitioning.cpp
index 3bde4cf90..7b4205ac8 100644
--- a/nn/runtime/test/TestPartitioning.cpp
+++ b/nn/runtime/test/TestPartitioning.cpp
@@ -86,6 +86,13 @@
// MINIMUM, POW, or PRELU. These operations take no activation
// function, so we only get 4 operation kinds, for which we
// use operation encodings 16..19.
+// - There is another collection of operations (each of which has one inpus
+// and one output):
+// - Single operation available at driver version V1_3 or
+// later. It is represented in the graph as HARD_SWISH.
+// These operations take no activation function, for which we
+// use operation encodings 20..20.
+
// When we instantiate a device for testing purposes, we specify what subset of
// those operations the device is able to execute.
//
@@ -204,6 +211,11 @@ const uint32_t kFirstEncodingPRELU = kFirstEncodingPOW + 1;
const uint32_t kFirstEncodingV1_2 = kFirstEncodingMAXIMUM;
const uint32_t kLastEncodingV1_2 = kFirstEncodingPRELU;
+// V1_3 operations
+const uint32_t kFirstEncodingHARD_SWISH = kLastEncodingV1_2 + 1;
+const uint32_t kFirstEncodingV1_3 = kFirstEncodingHARD_SWISH;
+const uint32_t kLastEncodingV1_3 = kFirstEncodingHARD_SWISH;
+
const std::map<OperationType, uint32_t> operationToFirstEncoding = {
{OperationType::ADD, kFirstEncodingADD},
{OperationType::MUL, kFirstEncodingMUL},
@@ -213,6 +225,7 @@ const std::map<OperationType, uint32_t> operationToFirstEncoding = {
{OperationType::MINIMUM, kFirstEncodingMINIMUM},
{OperationType::POW, kFirstEncodingPOW},
{OperationType::PRELU, kFirstEncodingPRELU},
+ {OperationType::HARD_SWISH, kFirstEncodingHARD_SWISH},
};
// Sorted in reverse order (std::greater) so that we can use map::lower_bound to
@@ -227,6 +240,7 @@ const std::map<uint32_t, std::pair<uint32_t, bool>, std::greater<>> firstEncodin
{kFirstEncodingMINIMUM, {ANEURALNETWORKS_MINIMUM, false}},
{kFirstEncodingPOW, {ANEURALNETWORKS_POW, false}},
{kFirstEncodingPRELU, {ANEURALNETWORKS_PRELU, false}},
+ {kFirstEncodingHARD_SWISH, {ANEURALNETWORKS_HARD_SWISH, false}},
};
// Look up the operation with the specified index in a graph, and return the
@@ -664,6 +678,16 @@ class PartitioningModel : private WrapperModel {
return addOperation2To1(operation + kFirstEncodingV1_2, input0, input1, dimensionedOutput);
}
+ // Create a V1_3 operation with two inputs and one output, specifying the
+ // operation kind (where 0 is the first V1_3 operation) and the input
+ // operand indexes.
+ // Returns the output operand index.
+ uint32_t addOperation1To1V1_3(uint32_t operation, const uint32_t input0,
+ Dimensioned dimensionedOutput = Dimensioned::YES) {
+ CHECK_LE(operation, kLastEncodingV1_3 - kFirstEncodingV1_3);
+ return addOperation1To1(operation + kFirstEncodingV1_3, input0, dimensionedOutput);
+ }
+
// Create an OEM operation with one input and one output,
// specifying the input operand index. Returns the output operand
// index.
@@ -725,6 +749,20 @@ class PartitioningModel : private WrapperModel {
}
}
+ // Create an operation with one inputs and one output, specifying
+ // the operation kind and the input operand indexes.
+ // Returns the output operand index.
+ uint32_t addOperation1To1(uint32_t operation, const uint32_t input0,
+ Dimensioned dimensionedOutput = Dimensioned::YES) {
+ auto it = firstEncodingToOperation.lower_bound(operation);
+ CHECK(it != firstEncodingToOperation.end());
+ ANeuralNetworksOperationType type = it->second.first;
+
+ uint32_t output = addOperandOfSameType(input0, dimensionedOutput);
+ addOperation(type, {input0}, {output});
+ return output;
+ }
+
// Create a scalar integer operand of the specified value, and
// return the corresponding operand index.
uint32_t addIntOperand(int32_t value) {
@@ -850,10 +888,11 @@ class PartitioningTest : public ::testing::Test {
}
DeviceSpecification(const std::string& name, float perf, HalVersion halVersion,
uint32_t operationMaskV1_0, uint32_t operationMaskV1_1 = 0,
- uint32_t operationMaskV1_2 = 0)
- : DeviceSpecification(name, perf, perf,
- makeOperationMask(halVersion, operationMaskV1_0,
- operationMaskV1_1, operationMaskV1_2)) {
+ uint32_t operationMaskV1_2 = 0, uint32_t operationMaskV1_3 = 0)
+ : DeviceSpecification(
+ name, perf, perf,
+ makeOperationMask(halVersion, operationMaskV1_0, operationMaskV1_1,
+ operationMaskV1_2, operationMaskV1_3)) {
mHalVersion = halVersion;
}
@@ -886,7 +925,11 @@ class PartitioningTest : public ::testing::Test {
// This is used by a DeviceSpecification constructor to build a mask of
// operations to be supported by the device.
static uint32_t makeOperationMask(HalVersion halVersion, uint32_t operationMaskV1_0,
- uint32_t operationMaskV1_1, uint32_t operationMaskV1_2) {
+ uint32_t operationMaskV1_1, uint32_t operationMaskV1_2,
+ uint32_t operationMaskV1_3) {
+ if (halVersion < HalVersion::V1_3) {
+ CHECK(!operationMaskV1_3);
+ }
if (halVersion < HalVersion::V1_2) {
CHECK(!operationMaskV1_2);
}
@@ -900,9 +943,12 @@ class PartitioningTest : public ::testing::Test {
maskOfWidth(kLastEncodingV1_1 - kFirstEncodingV1_1 + 1);
static const uint32_t kOperationMaskV1_2 =
maskOfWidth(kLastEncodingV1_2 - kFirstEncodingV1_2 + 1);
+ static const uint32_t kOperationMaskV1_3 =
+ maskOfWidth(kLastEncodingV1_3 - kFirstEncodingV1_3 + 1);
return ((operationMaskV1_0 & kOperationMaskV1_0) << kFirstEncodingV1_0) |
((operationMaskV1_1 & kOperationMaskV1_1) << kFirstEncodingV1_1) |
- ((operationMaskV1_2 & kOperationMaskV1_2) << kFirstEncodingV1_2);
+ ((operationMaskV1_2 & kOperationMaskV1_2) << kFirstEncodingV1_2) |
+ ((operationMaskV1_3 & kOperationMaskV1_3) << kFirstEncodingV1_3);
}
};
static std::vector<std::shared_ptr<Device>> makeDevices(
@@ -1394,36 +1440,39 @@ TEST_F(PartitioningTest, SliceModel) {
uint32_t opnd3 = model.addOperation2To1V1_0(1, opnd0, opnd1);
uint32_t opnd4 = model.addOperation2To1V1_1(0, opnd0, opnd1);
uint32_t opnd5 = model.addOperation2To1V1_2(0, opnd2, opnd3);
- model.identifyInputsAndOutputs({opnd0, opnd1}, {opnd2, opnd4, opnd5});
+ uint32_t opnd6 = model.addOperation1To1V1_3(0, opnd2);
+ model.identifyInputsAndOutputs({opnd0, opnd1}, {opnd2, opnd4, opnd5, opnd6});
model.finish();
ASSERT_TRUE(model.isValid());
- // Simple partition (V1_0, V1_1, V1_2 devices are available; V1_2 has best perf).
+ // Simple partition (V1_0, V1_1, V1_2, V1_3 devices are available; V1_3 has best perf).
// No need to compare the original model to the model from the plan -- we
// didn't actually do any partitioning.
const auto devicesA = makeDevices({{"V1_0", 0.8, HalVersion::V1_0, ~0U},
{"V1_1", 0.7, HalVersion::V1_1, ~0U, ~0U},
- {"V1_2", 0.6, HalVersion::V1_2, ~0U, ~0U, ~0U}});
+ {"V1_2", 0.6, HalVersion::V1_2, ~0U, ~0U, ~0U},
+ {"V1_3", 0.5, HalVersion::V1_3, ~0U, ~0U, ~0U, ~0U}});
ExecutionPlan planA;
ASSERT_EQ(model.partitionTheWork(devicesA, ExecutePreference::PREFER_LOW_POWER,
ExecutePriority::DEFAULT, {}, &planA),
ANEURALNETWORKS_NO_ERROR);
ASSERT_EQ(planA.forTest_getKind(), ExecutionPlan::Kind::SIMPLE);
ASSERT_NE(planA.forTest_simpleGetDevice().get(), nullptr);
- ASSERT_EQ(planA.forTest_simpleGetDevice()->getName(), "V1_2");
+ ASSERT_EQ(planA.forTest_simpleGetDevice()->getName(), "V1_3");
// Compound partition (V1_0, V1_1, V1_2 devices are available, in decreasing
// order of performance; model is distributed across all three devices).
const auto devicesB = makeDevices({{"V1_0", 0.6, HalVersion::V1_0, ~0U},
{"V1_1", 0.7, HalVersion::V1_1, ~0U, ~0U},
- {"V1_2", 0.8, HalVersion::V1_2, ~0U, ~0U, ~0U}});
+ {"V1_2", 0.8, HalVersion::V1_2, ~0U, ~0U, ~0U},
+ {"V1_3", 0.9, HalVersion::V1_3, ~0U, ~0U, ~0U, ~0U}});
ExecutionPlan planB;
ASSERT_EQ(model.partitionTheWork(devicesB, ExecutePreference::PREFER_LOW_POWER,
ExecutePriority::DEFAULT, {}, &planB),
ANEURALNETWORKS_NO_ERROR);
ASSERT_EQ(planB.forTest_getKind(), ExecutionPlan::Kind::COMPOUND);
const auto& stepsB = planB.forTest_compoundGetSteps();
- ASSERT_EQ(stepsB.size(), size_t(3));
+ ASSERT_EQ(stepsB.size(), size_t(4));
{
// Build a model to compare against the step model from stepsB[0].
PartitioningModel modelB0;
@@ -1465,25 +1514,44 @@ TEST_F(PartitioningTest, SliceModel) {
// Build a model to compare against the step model from stepsB[2].
PartitioningModel modelB2;
uint32_t b2Opnd0 = modelB2.addFloatOperand();
- uint32_t b2Opnd1 = modelB2.addFloatOperand();
- uint32_t b2Opnd2 = modelB2.addOperation2To1V1_2(0, b2Opnd0, b2Opnd1);
+ uint32_t b2Opnd1 = modelB2.addOperation1To1V1_3(0, b2Opnd0);
// Note: In the partitioning algorithm, temps that are
// step model inputs precede model outputs that are step model
- // inputs. In the original model "model", opnd3 is a temp and
- // opnd2 is a model output; so in the step model "modelB2", the
- // corresponding inputs b2Opnd1 and b2Opnd0 must appear in
- // that order.
- modelB2.identifyInputsAndOutputs({b2Opnd1, b2Opnd0}, {b2Opnd2});
+ // inputs.
+ modelB2.identifyInputsAndOutputs({b2Opnd0}, {b2Opnd1});
modelB2.finish();
ASSERT_TRUE(modelB2.isValid());
ASSERT_NO_FATAL_FAILURE(
- compare(stepsB[2], &modelB2, devicesB[2], RemapVectorType{}, // modelInputs
- RemapVectorType{{opnd5, b2Opnd2}}, // modelOutputs
- RemapVectorType{{opnd3, b2Opnd1}}, // tempsAsStepModelInputs
+ compare(stepsB[2], &modelB2, devicesB[3], RemapVectorType{}, // modelInputs
+ RemapVectorType{{opnd6, b2Opnd1}}, // modelOutputs
+ RemapVectorType{}, // tempsAsStepModelInputs
StepModelOutputSetType{}, // tempsAsStepModelOutputs
RemapVectorType{{opnd2, b2Opnd0}})); // outputsAsStepModelInputs
}
+ {
+ // Build a model to compare against the step model from stepsB[3].
+ PartitioningModel modelB3;
+ uint32_t b3Opnd0 = modelB3.addFloatOperand();
+ uint32_t b3Opnd1 = modelB3.addFloatOperand();
+ uint32_t b3Opnd2 = modelB3.addOperation2To1V1_2(0, b3Opnd0, b3Opnd1);
+ // Note: In the partitioning algorithm, temps that are
+ // step model inputs precede model outputs that are step model
+ // inputs. In the original model "model", opnd3 is a temp and
+ // opnd2 is a model output; so in the step model "modelB3", the
+ // corresponding inputs b3Opnd1 and b3Opnd0 must appear in
+ // that order.
+ modelB3.identifyInputsAndOutputs({b3Opnd1, b3Opnd0}, {b3Opnd2});
+ modelB3.finish();
+ ASSERT_TRUE(modelB3.isValid());
+
+ ASSERT_NO_FATAL_FAILURE(
+ compare(stepsB[3], &modelB3, devicesB[2], RemapVectorType{}, // modelInputs
+ RemapVectorType{{opnd5, b3Opnd2}}, // modelOutputs
+ RemapVectorType{{opnd3, b3Opnd1}}, // tempsAsStepModelInputs
+ StepModelOutputSetType{}, // tempsAsStepModelOutputs
+ RemapVectorType{{opnd2, b3Opnd0}})); // outputsAsStepModelInputs
+ }
// TODO: Make sure this still works when we have multiple devices
// of same version available for slicing. An easy (?) choice would
@@ -1494,25 +1562,25 @@ TEST_F(PartitioningTest, SliceModel) {
TEST_F(PartitioningTest, SliceModelToEmpty) {
PartitioningModel model;
uint32_t opnd0 = model.addFloatOperand();
- uint32_t opnd1 = model.addFloatOperand();
- uint32_t opnd2 = model.addOperation2To1V1_2(0, opnd0, opnd1);
- model.identifyInputsAndOutputs({opnd0, opnd1}, {opnd2});
+ uint32_t opnd1 = model.addOperation1To1V1_3(0, opnd0);
+ model.identifyInputsAndOutputs({opnd0}, {opnd1});
model.finish();
ASSERT_TRUE(model.isValid());
- // Only the V1_2 device can handle any operations in the model.
+ // Only the V1_3 device can handle any operations in the model.
// No need to compare the original model to the model from the plan -- we
// didn't actually do any partitioning.
const auto devices = makeDevices({{"V1_0", 0.6, HalVersion::V1_0, ~0U},
{"V1_1", 0.7, HalVersion::V1_1, ~0U, ~0U},
- {"V1_2", 0.8, HalVersion::V1_2, ~0U, ~0U, ~0U}});
+ {"V1_2", 0.8, HalVersion::V1_2, ~0U, ~0U, ~0U},
+ {"V1_3", 0.9, HalVersion::V1_3, ~0U, ~0U, ~0U, ~0U}});
ExecutionPlan plan;
ASSERT_EQ(model.partitionTheWork(devices, ExecutePreference::PREFER_LOW_POWER,
ExecutePriority::DEFAULT, {}, &plan),
ANEURALNETWORKS_NO_ERROR);
ASSERT_EQ(plan.forTest_getKind(), ExecutionPlan::Kind::SIMPLE);
ASSERT_NE(plan.forTest_simpleGetDevice().get(), nullptr);
- ASSERT_EQ(plan.forTest_simpleGetDevice()->getName(), "V1_2");
+ ASSERT_EQ(plan.forTest_simpleGetDevice()->getName(), "V1_3");
}
TEST_F(PartitioningTest, Cpu) {
diff --git a/nn/runtime/test/TestValidateOperations.cpp b/nn/runtime/test/TestValidateOperations.cpp
index 7748acd45..4ac4f8d7d 100644
--- a/nn/runtime/test/TestValidateOperations.cpp
+++ b/nn/runtime/test/TestValidateOperations.cpp
@@ -2374,7 +2374,9 @@ void fullyConnectedOpTest(int32_t operandCode) {
OperationTestBase fullyConnectedTest(ANEURALNETWORKS_FULLY_CONNECTED,
{input, weights, bias, activation}, {output},
- {{TensorRankConstraint::Between(2, 4)}});
+ {{TensorRankConstraint::Between(2, 4), {0}},
+ {TensorRankConstraint::Exactly(2), {1}},
+ {TensorRankConstraint::Exactly(1), {2}}});
fullyConnectedTest.testOpsValidations();
}
diff --git a/nn/runtime/test/generated/spec_V1_3/while_fib.example.cpp b/nn/runtime/test/generated/spec_V1_3/while_fib.example.cpp
index 3e2614dec..e8f47402e 100644
--- a/nn/runtime/test/generated/spec_V1_3/while_fib.example.cpp
+++ b/nn/runtime/test/generated/spec_V1_3/while_fib.example.cpp
@@ -226,7 +226,7 @@ const TestModel& get_test_model_n_1_unused_output() {
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -485,7 +485,7 @@ const TestModel& get_test_model_n_1_unused_output_all_tensors_as_inputs() {
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -778,7 +778,7 @@ const TestModel& get_test_model_n_1_unused_output_all_tensors_as_inputs_all_inpu
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -1071,7 +1071,7 @@ const TestModel& get_test_model_n_1_unused_output_all_outputs_as_internal() {
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -1330,7 +1330,7 @@ const TestModel& get_test_model_n_1_unused_output_relaxed() {
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -1589,7 +1589,7 @@ const TestModel& get_test_model_n_1_unused_output_relaxed_all_tensors_as_inputs(
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -1882,7 +1882,7 @@ const TestModel& get_test_model_n_1_unused_output_relaxed_all_tensors_as_inputs_
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -2175,7 +2175,7 @@ const TestModel& get_test_model_n_1_unused_output_relaxed_all_outputs_as_interna
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -2434,7 +2434,7 @@ const TestModel& get_test_model_n_1_unused_output_float16() {
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -2693,7 +2693,7 @@ const TestModel& get_test_model_n_1_unused_output_float16_all_tensors_as_inputs(
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -2986,7 +2986,7 @@ const TestModel& get_test_model_n_1_unused_output_float16_all_tensors_as_inputs_
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -3279,7 +3279,7 @@ const TestModel& get_test_model_n_1_unused_output_float16_all_outputs_as_interna
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -3538,7 +3538,7 @@ const TestModel& get_test_model_n_1_unused_output_quant8() {
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -3797,7 +3797,7 @@ const TestModel& get_test_model_n_1_unused_output_quant8_all_tensors_as_inputs()
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -4090,7 +4090,7 @@ const TestModel& get_test_model_n_1_unused_output_quant8_all_tensors_as_inputs_a
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -4383,7 +4383,7 @@ const TestModel& get_test_model_n_1_unused_output_quant8_all_outputs_as_internal
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -4642,7 +4642,7 @@ const TestModel& get_test_model_n_1_unused_output_quant8_signed() {
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -4901,7 +4901,7 @@ const TestModel& get_test_model_n_1_unused_output_quant8_signed_all_tensors_as_i
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -5194,7 +5194,7 @@ const TestModel& get_test_model_n_1_unused_output_quant8_signed_all_tensors_as_i
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -5487,7 +5487,7 @@ const TestModel& get_test_model_n_1_unused_output_quant8_signed_all_outputs_as_i
}, { // zero_bias
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -5746,7 +5746,7 @@ const TestModel& get_test_model_n_2_unused_output() {
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -6005,7 +6005,7 @@ const TestModel& get_test_model_n_2_unused_output_all_tensors_as_inputs() {
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -6298,7 +6298,7 @@ const TestModel& get_test_model_n_2_unused_output_all_tensors_as_inputs_all_inpu
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -6591,7 +6591,7 @@ const TestModel& get_test_model_n_2_unused_output_all_outputs_as_internal() {
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -6850,7 +6850,7 @@ const TestModel& get_test_model_n_2_unused_output_relaxed() {
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -7109,7 +7109,7 @@ const TestModel& get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs(
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -7402,7 +7402,7 @@ const TestModel& get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -7695,7 +7695,7 @@ const TestModel& get_test_model_n_2_unused_output_relaxed_all_outputs_as_interna
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -7954,7 +7954,7 @@ const TestModel& get_test_model_n_2_unused_output_float16() {
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -8213,7 +8213,7 @@ const TestModel& get_test_model_n_2_unused_output_float16_all_tensors_as_inputs(
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -8506,7 +8506,7 @@ const TestModel& get_test_model_n_2_unused_output_float16_all_tensors_as_inputs_
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -8799,7 +8799,7 @@ const TestModel& get_test_model_n_2_unused_output_float16_all_outputs_as_interna
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -9058,7 +9058,7 @@ const TestModel& get_test_model_n_2_unused_output_quant8() {
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -9317,7 +9317,7 @@ const TestModel& get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs()
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -9610,7 +9610,7 @@ const TestModel& get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_a
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -9903,7 +9903,7 @@ const TestModel& get_test_model_n_2_unused_output_quant8_all_outputs_as_internal
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -10162,7 +10162,7 @@ const TestModel& get_test_model_n_2_unused_output_quant8_signed() {
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -10421,7 +10421,7 @@ const TestModel& get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_i
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -10714,7 +10714,7 @@ const TestModel& get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_i
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -11007,7 +11007,7 @@ const TestModel& get_test_model_n_2_unused_output_quant8_signed_all_outputs_as_i
}, { // zero_bias1
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -11266,7 +11266,7 @@ const TestModel& get_test_model_n_3_unused_output() {
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -11525,7 +11525,7 @@ const TestModel& get_test_model_n_3_unused_output_all_tensors_as_inputs() {
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -11818,7 +11818,7 @@ const TestModel& get_test_model_n_3_unused_output_all_tensors_as_inputs_all_inpu
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -12111,7 +12111,7 @@ const TestModel& get_test_model_n_3_unused_output_all_outputs_as_internal() {
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -12370,7 +12370,7 @@ const TestModel& get_test_model_n_3_unused_output_relaxed() {
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -12629,7 +12629,7 @@ const TestModel& get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs(
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -12922,7 +12922,7 @@ const TestModel& get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -13215,7 +13215,7 @@ const TestModel& get_test_model_n_3_unused_output_relaxed_all_outputs_as_interna
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -13474,7 +13474,7 @@ const TestModel& get_test_model_n_3_unused_output_float16() {
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -13733,7 +13733,7 @@ const TestModel& get_test_model_n_3_unused_output_float16_all_tensors_as_inputs(
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -14026,7 +14026,7 @@ const TestModel& get_test_model_n_3_unused_output_float16_all_tensors_as_inputs_
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -14319,7 +14319,7 @@ const TestModel& get_test_model_n_3_unused_output_float16_all_outputs_as_interna
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -14578,7 +14578,7 @@ const TestModel& get_test_model_n_3_unused_output_quant8() {
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -14837,7 +14837,7 @@ const TestModel& get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs()
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -15130,7 +15130,7 @@ const TestModel& get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_a
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -15423,7 +15423,7 @@ const TestModel& get_test_model_n_3_unused_output_quant8_all_outputs_as_internal
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -15682,7 +15682,7 @@ const TestModel& get_test_model_n_3_unused_output_quant8_signed() {
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -15941,7 +15941,7 @@ const TestModel& get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_i
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -16234,7 +16234,7 @@ const TestModel& get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_i
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -16527,7 +16527,7 @@ const TestModel& get_test_model_n_3_unused_output_quant8_signed_all_outputs_as_i
}, { // zero_bias2
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -16776,7 +16776,7 @@ const TestModel& get_test_model_n_4() {
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -17025,7 +17025,7 @@ const TestModel& get_test_model_n_4_all_tensors_as_inputs() {
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -17308,7 +17308,7 @@ const TestModel& get_test_model_n_4_all_tensors_as_inputs_all_inputs_as_internal
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -17591,7 +17591,7 @@ const TestModel& get_test_model_n_4_all_outputs_as_internal() {
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -17840,7 +17840,7 @@ const TestModel& get_test_model_n_4_relaxed() {
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -18089,7 +18089,7 @@ const TestModel& get_test_model_n_4_relaxed_all_tensors_as_inputs() {
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -18372,7 +18372,7 @@ const TestModel& get_test_model_n_4_relaxed_all_tensors_as_inputs_all_inputs_as_
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -18655,7 +18655,7 @@ const TestModel& get_test_model_n_4_relaxed_all_outputs_as_internal() {
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -18904,7 +18904,7 @@ const TestModel& get_test_model_n_4_float16() {
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -19153,7 +19153,7 @@ const TestModel& get_test_model_n_4_float16_all_tensors_as_inputs() {
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -19436,7 +19436,7 @@ const TestModel& get_test_model_n_4_float16_all_tensors_as_inputs_all_inputs_as_
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -19719,7 +19719,7 @@ const TestModel& get_test_model_n_4_float16_all_outputs_as_internal() {
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -19968,7 +19968,7 @@ const TestModel& get_test_model_n_4_quant8() {
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -20217,7 +20217,7 @@ const TestModel& get_test_model_n_4_quant8_all_tensors_as_inputs() {
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -20500,7 +20500,7 @@ const TestModel& get_test_model_n_4_quant8_all_tensors_as_inputs_all_inputs_as_i
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -20783,7 +20783,7 @@ const TestModel& get_test_model_n_4_quant8_all_outputs_as_internal() {
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -21032,7 +21032,7 @@ const TestModel& get_test_model_n_4_quant8_signed() {
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -21281,7 +21281,7 @@ const TestModel& get_test_model_n_4_quant8_signed_all_tensors_as_inputs() {
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -21564,7 +21564,7 @@ const TestModel& get_test_model_n_4_quant8_signed_all_tensors_as_inputs_all_inpu
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -21847,7 +21847,7 @@ const TestModel& get_test_model_n_4_quant8_signed_all_outputs_as_internal() {
}, { // zero_bias3
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -22096,7 +22096,7 @@ const TestModel& get_test_model_n_5() {
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -22345,7 +22345,7 @@ const TestModel& get_test_model_n_5_all_tensors_as_inputs() {
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -22628,7 +22628,7 @@ const TestModel& get_test_model_n_5_all_tensors_as_inputs_all_inputs_as_internal
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -22911,7 +22911,7 @@ const TestModel& get_test_model_n_5_all_outputs_as_internal() {
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -23160,7 +23160,7 @@ const TestModel& get_test_model_n_5_relaxed() {
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -23409,7 +23409,7 @@ const TestModel& get_test_model_n_5_relaxed_all_tensors_as_inputs() {
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -23692,7 +23692,7 @@ const TestModel& get_test_model_n_5_relaxed_all_tensors_as_inputs_all_inputs_as_
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -23975,7 +23975,7 @@ const TestModel& get_test_model_n_5_relaxed_all_outputs_as_internal() {
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -24224,7 +24224,7 @@ const TestModel& get_test_model_n_5_float16() {
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -24473,7 +24473,7 @@ const TestModel& get_test_model_n_5_float16_all_tensors_as_inputs() {
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -24756,7 +24756,7 @@ const TestModel& get_test_model_n_5_float16_all_tensors_as_inputs_all_inputs_as_
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -25039,7 +25039,7 @@ const TestModel& get_test_model_n_5_float16_all_outputs_as_internal() {
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -25288,7 +25288,7 @@ const TestModel& get_test_model_n_5_quant8() {
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -25537,7 +25537,7 @@ const TestModel& get_test_model_n_5_quant8_all_tensors_as_inputs() {
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -25820,7 +25820,7 @@ const TestModel& get_test_model_n_5_quant8_all_tensors_as_inputs_all_inputs_as_i
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -26103,7 +26103,7 @@ const TestModel& get_test_model_n_5_quant8_all_outputs_as_internal() {
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -26352,7 +26352,7 @@ const TestModel& get_test_model_n_5_quant8_signed() {
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -26601,7 +26601,7 @@ const TestModel& get_test_model_n_5_quant8_signed_all_tensors_as_inputs() {
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -26884,7 +26884,7 @@ const TestModel& get_test_model_n_5_quant8_signed_all_tensors_as_inputs_all_inpu
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -27167,7 +27167,7 @@ const TestModel& get_test_model_n_5_quant8_signed_all_outputs_as_internal() {
}, { // zero_bias4
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_COPY,
.numberOfConsumers = 1,
@@ -27426,7 +27426,7 @@ const TestModel& get_test_model_n_1_unused_output_2() {
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -27685,7 +27685,7 @@ const TestModel& get_test_model_n_1_unused_output_all_tensors_as_inputs_2() {
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -27978,7 +27978,7 @@ const TestModel& get_test_model_n_1_unused_output_all_tensors_as_inputs_all_inpu
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -28271,7 +28271,7 @@ const TestModel& get_test_model_n_1_unused_output_all_outputs_as_internal_2() {
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -28530,7 +28530,7 @@ const TestModel& get_test_model_n_1_unused_output_relaxed_2() {
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -28789,7 +28789,7 @@ const TestModel& get_test_model_n_1_unused_output_relaxed_all_tensors_as_inputs_
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -29082,7 +29082,7 @@ const TestModel& get_test_model_n_1_unused_output_relaxed_all_tensors_as_inputs_
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -29375,7 +29375,7 @@ const TestModel& get_test_model_n_1_unused_output_relaxed_all_outputs_as_interna
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -29634,7 +29634,7 @@ const TestModel& get_test_model_n_1_unused_output_float16_2() {
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -29893,7 +29893,7 @@ const TestModel& get_test_model_n_1_unused_output_float16_all_tensors_as_inputs_
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -30186,7 +30186,7 @@ const TestModel& get_test_model_n_1_unused_output_float16_all_tensors_as_inputs_
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -30479,7 +30479,7 @@ const TestModel& get_test_model_n_1_unused_output_float16_all_outputs_as_interna
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -30738,7 +30738,7 @@ const TestModel& get_test_model_n_1_unused_output_quant8_2() {
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -30997,7 +30997,7 @@ const TestModel& get_test_model_n_1_unused_output_quant8_all_tensors_as_inputs_2
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -31290,7 +31290,7 @@ const TestModel& get_test_model_n_1_unused_output_quant8_all_tensors_as_inputs_a
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -31583,7 +31583,7 @@ const TestModel& get_test_model_n_1_unused_output_quant8_all_outputs_as_internal
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -31842,7 +31842,7 @@ const TestModel& get_test_model_n_1_unused_output_quant8_signed_2() {
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -32101,7 +32101,7 @@ const TestModel& get_test_model_n_1_unused_output_quant8_signed_all_tensors_as_i
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -32394,7 +32394,7 @@ const TestModel& get_test_model_n_1_unused_output_quant8_signed_all_tensors_as_i
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -32687,7 +32687,7 @@ const TestModel& get_test_model_n_1_unused_output_quant8_signed_all_outputs_as_i
}, { // zero_bias5
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -32946,7 +32946,7 @@ const TestModel& get_test_model_n_2_unused_output_2() {
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -33205,7 +33205,7 @@ const TestModel& get_test_model_n_2_unused_output_all_tensors_as_inputs_2() {
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -33498,7 +33498,7 @@ const TestModel& get_test_model_n_2_unused_output_all_tensors_as_inputs_all_inpu
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -33791,7 +33791,7 @@ const TestModel& get_test_model_n_2_unused_output_all_outputs_as_internal_2() {
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -34050,7 +34050,7 @@ const TestModel& get_test_model_n_2_unused_output_relaxed_2() {
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -34309,7 +34309,7 @@ const TestModel& get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -34602,7 +34602,7 @@ const TestModel& get_test_model_n_2_unused_output_relaxed_all_tensors_as_inputs_
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -34895,7 +34895,7 @@ const TestModel& get_test_model_n_2_unused_output_relaxed_all_outputs_as_interna
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -35154,7 +35154,7 @@ const TestModel& get_test_model_n_2_unused_output_float16_2() {
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -35413,7 +35413,7 @@ const TestModel& get_test_model_n_2_unused_output_float16_all_tensors_as_inputs_
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -35706,7 +35706,7 @@ const TestModel& get_test_model_n_2_unused_output_float16_all_tensors_as_inputs_
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -35999,7 +35999,7 @@ const TestModel& get_test_model_n_2_unused_output_float16_all_outputs_as_interna
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -36258,7 +36258,7 @@ const TestModel& get_test_model_n_2_unused_output_quant8_2() {
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -36517,7 +36517,7 @@ const TestModel& get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_2
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -36810,7 +36810,7 @@ const TestModel& get_test_model_n_2_unused_output_quant8_all_tensors_as_inputs_a
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -37103,7 +37103,7 @@ const TestModel& get_test_model_n_2_unused_output_quant8_all_outputs_as_internal
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -37362,7 +37362,7 @@ const TestModel& get_test_model_n_2_unused_output_quant8_signed_2() {
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -37621,7 +37621,7 @@ const TestModel& get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_i
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -37914,7 +37914,7 @@ const TestModel& get_test_model_n_2_unused_output_quant8_signed_all_tensors_as_i
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -38207,7 +38207,7 @@ const TestModel& get_test_model_n_2_unused_output_quant8_signed_all_outputs_as_i
}, { // zero_bias6
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -38466,7 +38466,7 @@ const TestModel& get_test_model_n_3_unused_output_2() {
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -38725,7 +38725,7 @@ const TestModel& get_test_model_n_3_unused_output_all_tensors_as_inputs_2() {
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -39018,7 +39018,7 @@ const TestModel& get_test_model_n_3_unused_output_all_tensors_as_inputs_all_inpu
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -39311,7 +39311,7 @@ const TestModel& get_test_model_n_3_unused_output_all_outputs_as_internal_2() {
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -39570,7 +39570,7 @@ const TestModel& get_test_model_n_3_unused_output_relaxed_2() {
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -39829,7 +39829,7 @@ const TestModel& get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -40122,7 +40122,7 @@ const TestModel& get_test_model_n_3_unused_output_relaxed_all_tensors_as_inputs_
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -40415,7 +40415,7 @@ const TestModel& get_test_model_n_3_unused_output_relaxed_all_outputs_as_interna
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -40674,7 +40674,7 @@ const TestModel& get_test_model_n_3_unused_output_float16_2() {
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -40933,7 +40933,7 @@ const TestModel& get_test_model_n_3_unused_output_float16_all_tensors_as_inputs_
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -41226,7 +41226,7 @@ const TestModel& get_test_model_n_3_unused_output_float16_all_tensors_as_inputs_
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -41519,7 +41519,7 @@ const TestModel& get_test_model_n_3_unused_output_float16_all_outputs_as_interna
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -41778,7 +41778,7 @@ const TestModel& get_test_model_n_3_unused_output_quant8_2() {
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -42037,7 +42037,7 @@ const TestModel& get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_2
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -42330,7 +42330,7 @@ const TestModel& get_test_model_n_3_unused_output_quant8_all_tensors_as_inputs_a
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -42623,7 +42623,7 @@ const TestModel& get_test_model_n_3_unused_output_quant8_all_outputs_as_internal
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -42882,7 +42882,7 @@ const TestModel& get_test_model_n_3_unused_output_quant8_signed_2() {
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -43141,7 +43141,7 @@ const TestModel& get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_i
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -43434,7 +43434,7 @@ const TestModel& get_test_model_n_3_unused_output_quant8_signed_all_tensors_as_i
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -43727,7 +43727,7 @@ const TestModel& get_test_model_n_3_unused_output_quant8_signed_all_outputs_as_i
}, { // zero_bias7
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -43976,7 +43976,7 @@ const TestModel& get_test_model_n_4_2() {
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -44225,7 +44225,7 @@ const TestModel& get_test_model_n_4_all_tensors_as_inputs_2() {
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -44508,7 +44508,7 @@ const TestModel& get_test_model_n_4_all_tensors_as_inputs_all_inputs_as_internal
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -44791,7 +44791,7 @@ const TestModel& get_test_model_n_4_all_outputs_as_internal_2() {
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -45040,7 +45040,7 @@ const TestModel& get_test_model_n_4_relaxed_2() {
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -45289,7 +45289,7 @@ const TestModel& get_test_model_n_4_relaxed_all_tensors_as_inputs_2() {
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -45572,7 +45572,7 @@ const TestModel& get_test_model_n_4_relaxed_all_tensors_as_inputs_all_inputs_as_
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -45855,7 +45855,7 @@ const TestModel& get_test_model_n_4_relaxed_all_outputs_as_internal_2() {
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -46104,7 +46104,7 @@ const TestModel& get_test_model_n_4_float16_2() {
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -46353,7 +46353,7 @@ const TestModel& get_test_model_n_4_float16_all_tensors_as_inputs_2() {
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -46636,7 +46636,7 @@ const TestModel& get_test_model_n_4_float16_all_tensors_as_inputs_all_inputs_as_
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -46919,7 +46919,7 @@ const TestModel& get_test_model_n_4_float16_all_outputs_as_internal_2() {
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -47168,7 +47168,7 @@ const TestModel& get_test_model_n_4_quant8_2() {
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -47417,7 +47417,7 @@ const TestModel& get_test_model_n_4_quant8_all_tensors_as_inputs_2() {
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -47700,7 +47700,7 @@ const TestModel& get_test_model_n_4_quant8_all_tensors_as_inputs_all_inputs_as_i
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -47983,7 +47983,7 @@ const TestModel& get_test_model_n_4_quant8_all_outputs_as_internal_2() {
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -48232,7 +48232,7 @@ const TestModel& get_test_model_n_4_quant8_signed_2() {
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -48481,7 +48481,7 @@ const TestModel& get_test_model_n_4_quant8_signed_all_tensors_as_inputs_2() {
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -48764,7 +48764,7 @@ const TestModel& get_test_model_n_4_quant8_signed_all_tensors_as_inputs_all_inpu
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -49047,7 +49047,7 @@ const TestModel& get_test_model_n_4_quant8_signed_all_outputs_as_internal_2() {
}, { // zero_bias8
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -49296,7 +49296,7 @@ const TestModel& get_test_model_n_5_2() {
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -49545,7 +49545,7 @@ const TestModel& get_test_model_n_5_all_tensors_as_inputs_2() {
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -49828,7 +49828,7 @@ const TestModel& get_test_model_n_5_all_tensors_as_inputs_all_inputs_as_internal
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -50111,7 +50111,7 @@ const TestModel& get_test_model_n_5_all_outputs_as_internal_2() {
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -50360,7 +50360,7 @@ const TestModel& get_test_model_n_5_relaxed_2() {
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -50609,7 +50609,7 @@ const TestModel& get_test_model_n_5_relaxed_all_tensors_as_inputs_2() {
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -50892,7 +50892,7 @@ const TestModel& get_test_model_n_5_relaxed_all_tensors_as_inputs_all_inputs_as_
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -51175,7 +51175,7 @@ const TestModel& get_test_model_n_5_relaxed_all_outputs_as_internal_2() {
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<float>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -51424,7 +51424,7 @@ const TestModel& get_test_model_n_5_float16_2() {
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -51673,7 +51673,7 @@ const TestModel& get_test_model_n_5_float16_all_tensors_as_inputs_2() {
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -51956,7 +51956,7 @@ const TestModel& get_test_model_n_5_float16_all_tensors_as_inputs_all_inputs_as_
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -52239,7 +52239,7 @@ const TestModel& get_test_model_n_5_float16_all_outputs_as_internal_2() {
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -52488,7 +52488,7 @@ const TestModel& get_test_model_n_5_quant8_2() {
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -52737,7 +52737,7 @@ const TestModel& get_test_model_n_5_quant8_all_tensors_as_inputs_2() {
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -53020,7 +53020,7 @@ const TestModel& get_test_model_n_5_quant8_all_tensors_as_inputs_all_inputs_as_i
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -53303,7 +53303,7 @@ const TestModel& get_test_model_n_5_quant8_all_outputs_as_internal_2() {
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -53552,7 +53552,7 @@ const TestModel& get_test_model_n_5_quant8_signed_2() {
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -53801,7 +53801,7 @@ const TestModel& get_test_model_n_5_quant8_signed_all_tensors_as_inputs_2() {
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -54084,7 +54084,7 @@ const TestModel& get_test_model_n_5_quant8_signed_all_tensors_as_inputs_all_inpu
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
@@ -54367,7 +54367,7 @@ const TestModel& get_test_model_n_5_quant8_signed_all_outputs_as_internal_2() {
}, { // zero_bias9
.channelQuant = {},
.data = TestBuffer::createFromVector<int32_t>({0, 0}),
- .dimensions = {2, 1},
+ .dimensions = {2},
.isIgnored = false,
.lifetime = TestOperandLifeTime::CONSTANT_REFERENCE,
.numberOfConsumers = 1,
diff --git a/nn/runtime/test/specs/V1_3/while_fib.mod.py b/nn/runtime/test/specs/V1_3/while_fib.mod.py
index d26488fcb..ffd696a9f 100644
--- a/nn/runtime/test/specs/V1_3/while_fib.mod.py
+++ b/nn/runtime/test/specs/V1_3/while_fib.mod.py
@@ -55,7 +55,7 @@ def MakeBodyModel():
fib_out = Output("fib_out", FibType)
i_out = Output("i_out", CounterType)
matrix = Parameter("matrix", ["TENSOR_FLOAT32", [2, 2]], [0, 1, 1, 1])
- zero_bias = Parameter("zero_bias", ["TENSOR_FLOAT32", [2, 1]], [0, 0])
+ zero_bias = Parameter("zero_bias", ["TENSOR_FLOAT32", [2]], [0, 0])
model = Model()
model.IdentifyInputs(fib, i, n)
model.IdentifyOutputs(fib_out, i_out)