用tensorflow2创建一个5层的神经网络,输入特征有101个,输出标签有10个,激活函数可以自定义relu或sigmod,每训练100次打印成本,把完整的代码写出来
时间: 2024-05-12 14:17:57 浏览: 44
03_activation_functions_激活函数_activationfunction_
当然,我很乐意回答你的问题!以下是你所要求的神经网络的代码:
```python
import tensorflow as tf
# 定义输入和输出的维度
input_dim = 101
output_dim = 10
# 定义自定义的激活函数
def my_activation(x):
return tf.keras.activations.relu(x) # 或者 tf.keras.activations.sigmoid(x)
# 定义模型
model = tf.keras.models.Sequential([
tf.keras.layers.Dense(64, activation=my_activation, input_dim=input_dim),
tf.keras.layers.Dense(32, activation=my_activation),
tf.keras.layers.Dense(16, activation=my_activation),
tf.keras.layers.Dense(8, activation=my_activation),
tf.keras.layers.Dense(output_dim, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
# 打印模型概况
model.summary()
# 训练模型
for i in range(1000):
cost = model.train_on_batch(x_train, y_train)
if i % 100 == 0:
print('Step %d, training cost: %f' % (i, cost[0]))
```
希望这个代码对你有所帮助!
阅读全文