Я пытаюсь реализовать дырявый Relu, проблема в том, что мне нужно сделать 4 цикла for для 4-мерного массива ввода.
Есть ли способ, которым я могу сделать дырявый relu только с помощью функций Numpy?
Я пытаюсь реализовать дырявый Relu, проблема в том, что мне нужно сделать 4 цикла for для 4-мерного массива ввода.
Есть ли способ, которым я могу сделать дырявый relu только с помощью функций Numpy?
Вот два подхода к реализации leaky_relu
:
import numpy as np
x = np.random.normal(size=[1, 5])
# first approach
leaky_way1 = np.where(x > 0, x, x * 0.01)
# second approach
y1 = ((x > 0) * x)
y2 = ((x <= 0) * x * 0.01)
leaky_way2 = y1 + y2
Отходя от записи в википедии для дырявого relu, вы сможете сделать это с помощью простой функции маскирования.
output = np.where(arr > 0, arr, arr * 0.01)
Везде, где вы выше 0, вы сохраняете значение, везде вы заменяете его на arr * 0,01.