首先,我要承认这可能不是解决此问题的合适地点,但不确定从哪里开始。如果有更合适的SE渠道,请随时提出建议。

我一直在使用Keras来学习如何将神经网络应用于不同的预测问题。我有兴趣学习TensorFlow,作为一种对这些网络的内部工作有更深入了解的方式。显然,可以将Keras的后端切换到TensorFlow并使用Keras作为TensorFlow的高级API。但是,是否有一种方法可以从已编译的Keras模型中“恢复” TensorFlow代码?我认为能够在Keras中编写一个我熟悉的模型,并自动将其“翻译”为TensorFlow作为一种更快地学习该库的方式,将非常有用。

任何想法或建议都会有所帮助。谢谢阅读。

最佳答案

Keras所做的只是将Theano和TensorFlow都抽象到一个统一的后端模块中。然后,它使用后端中的功能来实现可在Keras中使用的层和方法。

反过来,这意味着为一个特定的后端生成代码时不涉及编译步骤。 Theano和TensorFlow都是python库,没有翻译步骤的必要,Keras仅使用您指定的库。

找出如何用TensorFlow编写Keras中的模型的最佳方法可能是搜索具有相同数据集的简单网络,并比较TensorFlow和Keras中的示例。另一种方法是读取Keras代码并在TensorFlow后端模块中查找K.<function>

如果您对各个后端产生的特定于平台的代码感兴趣,例如CUDA代码,那么答案是:它取决于。 Theano和TensorFlow都使用临时目录来存储代码和源代码。对于theano,默认情况下为~/.theano。但是,看一下这段代码可能不会使您更明智地理解神经网络及其机制。

08-19 20:46