Skip to content

Commit 57bedd5

Browse files
committed
fix build without neon
1 parent ed81092 commit 57bedd5

3 files changed

Lines changed: 66 additions & 3 deletions

File tree

src/layer/arm/convolution_arm.cpp

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -974,7 +974,28 @@ int Convolution_arm::forward(const Mat& bottom_blob, Mat& top_blob, const Option
974974
kptr += maxk;
975975
}
976976

977-
sum = activation_ss(sum, activation_type, activation_params);
977+
if (activation_type == 1)
978+
{
979+
sum = std::max(sum, 0.f);
980+
}
981+
else if (activation_type == 2)
982+
{
983+
float slope = activation_params[0];
984+
sum = sum > 0.f ? sum : sum * slope;
985+
}
986+
else if (activation_type == 3)
987+
{
988+
float min = activation_params[0];
989+
float max = activation_params[1];
990+
if (sum < min)
991+
sum = min;
992+
if (sum > max)
993+
sum = max;
994+
}
995+
else if (activation_type == 4)
996+
{
997+
sum = static_cast<float>(1.f / (1.f + exp(-sum)));
998+
}
978999

9791000
outptr[j] = sum;
9801001
}

src/layer/arm/deconvolution_arm.cpp

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -644,7 +644,28 @@ int Deconvolution_arm::forward(const Mat& bottom_blob, Mat& top_blob, const Opti
644644
kptr += maxk;
645645
}
646646

647-
sum = activation_ss(sum, activation_type, activation_params);
647+
if (activation_type == 1)
648+
{
649+
sum = std::max(sum, 0.f);
650+
}
651+
else if (activation_type == 2)
652+
{
653+
float slope = activation_params[0];
654+
sum = sum > 0.f ? sum : sum * slope;
655+
}
656+
else if (activation_type == 3)
657+
{
658+
float min = activation_params[0];
659+
float max = activation_params[1];
660+
if (sum < min)
661+
sum = min;
662+
if (sum > max)
663+
sum = max;
664+
}
665+
else if (activation_type == 4)
666+
{
667+
sum = static_cast<float>(1.f / (1.f + exp(-sum)));
668+
}
648669

649670
outptr[j] = sum;
650671
}

src/layer/arm/deconvolutiondepthwise_arm.cpp

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,28 @@ int DeconvolutionDepthWise_arm::forward(const Mat& bottom_blob, Mat& top_blob, c
306306
}
307307
}
308308

309-
sum = activation_ss(sum, activation_type, activation_params);
309+
if (activation_type == 1)
310+
{
311+
sum = std::max(sum, 0.f);
312+
}
313+
else if (activation_type == 2)
314+
{
315+
float slope = activation_params[0];
316+
sum = sum > 0.f ? sum : sum * slope;
317+
}
318+
else if (activation_type == 3)
319+
{
320+
float min = activation_params[0];
321+
float max = activation_params[1];
322+
if (sum < min)
323+
sum = min;
324+
if (sum > max)
325+
sum = max;
326+
}
327+
else if (activation_type == 4)
328+
{
329+
sum = static_cast<float>(1.f / (1.f + exp(-sum)));
330+
}
310331

311332
outptr[j] = sum;
312333
}

0 commit comments

Comments
 (0)