Это позволяет вам затем ссылаться на ваш пользовательский объект через строку .Вы видите это с объектами по умолчанию в keras.Например:
# You can either compile a model with the Adam optimizer like this
model.compile(optimizer='adam', ...)
# or like this
adam = keras.optimizers.Adam()
model.compile(optimizer=adam, ...)
Взятый из определения custom_object_scope
:
Код в операторе with
сможет получить доступ к пользовательским объектампо имени.Изменения глобальных пользовательских объектов сохраняются в прилагаемой инструкции with
.В конце оператора with
глобальные пользовательские объекты возвращаются в состояние в начале оператора with
.
Пример: рассмотрим пользовательский объект MyObject
with custom_object_scope({'MyObject':MyObject}):
layer = Dense(..., kernel_regularizer='MyObject')
# save, load, etc. will recognize custom object by name
Определеноas
def custom_object_scope(*args)
Аргументы:
*args
: список переменной длины словарей имен, пар классов, добавляемых в пользовательские объекты.