diff --git a/src/operator/SoftmaxImpl.cpp b/src/operator/SoftmaxImpl.cpp index 240267613e557c20edcc00e81f4bf20d17d9962f..ed3d625dca61b39e383762a59a26e483e956e1c8 100644 --- a/src/operator/SoftmaxImpl.cpp +++ b/src/operator/SoftmaxImpl.cpp @@ -37,10 +37,9 @@ void Aidge::SoftmaxImpl_cpu::forward() { std::static_pointer_cast<Tensor>(mOp.getRawOutput(0))->dataType()}); Softmax_Op::Attrs attr = dynamic_cast<const Softmax_Op&>(mOp).getStaticAttributes(); - const int& axisIdx = static_cast<const int&>(std::get<0>(attr)); // Call kernel - kernelFunc(axisIdx, + kernelFunc(std::get<0>(attr), // axisIdx std::static_pointer_cast<Tensor>(mOp.getRawInput(0))->dims(), std::static_pointer_cast<Tensor>(mOp.getRawInput(0))->getImpl()->rawPtr(), std::static_pointer_cast<Tensor>(mOp.getRawOutput(0))->getImpl()->rawPtr()); diff --git a/unit_tests/operator/Test_MetaOperator.cpp b/unit_tests/operator/Test_MetaOperator.cpp index aa9a3909619aac2bcd2718ab7aaa0f8f6699ed34..78058eca33a1ab7a23f4f6a12703fc85ed17bb89 100644 --- a/unit_tests/operator/Test_MetaOperator.cpp +++ b/unit_tests/operator/Test_MetaOperator.cpp @@ -194,10 +194,10 @@ TEST_CASE("[cpu/operator] MetaOperator", "[MetaOperator][CPU]") { SECTION("LSTM(forward)") { auto pop = Pop(); auto myLSTM = LSTM(32, 64, 0, true, "ltsm"); - auto op = std::static_pointer_cast<OperatorTensor>(myLSTM->getOperator()); + auto op = std::dynamic_pointer_cast<MetaOperator_Op>(myLSTM->getOperator()); - auto microGraph = std::dynamic_pointer_cast<MetaOperator_Op>(op)->getMicroGraph(); - microGraph->save("lstm", false, false); + auto microGraph = op->getMicroGraph(); + microGraph->save("lstm", false, true); REQUIRE(myLSTM->nbInputs() == 3 + 8 + 8); REQUIRE(myLSTM->nbData() == 1);