Keras,简洁易用的深度学习API,快速构建神经网络!
1. Keras初体验
首先,我们需要安装并导入Keras。别担心,这个过程超级简单!
```python
# 安装Keras(如果还没安装的话)
!pip install tensorflow keras
# 导入Keras
import tensorflow as tf
from tensorflow import keras
# 检查Keras版本
print(keras.__version__)
看到版本号了吗?恭喜你,你已经成功迈出了Keras学习的第一步!
2. 模型搭建:像搭积木一样简单
在Keras中,搭建神经网络就像搭积木一样简单。我们可以使用Sequential模型,一层一层地堆叠神经网络层。
python
from keras.models import Sequential
from keras.layers import Dense
# 创建一个简单的神经网络
model = Sequential([
Dense(64, activation='relu', input_shape=(10,)),
Dense(32, activation='relu'),
Dense(1)
])
# 查看模型结构
model.summary()
看到输出的模型结构了吗?我们刚刚创建了一个有两个隐藏层的神经网络!Dense是全连接层,activation='relu'是激活函数。
小贴士:input_shape=(10,)表示输入数据是10维的。记得根据你的实际数据调整这个参数哦!
3. 模型编译:为模型"注入灵魂"
搭建好模型后,我们需要编译模型,就像是给模型"注入灵魂"。这一步我们会指定优化器、损失函数和评估指标。
python
model.compile(optimizer='adam',
loss='mean_squared_error',
metrics=['mae'])
这里我们使用了Adam优化器,均方误差作为损失函数,平均绝对误差作为评估指标。你可以根据自己的需求选择不同的选项。
4. 模型训练:让AI学起来
现在,让我们用一些随机生成的数据来训练我们的模型。
python
运行这段代码,你就能看到模型是如何逐步学习的。每个epoch都会显示训练损失和验证损失,让你清楚地了解模型的学习进度。
5. 模型评估与预测:检验学习成果
训练完成后,我们需要评估模型的性能,并用它来进行预测。
python
看到输出结果了吗?这就是我们的模型在新数据上的表现!
6. 模型可视化:直观了解网络结构
Keras提供了一个超酷的功能,可以将我们的模型结构可视化。这对于理解复杂的网络结构特别有帮助。
python
from keras.utils import plot_model
# 绘制模型结构图
plot_model(model, to_file='model.png', show_shapes=True, show_layer_names=True)
运行这段代码后,你会在当前目录下看到一个名为'model.png'的图片文件。打开它,你就能看到我们模型的结构图了!
7. 保存和加载模型:AI的记忆力
训练好的模型可以保存下来,以后随时使用,就像给AI一个记忆。
python
如果新预测结果和之前的预测结果相同,说明我们成功地保存和加载了模型!
8. 回调函数:训练过程的"监工"
Keras的回调函数可以让我们更好地控制训练过程。比如,我们可以在训练过程中保存最佳模型,或者在模型性能不再提升时提前停止训练。
python
from keras.callbacks import ModelCheckpoint, EarlyStopping
# 定义回调函数
checkpoint = ModelCheckpoint('best_model.h5', save_best_only=True, monitor='val_loss')
early_stop = EarlyStopping(monitor='val_loss', patience=10)
# 训练模型时使用回调函数
history = model.fit(X, y, epochs=100, batch_size=32, validation_split=0.2,
callbacks=[checkpoint, early_stop], verbose=1)
这样,我们就可以在训练过程中自动保存最佳模型,并在模型性能不再提升时提前结束训练,大大提高了训练效率!
总结
小伙伴们,今天我们学习了Keras的基础知识,包括:
Keras的安装和导入
使用Sequential API构建神经网络
模型的编译、训练、评估和预测
模型的可视化
模型的保存和加载
使用回调函数控制训练过程
这只是Keras强大功能的冰山一角,还有很多有趣的内容等着我们去探索呢!比如,你可以尝试使用Keras来做图像分类、文本情感分析,甚至是生成艺术作品。
小练习:试试用我们学过的知识,构建一个能够预测房价的神经网络吧!提示:你可以使用sklearn的Boston房价数据集,并用Keras重新实现。
小伙伴们,今天的Python学习之旅就到这里啦!记得动手敲代码,有问题随时在评论区问猿小哥哦。祝大家学习愉快,Python学习节节高!
领取专属 10元无门槛券
私享最新 技术干货