如何使用 Keras 在 Python 中编译构建的顺序模型?
Keras在希腊语中的意思是“角”。Keras是作为ONEIROS(开放式神经电子智能机器人操作系统)项目研究的一部分而开发的。Keras是一个深度学习API,它是用Python编写的。它是一种高级API,具有有助于解决机器学习问题的高效界面。
它运行在Tensorflow框架之上。它旨在帮助快速进行实验。它提供了在开发和封装机器学习解决方案中必不可少的基本抽象和构建块。
它具有高度可扩展性,并具有跨平台功能。这意味着Keras可以在TPU或GPU集群上运行。Keras模型也可以导出以在Web浏览器或手机中运行。
Keras已经存在于Tensorflow包中。可以使用以下代码行访问它。
import tensorflow from tensorflow import keras
Tensorflow是Google提供的机器学习框架。它是一个与Python结合使用以实现算法、深度学习应用程序等的开源框架。它用于研究和生产目的。
与使用顺序API创建的模型相比,Keras函数式API有助于创建更灵活的模型。函数式API可以处理具有非线性拓扑结构的模型,可以共享层并处理多个输入和输出。深度学习模型通常是包含多个层的有向无环图(DAG)。函数式API有助于构建层图。
我们正在使用GoogleColaboratory运行以下代码。GoogleColab或Colaboratory帮助在浏览器上运行Python代码,并且需要零配置和免费访问GPU(图形处理单元)。Colaboratory建立在JupyterNotebook之上。以下是使用Keras编译构建的顺序模型的代码片段-
示例
print("Model is being compiled") model.compile( optimizer=keras.optimizers.RMSprop(1e-3), loss=[ keras.losses.BinaryCrossentropy(from_logits=True), keras.losses.CategoricalCrossentropy(from_logits=True), ], loss_weights=[1.0, 0.2], )
代码-https://www.tensorflow.org/guide/keras/functional
输出结果
Model is being compiled
解释
可以使用“compile”方法编译构建的模型。
编译进行时,可以为每个输出分配不同的损失。
不同的权重也可以分配给不同的损失,这样总的训练损失将被调制。