首页 > 解决方案 > 使用密集层创建 MLP 时出现“激活”的名称错误

问题描述

NameError                                 Traceback (most recent call last)
<ipython-input-28-3f33c21e54b4> in <module>()
      1 num_of_features=x_train.shape[1]
      2 model=Sequential()
----> 3 model.add(Dense(20, activation=="relu",kernel_initializer='he_normal',input_shape=(num_of_features,)))
      4 model.add(Dense(10, activation=="relu",kernel_initializer="he_normal"))
      5 model.add(Dense(5, activation="relu",kernel_initializer="he_normal"))

NameError: name 'activation' is not defined

这是我的代码,我导入了 Dense 和 tensorflow 我不明白为什么会出现上述错误

import tensorflow as tf
from pandas import read_csv
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from tensorflow.keras.layers import Dense
from tensorflow.keras import Sequential

num_of_features=x_train.shape[1]
model=Sequential()
model.add(Dense(20, activation=="relu",kernel_initializer='he_normal',input_shape=(num_of_features,)))
model.add(Dense(10, activation=="relu",kernel_initializer="he_normal"))
model.add(Dense(5, activation="relu",kernel_initializer="he_normal"))
model.add(Dense(1, activation="sigmoid"))

标签: pythontensorflowtf.keras

解决方案


您只需在图层=的参数中输入一个。Dense将您的代码更改为

import tensorflow as tf
from pandas import read_csv
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from tensorflow.keras.layers import Dense
from tensorflow.keras import Sequential
num_of_features=x_train.shape[1]
model=Sequential()
model.add(Dense(20, activation="relu",kernel_initializer='he_normal',input_shape=(num_of_features,)))
model.add(Dense(10, activation="relu",kernel_initializer="he_normal"))
model.add(Dense(5, activation="relu",kernel_initializer="he_normal"))
model.add(Dense(1, activation="sigmoid"))

推荐阅读