gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 02:11:52 24 4
gpt4 key购买 nike

我希望在 Keras 中为自定义优化器执行 SVD(具体来说,我想将 the Shampoo optimizer 移植到 Keras。

在 Tensorflow 中,我会使用 tensorflow.python.ops.linalg_ops.svd() , 但是,keras.backend 中没有这样的函数。 .

SVD 能否在纯粹的 Keras 设置中执行,或者我能否以某种方式直接使用 Tensorflow 函数(如果可以,如何使用)?

编辑:仅供将来引用,实际上存在一个包装函数,允许在 Keras 中直接使用 native tf 优化器:

import keras as ks
from tensorflow.contrib.opt import AdamWOptimizer

tfopt = 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)
...

所以你可以像使用 tensorflow SVD 操作一样使用它,如果它是 keras 后端的函数:)

例如,如果你想拥有

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

比你能做的还要多

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

关于python - 我如何在 Keras 中使用 tensorflow.python.ops?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53581571/

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