sklearn.neural_network 和 Keras 使用顺序节点和 Dese 节点的简单深度学习之间的区别?

问题描述 投票:0回答:1

鉴于 sklearn.neural_network 和 Keras 的简单深度学习与顺序节点和 Dese 节点,数学上相同 只是两个具有计算优化的 API 吗? 是的,Keras 有张量支持,也可以使用 GPU 和复杂模型,如 CNN 和 RNN 是允许的。

但是,它们在数学上是否相同并且我们将产生相同的结果给定相同的超参数、随机状态、输入数据等?

Else 除了计算效率之外还有什么使 Keras 成为更好的选择?

python tensorflow keras deep-learning neural-network
1个回答
0
投票

我不认为他们会给你完全相同的结果,因为即使在 pytorch 和 tensorflow 中,2 个相同操作的内部实现也是不同的。

使 Keras 成为更好选择的是生态系统。你有 DataLoaders,它可以以所需的格式为你批量加载复杂数据,然后你有 Tensorboard,你可以在其中看到模型训练,然后你有预处理功能,特别是用于数据扩充。在 TF/Keras 中,您现在甚至拥有数据增强层,在 PyTorch 中,Torchvision 在 Transforms 中提供了这一点。然后你就有了灵活性,你可以按你想要的顺序定义什么类型的层,层的初始化器应该是什么,层之间是否需要批量归一化,层之间是否需要 dropout 层,隐藏层的激活应该是什么你可以在 1 层有 relu 而在其他层有 tanh,你可以定义你的前向传播应该如何存在,等等。然后你有回调来定制培训体验,等等。

© www.soinside.com 2019 - 2024. All rights reserved.