strided_slice_ex_float_9::examples);
}
+namespace sub_broadcast_float {
+std::vector<MixedTypedExample> examples = {
+// Generated sub_broadcast_float test
+#include "generated/examples/sub_broadcast_float.example.cpp"
+};
+// Generated model constructor
+#include "generated/models/sub_broadcast_float.model.cpp"
+} // namespace sub_broadcast_float
+TEST_F(GeneratedTests, sub_broadcast_float) {
+ execute(sub_broadcast_float::CreateModel,
+ sub_broadcast_float::is_ignored,
+ sub_broadcast_float::examples);
+}
+
namespace tensorflowmax_ex_2D_float {
std::vector<MixedTypedExample> examples = {
// Generated tensorflowmax_ex_2D_float test
--- /dev/null
+// Generated file (from: sub_broadcast_float.mod.py). Do not edit
+// Begin of an example
+{
+//Input(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+ // int -> FLOAT32 map
+ {{0, {1, 2, 3, 4}}, {1, {2}}},
+ // int -> INT32 map
+ {},
+ // int -> QUANT8_ASYMM map
+ {}
+},
+//Output(s)
+{ // See tools/test_generator/include/TestHarness.h:MixedTyped
+ // int -> FLOAT32 map
+ {{0, {-1, 0, 1, 2}}},
+ // int -> INT32 map
+ {},
+ // int -> QUANT8_ASYMM map
+ {}
+}
+}, // End of an example
--- /dev/null
+// Generated file (from: sub_broadcast_float.mod.py). Do not edit
+void CreateModel(Model *model) {
+ OperandType type2(Type::INT32, {});
+ OperandType type0(Type::TENSOR_FLOAT32, {1, 2, 2, 1});
+ OperandType type1(Type::TENSOR_FLOAT32, {1});
+ // Phase 1, operands
+ auto op1 = model->addOperand(&type0);
+ auto op2 = model->addOperand(&type1);
+ auto act = model->addOperand(&type2);
+ auto op3 = model->addOperand(&type0);
+ // Phase 2, operations
+ static int32_t act_init[] = {0};
+ model->setOperandValue(act, act_init, sizeof(int32_t) * 1);
+ model->addOperationEx(ANEURALNETWORKS_SUB_EX, {op1, op2, act}, {op3});
+ // Phase 3, inputs and outputs
+ model->identifyInputsAndOutputs(
+ {op1, op2},
+ {op3});
+ assert(model->isValid());
+}
+
+bool is_ignored(int i) {
+ static std::set<int> ignore = {};
+ return ignore.find(i) != ignore.end();
+}
GeneratedTests.strided_slice
GeneratedTests.tensorflowmax_ex_2D_float
GeneratedTests.tensorflowmax_ex_2D_int32
+GeneratedTests.sub_broadcast_float
# =====================
# Fails in ACL kernel
# =====================
GeneratedTests.strided_slice
GeneratedTests.tensorflowmax_ex_2D_float
GeneratedTests.tensorflowmax_ex_2D_int32
+GeneratedTests.sub_broadcast_float
# =====================
# Fails in ACL kernel
# =====================
GeneratedTests.strided_slice
GeneratedTests.tensorflowmax_ex_2D_float
GeneratedTests.tensorflowmax_ex_2D_int32
+GeneratedTests.sub_broadcast_float
--- /dev/null
+# model
+model = Model()
+i1 = Input("op1", "TENSOR_FLOAT32", "{1, 2, 2, 1}")
+i2 = Input("op2", "TENSOR_FLOAT32", "{1}")
+act = Int32Scalar("act", 0)
+i3 = Output("op3", "TENSOR_FLOAT32", "{1, 2, 2, 1}")
+model = model.Operation("SUB_EX", i1, i2, act).To(i3)
+
+# Example 1. Input in operand 0,
+input0 = {i1: # input 0
+ [1, 2, 3, 4],
+ i2: # input 1
+ [2]}
+
+output0 = {i3: # output 0
+ [-1, 0, 1, 2]}
+
+# Instantiate an example
+Example((input0, output0))