dimensions: [
4
],
- dataType: "Float32",
+ dataType: "Signed32",
quantizationScale: 0.0
}
}
BOOST_FIXTURE_TEST_CASE(Fill, SimpleFillFixture)
{
- RunTest<4, armnn::DataType::Float32>(
+ RunTest<4, armnn::DataType::Signed32, armnn::DataType::Float32>(
0,
{{"InputLayer", { 1, 3, 3, 1 }}},
{{"OutputLayer",{ 1, 1, 1, 1, 1, 1, 1, 1, 1}}});
DECLARE_LAYER_VERIFIER_CLASS_WITH_DESCRIPTOR(Fill)
const std::string layerName("fill");
- const armnn::TensorInfo inputInfo({4}, armnn::DataType::Float32);
+ const armnn::TensorInfo inputInfo({4}, armnn::DataType::Signed32);
const armnn::TensorInfo outputInfo({1, 3, 3, 1}, armnn::DataType::Float32);
armnn::FillDescriptor descriptor(1.0f);
FillDescriptor descriptor;
descriptor.m_Value = 9;
- std::vector<T> inputData{
+ std::vector<int32_t> inputData {
1, 1, 5, 3
};
- std::vector<T> expectedOutputData{
+ std::vector<float> floatExpectedOutputData {
9, 9, 9, 9, 9,
9, 9, 9, 9, 9,
9, 9, 9, 9, 9
};
+ std::vector<T> expectedOutputData = armnnUtils::QuantizedVector<T>(floatExpectedOutputData);
- TensorInfo inputInfo ({ 4 }, ArmnnType);
+ TensorInfo inputInfo ({ 4 }, DataType::Signed32);
TensorInfo outputInfo({ 1, 1, 5, 3 }, ArmnnType);
armnn::INetworkPtr network = CreateFillNetwork(inputInfo, outputInfo, descriptor);
BOOST_TEST_CHECKPOINT("create a network");
- std::map<int, std::vector<T>> inputTensorData = {{ 0, inputData }};
+ std::map<int, std::vector<int32_t>> inputTensorData = {{ 0, inputData }};
std::map<int, std::vector<T>> expectedOutputTensorData = {{ 0, expectedOutputData }};
- EndToEndLayerTestImpl<ArmnnType, ArmnnType>(move(network), inputTensorData, expectedOutputTensorData, backends);
+ EndToEndLayerTestImpl<DataType::Signed32, ArmnnType>(move(network),
+ inputTensorData,
+ expectedOutputTensorData,
+ backends);
}
} // anonymous namespace
\ No newline at end of file
const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager)
{
IgnoreUnused(memoryManager);
- armnn::TensorInfo inputTensorInfo({4}, ArmnnType);
- inputTensorInfo.SetQuantizationScale(0.0f);
-
+ armnn::TensorInfo inputTensorInfo({4}, armnn::DataType::Signed32);
armnn::TensorInfo outputTensorInfo({2, 2, 3, 2}, ArmnnType);
- outputTensorInfo.SetQuantizationScale(0.0f);
- auto input = MakeTensor<T, 1>(inputTensorInfo, ConvertToDataType<ArmnnType>(
+ auto input = MakeTensor<int32_t, 1>(inputTensorInfo, ConvertToDataType<armnn::DataType::Signed32>(
{2, 2, 3, 2},
inputTensorInfo));
}
}
-bool ClLayerSupport::IsFillSupported(const TensorInfo&,
- const TensorInfo&,
- const FillDescriptor&,
- Optional<std::string&>) const
+bool ClLayerSupport::IsFillSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const FillDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
{
- return true;
+ armnn::IgnoreUnused(input);
+ armnn::IgnoreUnused(output);
+ armnn::IgnoreUnused(descriptor);
+
+ return IsClBackendSupported(reasonIfUnsupported);
}
bool ClLayerSupport::IsFloorSupported(const TensorInfo& input,
FillEndToEnd<armnn::DataType::Float32>(defaultBackends);
}
+BOOST_AUTO_TEST_CASE(RefFillEndToEndTestFloat16)
+{
+ FillEndToEnd<armnn::DataType::Float16>(defaultBackends);
+}
+
BOOST_AUTO_TEST_CASE(ClFillEndToEndTestInt32)
{
FillEndToEnd<armnn::DataType::Signed32>(defaultBackends);
}
}
-bool NeonLayerSupport::IsFillSupported(const TensorInfo&,
- const TensorInfo&,
- const FillDescriptor&,
- Optional<std::string&>) const
+bool NeonLayerSupport::IsFillSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const FillDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
{
- return true;
+ armnn::IgnoreUnused(input);
+ armnn::IgnoreUnused(output);
+ armnn::IgnoreUnused(descriptor);
+
+ return IsNeonBackendSupported(reasonIfUnsupported);
}
bool NeonLayerSupport::IsFloorSupported(const TensorInfo& input,
FillEndToEnd<armnn::DataType::Float32>(defaultBackends);
}
+BOOST_AUTO_TEST_CASE(RefFillEndToEndTestFloat16)
+{
+ FillEndToEnd<armnn::DataType::Float16>(defaultBackends);
+}
+
BOOST_AUTO_TEST_CASE(NeonFillEndToEndTestInt32)
{
FillEndToEnd<armnn::DataType::Signed32>(defaultBackends);
DataType::Signed32
};
- supported &= CheckSupportRule(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,
+ supported &= CheckSupportRule(TypeIs(input, DataType::Signed32), reasonIfUnsupported,
"Reference Fill: input type not supported.");
supported &= CheckSupportRule(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,
FillEndToEnd<armnn::DataType::Float32>(defaultBackends);
}
-//BOOST_AUTO_TEST_CASE(RefFillEndToEndTestFloat16)
-//{
-// FillEndToEnd<armnn::DataType::Float16>(defaultBackends);
-//}
+BOOST_AUTO_TEST_CASE(RefFillEndToEndTestFloat16)
+{
+ FillEndToEnd<armnn::DataType::Float16>(defaultBackends);
+}
BOOST_AUTO_TEST_CASE(RefFillEndToEndTestInt32)
{