如何使用Python程序使用Keras来训练模型?
Keras是作为ONEIROS项目(Open-ended Neuro-Electronic Intelligent Robot Operating System)研究的一部分开发出来的,它是一个用Python编写的深度学习API。它是一个高级API,具有生产力接口,有助于解决机器学习问题。它运行在Tensorflow框架的顶部。它被构建为帮助快速进行实验。它提供了必要的抽象和构建块,这些对于开发和封装机器学习解决方案至关重要。
它高度可伸缩并具有跨平台功能。这意味着Keras可以在TPU或GPU集群上运行。Keras模型也可以导出到Web浏览器或移动电话上运行。
Keras已经存在于Tensorflow软件包中。可以使用以下代码行访问它。
import tensorflow
from tensorflow import keras
Keras功能API有助于创建比使用顺序API创建的模型更灵活的模型。功能API可以与具有非线性拓扑、可以共享图层并可与多个输入和输出一起工作的模型一起工作。深度学习模型通常是一个包含多个层的有向无环图(DAG)。功能API有助于构建层的图形。
我们正在使用Google Colaboratory运行以下代码。 Google Colab或Colaboratory帮助在浏览器上运行Python代码,不需要任何配置,并免费使用GPU(图形处理单元)。Colaboratory是基于Jupyter Notebook构建的。以下是训练模型的代码片段-
更多Python相关文章,请阅读:Python 教程
示例
print("正在绘制模型")
keras.utils.plot_model(model, "my_resnet.png", show_shapes=True)
print("将数据拆分为训练和测试数据")
(x_train,y_train),(x_test,y_test)= keras.datasets.cifar10.load_data()
print("将数据类型转换为浮点类型")
x_train = x_train.astype("float32") / 255.0
x_test = x_test.astype("float32") / 255.0
y_train = keras.utils.to_categorical(y_train,10)
y_test = keras.utils.to_categorical(y_test,10)
print("正在编译模型")
model.compile(
optimizer = keras.optimizers.RMSprop(1e-3),
loss = keras.losses.CategoricalCrossentropy(from_logits=True),
metrics = [“acc”],
)
model.fit(x_train[:2000],y_train[:2000],batch_size = 64,epochs = 2,validation_split = 0.2)
代码来源 – https://www.tensorflow.org/guide/keras/functional
输出
正在绘制模型
将数据拆分为训练和测试数据
正在从https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz下载数据
170500096/170498071 [==============================] - 2秒 0us/step
将数据类型转换为浮点类型
正在编译模型
Epoch 1/2
25/25 [==============================] - 9s 332ms/step - loss: 2.3163 - acc: 0.1028 -
val_loss: 2.2962 - val_acc: 0.1175
Epoch 2/2
25/25 [==============================] - 12s 492ms/step - loss: 2.3155 - acc: 0.1175 -
val_loss: 2.2606 - val_acc: 0.1200
<tensorflow.python.keras.callbacks.History at 0x7f48d3ecfb00>
说明
-
将输入数据拆分为训练集和测试集。
-
将数据类型转换为“float”类型。
-
使用“compile”方法编译模型。
-
使用“fit”方法将模型拟合到训练数据上。