# machine learning – Implement Relu derivative in python numpy

## machine learning – Implement Relu derivative in python numpy

Thats an exercise in vectorization.

This code

```
if x > 0:
y = 1
elif xi <= 0:
y = 0
```

Can be reformulated into

```
y = (x > 0) * 1
```

This is something that will work for numpy arrays, since boolean expressions involving them are turned into arrays of values of these expressions for elements in said array.

I guess this is what you are looking for:

```
>>> def reluDerivative(x):
... x[x<=0] = 0
... x[x>0] = 1
... return x
>>> z = np.random.uniform(-1, 1, (3,3))
>>> z
array([[ 0.41287266, -0.73082379, 0.78215209],
[ 0.76983443, 0.46052273, 0.4283139 ],
[-0.18905708, 0.57197116, 0.53226954]])
>>> reluDerivative(z)
array([[ 1., 0., 1.],
[ 1., 1., 1.],
[ 0., 1., 1.]])
```

#### machine learning – Implement Relu derivative in python numpy

Basic function to return derivative of relu could be summarized as follows:

```
f(x) = x > 0
```

So, with numpy that would be:

```
def relu_derivative(z):
return np.greater(z, 0).astype(int)
```