функция активации relu с использованием лямбда

Привет, я хочу реализовать лямбда-функцию в python, которая возвращает мне x, если x> 1 и 0 в противном случае (relu):

так что у меня есть что-л. как:

p = [-1,0,2,4,-3,1]

relu_vals = lambda x: x if x>0 else 0 

print(relu_vals(p))

Важно отметить, что я хочу передать значение лямбда функции

но не получается....


person 2Obe    schedule 05.07.2019    source источник
comment
выглядит очень похоже на: stackoverflow.com/q/32109319/1358308   -  person Sam Mason    schedule 05.07.2019


Ответы (2)


Вы хотите использовать map, чтобы применить эту функцию к каждому элементу список

list(map(relu_vals, p))

дает тебе

[0, 0, 2, 4, 0, 1]

Также лучше определить лямбда-функцию в map, если вы не планируете использовать ее снова.

print(list(map(lambda x: x if x > 0 else 0, p)))
person Devesh Kumar Singh    schedule 05.07.2019
comment
Но я хочу передать значение переменной типа: relu_vals = lambda... Это не удается... - person 2Obe; 05.07.2019

Ваша программа правильная, но нуждается в некоторой доработке.

Попробуй это,

>>> p = [-1,0,2,4,-3,1]     
>>> relu_vals = lambda x: x if x>0 else 0     
>>> [relu_vals(i) for i in p] 
[0, 0, 2, 4, 0, 1]
person shaik moeed    schedule 05.07.2019