gpt4 book ai didi

machine-learning - 为什么使用 TensorFlow 进行卷积神经网络

转载 作者:行者123 更新时间:2023-11-30 09:00:28 24 4
gpt4 key购买 nike

我最近在 Coursera 上学习了 Andrew Ng 的类(class)。之后我转向Python并使用Pandas、Numpy、Sklearn来实现ML算法。现在,在冲浪时,我遇到了tensorFLow,发现它非常神奇,并实现了这个example它以 MNIST 数据作为输入。但我不确定为什么要使用诸如库(TensorFlow)之类的?我们没有进行任何并行计算,因为上一个时期更新的权重将在下一个时期使用???我发现很难找到使用这样一个库的理由?

最佳答案

训练卷积神经网络(以及许多其他机器学习模型)时,TensorFlow 提供多种形式的并行性,包括:

  1. 各个操作内的并行性(例如 tf.nn.conv2d()tf.matmul() )。这些操作为多核 CPU 和 GPU 提供了高效的并行实现,并且 TensorFlow 在任何可用的地方都使用这些实现。

  2. 操作之间的并行性。 TensorFlow 使用数据流图表示形式来表示您的模型,如果数据流图中有两个节点未通过有向路径连接,则它们可以并行执行。例如,Inception 图像识别模型在其数据流图中有许多并行分支(参见 this paper 中的图 3),TensorFlow 可以利用这一点同时运行许多操作。 AlexNet paper还描述了如何使用“模型并行性”在模型的不同部分并行运行操作,TensorFlow 支持使用相同的机制。

  3. 模型副本之间的并行性。 TensorFlow 还专为 distributed execution 设计。并行训练的一种常见方案(“数据并行性”)涉及将数据集分片到一组相同的工作人员上,对每个工作人员针对不同的数据执行相同的训练计算,并在工作人员之间共享模型参数。

此外,TensorFlow 和 Theano 等库在可以处理模型的整个数据流图时可以执行各种优化。例如,它们可以消除常见的子表达式,避免重新计算常量值,并生成更高效的融合代码。

关于machine-learning - 为什么使用 TensorFlow 进行卷积神经网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41489238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com