如何在Keras中使用tensorflow.python.ops?

我想在Keras中为自定义优化器实现SVD(特别是,我想将Shampoo优化器移植到Keras中)。

在TensorFlow中,我会使用tensorflow.python.ops.linalg_ops.svd(),然而,keras.backend中没有类似的函数。

SVD可以在纯粹的Keras环境中执行吗,或者我能否直接使用TensorFlow的函数(如果可以,如何使用)?

编辑:为了将来参考,实际上存在一个包装函数,允许在Keras中直接使用原生tf优化器:

import keras as ksfrom tensorflow.contrib.opt import AdamWOptimizertfopt = AdamWOptimizer()ksopt = ks.optimizers.TFOptimizer(tfopt)

遗憾的是,对于Shampoo优化器而言,这似乎并不适用。


回答:

如果你使用的是基于TensorFlow后端的Keras,那么Keras后端就是TensorFlow。
这意味着当你调用Keras后端的方法时,实际上是在调用TensorFlow的方法。

因此,你可以同时使用Keras后端操作和TensorFlow,并且可以互换使用。

例如,在给定的代码中:

tensor = ...m = K.mean(tensor)...

我可以将K.mean(tensor)这一行改为tf.mean(tensor)

tensor = ...m = tf.mean(tensor)...

所以你可以像使用Keras后端的函数一样,直接使用TensorFlow的SVD操作:)

例如,如果你想这样做

tensor = ...res = K.some_submodule.svd(tensor)...

那么你可以直接这样做

tensor = ...res = tensorflow.python.ops.linalg_ops.svd(tensor)...

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注