Merge pull request #17624 from dkurt:dnn_optimize_mish

This commit is contained in:
Alexander Alekhin 2020-06-23 18:43:50 +00:00
commit 2e165053ef

View File

@ -667,8 +667,11 @@ struct MishFunctor : public BaseFunctor
{
for( int i = 0; i < len; i++ )
{
// Use fast approximation introduced in https://github.com/opencv/opencv/pull/17200
float x = srcptr[i];
dstptr[i] = x * tanh(log(1.0f + exp(x)));
float eX = exp(std::min(x, 20.f));
float n = (eX + 2) * eX;
dstptr[i] = (x * n) / (n + 2);
}
}
}