Tensorflow 2:如何计算双射体链的前向雅可比矩阵

2024-07-02 04:53:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Tensorflow 2双射体的集合b0, b1, bN,我构造了一个派生的双射体类,它由一系列原始双射体组成,因此:

class MyBijector( Bijector ):
    def __init__( self ):
        self.bChain = tfb.Chain( [ b0, b1, ... bN ] )

我必须为此显式地定义_forward_log_det_jacobian,还是Tensorflow能为我解决这个问题?如果我必须给它下定义,有人能帮我定义一下吗 提醒我“链式规则”在这种情况下是如何工作的


1条回答
网友
1楼 · 发布于 2024-07-02 04:53:28

I really have two questions: First, assuming I just say "b = tfb.Chain([b1,b2])" (that is, without defining a new class) does Tensorflow 2 "just know" how to calculate "call" or do I have to define it myself. Second, if I do have to define it myself, how do I define the "forward_log_det_jacobian", that is, how do I use the "chain rule" to do this?

MyBijector将有__call__方法,您可以轻松获得一个链实例(即:bij1(bij2)

换句话说,TensorFlow知道它自己是如何实现的,您不需要重新定义它

相关问题 更多 >