#python #tensorflow #keras #neural-network
#python #тензорный поток #keras #нейронная сеть
Вопрос:
Слой keras Conv2D не поставляется с самой функцией активации. В настоящее время я перестраиваю модель YOLOv1 для практики. В модели YOLOv1 есть несколько слоев Conv2D, за которыми следуют активации с использованием функции leaky relu . Есть ли способ объединить
from keras.layers import Conv2D, LeakyReLU
...
def model(input):
...
X = Conv2D(filters, kernel_size)(X)
X = LeakyReLU(X)
...
в одну строку кода, например X = conv_with_leaky_relu(X)
? Я думаю, это должно быть похоже на
def conv_with_leaky_relu(*args, **kwargs):
X = Conv2D(*args, **kwargs)(X)
X = LeakyReLU(X)
return X
но это, конечно, не работает, потому что не определено, что такое X. Есть идеи?
Ответ №1:
Вы можете просто передать это как активацию:
X = Conv2D(filters, kernel_size, activation=LeakyReLU())(X)
Комментарии:
1. Не знал этого, просто посмотрел на список реализованных активаций, и leaky relu, похоже, не входит в этот список. Извините за глупый вопрос и спасибо за ответ 🙂
2. @sampleuser — вы можете передавать вызываемые объекты
activation
в дополнение к строкам