Python VAE中译码器的雅可比矩阵

Python VAE中译码器的雅可比矩阵,python,tensorflow,neural-network,gradient,keras-layer,Python,Tensorflow,Neural Network,Gradient,Keras Layer,我对ML和这个论坛都是新手,所以请善待我 我想计算的是VAE w.r.t.的解码器部分的雅可比矩阵,即潜在向量。我在tensorflow.python.ops.parallel_for.gradients中找到了jacobian_批处理函数,原则上可以为我完成这项工作。但是,我无法使此函数工作。 更具体地说,我试着: xin = tf.constant(np.array(latent_vector[2]),dtype=tf.float32) f_of_xin = tf.constant(deco

我对ML和这个论坛都是新手,所以请善待我

我想计算的是VAE w.r.t.的解码器部分的雅可比矩阵,即潜在向量。我在tensorflow.python.ops.parallel_for.gradients中找到了jacobian_批处理函数,原则上可以为我完成这项工作。但是,我无法使此函数工作。 更具体地说,我试着:

xin = tf.constant(np.array(latent_vector[2]),dtype=tf.float32)
f_of_xin = tf.constant(decoder.predict(tf.Session().run(xin), batch_size = 1000000, verbose=1),dtype=tf.float32) 
jac = batch_jacobian(f_of_xin,xin)
f_of_xin = tf.sin(tf.sin(tf.constant(tf.Session().run(xin))))
不起作用(不返回任何形状),而:

工作(返回一个3x3矩阵(#输入和输出尺寸=3)和合理的数字)。 我试过:

f_of_xin = tf.sin(tf.sin(tf.constant(tf.Session().run(xin))))
同样,在这种情况下,jacobian_批处理函数不再工作(这意味着它返回一个None形状)。我想这与数据转换有关,但我不知道如何向model.predict函数提供tf结构。顺便说一下,我这里的模型(译码器)只是一个简单的神经网络,有一个隐藏层。你能帮我吗

亲切问候,

梅丽莎