aboutsummaryrefslogtreecommitdiff
path: root/src/armnnDeserializer
diff options
context:
space:
mode:
authorAron Virginas-Tar <Aron.Virginas-Tar@arm.com>2019-10-14 16:43:13 +0100
committerÁron Virginás-Tar <aron.virginas-tar@arm.com>2019-10-15 13:17:19 +0000
commitc949ab548d84abb3faf552620571ed941e768a69 (patch)
treef9ee3c061b23fca87af1d501a9ae55fba99c7419 /src/armnnDeserializer
parente662a940d3378cfe669ff7e259a6911713fc0df9 (diff)
downloadarmnn-c949ab548d84abb3faf552620571ed941e768a69.tar.gz
IVGCVSW-3977 Add deserialization test for LOG_SOFTMAX
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I0139e521188381c789fdf2ceceeeaaa48427c6ab
Diffstat (limited to 'src/armnnDeserializer')
-rw-r--r--src/armnnDeserializer/test/DeserializeLogSoftmax.cpp128
1 files changed, 128 insertions, 0 deletions
diff --git a/src/armnnDeserializer/test/DeserializeLogSoftmax.cpp b/src/armnnDeserializer/test/DeserializeLogSoftmax.cpp
new file mode 100644
index 0000000000..bcf4825f65
--- /dev/null
+++ b/src/armnnDeserializer/test/DeserializeLogSoftmax.cpp
@@ -0,0 +1,128 @@
+//
+// Copyright © 2019 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include "ParserFlatbuffersSerializeFixture.hpp"
+#include "../Deserializer.hpp"
+
+#include <boost/test/unit_test.hpp>
+
+BOOST_AUTO_TEST_SUITE(Deserializer)
+
+struct LogSoftmaxFixture : public ParserFlatbuffersSerializeFixture
+{
+ explicit LogSoftmaxFixture(const std::string &shape,
+ const std::string &beta,
+ const std::string &axis,
+ const std::string &dataType)
+ {
+ m_JsonString = R"(
+ {
+ inputIds: [0],
+ outputIds: [2],
+ layers: [
+ {
+ layer_type: "InputLayer",
+ layer: {
+ base: {
+ layerBindingId: 0,
+ base: {
+ index: 0,
+ layerName: "InputLayer",
+ layerType: "Input",
+ inputSlots: [{
+ index: 0,
+ connection: { sourceLayerIndex:0, outputSlotIndex:0 },
+ }],
+ outputSlots: [{
+ index: 0,
+ tensorInfo: {
+ dimensions: )" + shape + R"(,
+ dataType: ")" + dataType + R"(",
+ quantizationScale: 0.5,
+ quantizationOffset: 0
+ },
+ }]
+ },
+ }
+ },
+ },
+ {
+ layer_type: "LogSoftmaxLayer",
+ layer : {
+ base: {
+ index:1,
+ layerName: "LogSoftmaxLayer",
+ layerType: "LogSoftmax",
+ inputSlots: [{
+ index: 0,
+ connection: { sourceLayerIndex:0, outputSlotIndex:0 },
+ }],
+ outputSlots: [{
+ index: 0,
+ tensorInfo: {
+ dimensions: )" + shape + R"(,
+ dataType: ")" + dataType + R"("
+ },
+ }],
+ },
+ descriptor: {
+ beta: ")" + beta + R"(",
+ axis: )" + axis + R"(
+ },
+ },
+ },
+ {
+ layer_type: "OutputLayer",
+ layer: {
+ base:{
+ layerBindingId: 0,
+ base: {
+ index: 2,
+ layerName: "OutputLayer",
+ layerType: "Output",
+ inputSlots: [{
+ index: 0,
+ connection: { sourceLayerIndex:1, outputSlotIndex:0 },
+ }],
+ outputSlots: [ {
+ index: 0,
+ tensorInfo: {
+ dimensions: )" + shape + R"(,
+ dataType: ")" + dataType + R"("
+ },
+ }],
+ }
+ }},
+ }]
+ })";
+ SetupSingleInputSingleOutput("InputLayer", "OutputLayer");
+ }
+};
+
+struct LogSoftmaxFloat32Fixture : LogSoftmaxFixture
+{
+ LogSoftmaxFloat32Fixture() :
+ LogSoftmaxFixture("[ 1, 1, 2, 4 ]", // inputShape
+ "1.0", // beta
+ "3", // axis
+ "Float32") // dataType
+ {}
+};
+
+BOOST_FIXTURE_TEST_CASE(LogSoftmaxFloat32, LogSoftmaxFloat32Fixture)
+{
+ RunTest<4, armnn::DataType::Float32>(
+ 0,
+ {
+ 0.f, -6.f, 2.f, 4.f,
+ 3.f, -2.f, 10.f, 1.f
+ },
+ {
+ -4.14297f, -10.14297f, -2.14297f, -0.14297f,
+ -7.00104f, -12.00104f, -0.00105f, -9.00104f
+ });
+}
+
+BOOST_AUTO_TEST_SUITE_END()