我已经使用Numpy和scipy实现了神经网络。优化。基本上我使用前馈和后向传播创建了Cost函数和渐变,然后将我的输入(特征),输出(标签)和权重提供给Scipy Optimize以最小化成本函数。
现在我遇到了PyBrain和Tensorflow。在Tensorflow中,据我所知,我们需要实现相同的前馈和后向传播,然后使用Tensorflow模块进行优化。因此看起来编程的复杂性几乎相同。我错过了什么,或者我的理解不正确?否则,使用Tensorflow有什么好处吗?
python中实现神经网络的最佳实践是什么。我应该去Pybrain还是Tensorflow,或者尝试自己实现。
答案 0 :(得分:2)
Tensorflow具有 3优点:
<强> 1。附带用于网络可视化的Tensorboard :
这可能是Tensorflow吸引开发者的主要原因。易于可视化甚至复杂的神经网络。 Check Tensorboard here!
<强> 1。不断发展:
Tensorflow相对较新,但发展迅速。所有算法都是由专家编写的 新版算法已更新。事实上,Google在其项目中使用它,因此您可以非常确定它们是可以找到的最佳算法版本之一。
的 2。使用占位符创建整个网络:
占位符使我们能够分离网络配置阶段和评估阶段。
虽然它可能看起来像是一种开销,但实际上有助于扩展网络而不进行任何修改。
因此,如果您现在或将来使用,如果您想将其扩展为大数据集肯定是Tensorflow
您可以继续使用Tensorflow或其他内容,但我建议您尝试Tensorflow。
答案 1 :(得分:0)
是的,有点。 TensorFlow在营销方面比Torch和Theano等开源市场的长期参与者更好。
与其竞争对手同时 - 1. Theano在许多方面仍然比TensorFlow更快,并支持更广泛的操作。 2.火炬比Theano和TensorFlow更适合调试。
如果您想获得使用Tensorflow的灵感,就像我一样,请注意https://www.youtube.com/watch?v=nWJZ4w0HKz8