Keras是TensorFlow官方推荐的高层神经网络API,它让构建深度学习模型变得超简单。不管是新手还是老手,用Keras都能快速搭建出各种神经网络模型。我自己从开始接触深度学习时就用它,觉得特别顺手。
1.
安装配置
装Keras超容易,直接用pip一句话就搞定:
pip install keras
要是想用GPU加速,得先装好CUDA和cuDNN。不过刚开始学不用GPU也没事,CPU就够用了。
2.
模型搭建
Keras最牛的地方就在于搭建模型特别直观。像搭积木一样,一层一层往上叠就行:
from keras.models import Sequential
from keras.layers import Dense
model = Sequential()
model.add(Dense(64, activation='relu', input_dim=100))
model.add(Dense(10, activation='softmax'))
温馨提示:每层的神经元数量要设置合理,太多了容易过拟合,太少了又学不到东西。刚开始可以试试64、128这种数量。
3.
训练模型
训练模型也简单,三板斧:compile定义优化器和损失函数,fit开始训练,evaluate看看效果:
model.compile(optimizer='adam', loss='categorical_crossentropy')
model.fit(x_train, y_train, epochs=10, batch_size=32)
score = model.evaluate(x_test, y_test)
玩深度学习有个坑,训练时间可能会很长。咱们写代码的时候最好加个进度条,不然干等着挺着急。
4.
保存和加载
模型训练好了,当然得保存下来。要不然电脑重启一下,之前的努力就白费了:
model.save('my_model.h5')
from keras.models import load_model
model = load_model('my_model.h5')
温馨提示:保存模型时记得给文件起个能看懂的名字,最好还标注下准确率,不然过段时间自己都忘了这模型是干啥的。
5.
预测新数据
模型训练好了就能用来预测新数据了,一行代码搞定:
predictions = model.predict(new_data)
写代码的时候记得处理下输入数据的格式,数据维度不对可能会报错。我之前就在这栽过跟头,折腾了好久才发现是数据shape不对。
6.
常用层类型
Keras里最常用的几个层:
Dense:全连接层,最基础的那种
Conv2D:处理图像用的卷积层
MaxPooling2D:池化层,压缩数据用的
Dropout:丢弃一些神经元,防止过拟合
反正记住,不同的任务用不同的层,像图像就得用卷积层,文本处理可能要用LSTM层。
用Keras写深度学习代码真的很爽,不用管那么多底层细节。不过还是建议多看看文档,里面有不少好用的功能等着被发现。写够几个模型,慢慢就能体会到这工具的妙处了。
领取专属 10元无门槛券
私享最新 技术干货