Как я могу создать собственный планировщик отсева с обратным вызовом в Керасе? - PullRequest
0 голосов
/ 01 апреля 2020

Я хотел бы реализовать что-то другое для моих данных. Моя цель - применить адаптивный коэффициент отсева для разных интервалов эпох. Мой пользовательский обратный вызов выглядит следующим образом:

class MyDropCallback(Callback):
def __init__(self,dropping_rate):
self.dropping_rate=dropping_rate

def updating_mydroprate(self,epoch,dropping_rate):
if epoch==35:
dropping_rate=0.65
elif epoch==60:
dropping_rate=0.75
elif epoch==80:
dropping_rate=0.8

def on_epoch_begin(self,epoch,logs=None):
dropping_rate=self.updating_mydroprate(epoch,self.dropping_rate)
backend.set_value(self.model.layers[-3].Dropout.rate , dropping_rate)

Поскольку -3-й слой является пропущенным, он записывается в нижней строке. Здесь возвращается ошибка:

679     {{np_implementation}}
680     """

-> 681 return x.dtype.base_dtype.name 682 683

AttributeError: у объекта 'float' нет атрибута 'dtype'

Что вы предлагаете для этой проблемы?

Спасибо от сейчас на

...