#python #tensorflow
Вопрос:
Ниже приведен мой код:
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras import layers
from tensorflow.keras import regularizers
model = Sequential()
model.add(Dense(units=10, input_shape=[784], activation='sigmoid', kernal_regularizer=l2(0.01)))
model.compile(optimizer=sgd, loss='categorical_crossentropy', metrics=['accuracy'])
model.summary()
model.fit(x_train, y_train, batch_size = 256, epochs=100, validation_data=(x_test, y_test))
Я продолжаю получать следующую ошибку:
NameError Traceback (most recent call last)
<ipython-input-23-76c00e884f10> in <module>()
7
8 model = Sequential()
----> 9 model.add(Dense(units=10, input_shape=[784], activation='sigmoid', kernal_regularizer=l2(0.01)))
10 model.compile(optimizer=sgd, loss='categorical_crossentropy', metrics=['accuracy'])
11 model.summary()
NameError: name 'l2' is not defined
Что происходит? Я был бы признателен за любую помощь.
Комментарии:
1. Ошибка очевидна. Вы не определили
l2
функцию. Попробуй вот так:kernal_regularizer=regularizers.L2(0.01)
Ответ №1:
Синтаксис таков
kernal_regularizer=regularizers.l1_l2(l1=0, l2=0.01)
вместо kernal_regularizer=l2(0.01)
Ссылка: https://www.tensorflow.org/api_docs/python/tf/keras/regularizers/l1_l2