Commit b65a13dd by Siju Committed by Tianqi Chen

Activations for coreml added (#1508)

parent c8aa6f99
...@@ -102,9 +102,10 @@ def ActivationParams(op, insym, symtab): ...@@ -102,9 +102,10 @@ def ActivationParams(op, insym, symtab):
elif whichActivation == 'leakyReLU': elif whichActivation == 'leakyReLU':
return _sym.leaky_relu(insym, alpha=par.alpha) return _sym.leaky_relu(insym, alpha=par.alpha)
elif whichActivation == 'thresholdedReLU': elif whichActivation == 'thresholdedReLU':
raise NotImplementedError('thresholdedReLU not implemented') alpha_tensor = _sym.full_like(insym, fill_value=float(par.alpha))
return _sym.elemwise_mul(insym, _sym.greater(insym, alpha_tensor))
elif whichActivation == 'PReLU': elif whichActivation == 'PReLU':
raise NotImplementedError('PReLU not implemented') return _sym.prelu(insym, alpha=par.alpha)
elif whichActivation == 'tanh': elif whichActivation == 'tanh':
return _sym.tanh(insym) return _sym.tanh(insym)
elif whichActivation == 'scaledTanh': elif whichActivation == 'scaledTanh':
...@@ -113,12 +114,13 @@ def ActivationParams(op, insym, symtab): ...@@ -113,12 +114,13 @@ def ActivationParams(op, insym, symtab):
elif whichActivation == 'sigmoid': elif whichActivation == 'sigmoid':
return _sym.sigmoid(insym) return _sym.sigmoid(insym)
elif whichActivation == 'sigmoidHard': elif whichActivation == 'sigmoidHard':
raise NotImplementedError('sigmoidHard not immplemented') transformX = (par.alpha * insym) + par.beta
return _sym.clip(transformX, a_min=0, a_max=1)
elif whichActivation == 'ELU': elif whichActivation == 'ELU':
return _sym.__mul_scalar__(_sym.__add_scalar__( return _sym.__mul_scalar__(_sym.__add_scalar__(
_sym.exp(insym), scalar=-1), scalar=par.alpha) _sym.exp(insym), scalar=-1), scalar=par.alpha)
elif whichActivation == 'softsign': elif whichActivation == 'softsign':
raise NotImplementedError('softsign not implemented') return insym / (1 + (_sym.relu(insym) + _sym.relu(_sym.negative(insym))))
elif whichActivation == 'softplus': elif whichActivation == 'softplus':
return _sym.log(_sym.__add_scalar__(_sym.exp(insym), scalar=1)) return _sym.log(_sym.__add_scalar__(_sym.exp(insym), scalar=1))
elif whichActivation == 'parametricSoftplus': elif whichActivation == 'parametricSoftplus':
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
"""Definition of image ops""" """Definition of image ops"""
from __future__ import absolute_import from __future__ import absolute_import
import topi
import tvm import tvm
import topi
from . import registry as reg from . import registry as reg
from .registry import OpPattern from .registry import OpPattern
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment