我应该学习哪种高通量的tensorflow API?

问题描述:

我已经研究了约一个月的tensorflow。我只是觉得用Tensorflow的原始操作创建一个网络非常冗长。然后我找到了一些高级API,比如TF-Slim,TF Learn,Keras。但是多种选择让我感到困惑,所以我不知道我应该学什么。我应该学习哪种高通量的tensorflow API?

TF-Slim是一个轻量级库,用于定义,训练和评估TensorFlow中的复杂模型,但正如我的investigated,它仅适用于convnets。 Keras可以建立的网络更多样化。

任何人都可以给他们之间的比较,以便我可以选择我应该学习哪个高级API?在:

1. popularity: which ones are the most popular ? 
2. practicality: what kinds of network can they build ? 
3. performance: what's their training/inference performance ? 
... something else 

希望有人能给我一个建议。谢谢。

+1

如果它可以帮助..! https://medium.com/implodinggradients/tensorflow-or-keras-which-one-should-i-learn-5dd7fa3f9ca0 – Shobhit

+1

我只知道keras。您可以构建大量网络,完全连接,卷积(1d,2d,3d),经常性(包括GRU和LSTM),并且可以在同一模型中混合使用所有网络。您可以使用分支,多个输入和多个输出相当*地创建您的模型。 –

我建议你先从凯拉斯开始。

它很容易学习,它有一个广泛的用户群(见Shobhits链接),GitHub和教程/ MOOCs /电子书等有很多参考代码,你几乎可以构建任何东西用它。我个人认为这是一个很好的文档(尽管有些人可能不同意这一点)。

由于它是一个连接到Tensorflow,Theano,CNTK(以及未来可能还有更多框架)的API,因此您可以拥有更大的灵活性。

不要担心太多的性能。当你学习时,这真的不重要。