Python PyTorch中的代码是做什么的?我如何用tensorflow表达它
我发现一个代码可以解决我的问题,如下所示:Python PyTorch中的代码是做什么的?我如何用tensorflow表达它,python,tensorflow,machine-learning,keras,pytorch,Python,Tensorflow,Machine Learning,Keras,Pytorch,我发现一个代码可以解决我的问题,如下所示: (self.conv_diag(input_tensor.diagonal(dim1=2, dim2=3))).diag_embed(dim1=2, dim2=3) 而self.conv\u diag是我以前定义的一个层 据我所知,它在第二和第三维度中提取子传感器的对角线,将其放入层中,构造一个新的张量,填充零,并用我的层计算的新值替换其第二和第三维度 我发现提取对角线的方法是 tf.math.reduce_diag(input_tensor) 但
(self.conv_diag(input_tensor.diagonal(dim1=2, dim2=3))).diag_embed(dim1=2, dim2=3)
而self.conv\u diag
是我以前定义的一个层
据我所知,它在第二和第三维度中提取子传感器的对角线,将其放入层中,构造一个新的张量,填充零,并用我的层计算的新值替换其第二和第三维度
我发现提取对角线的方法是
tf.math.reduce_diag(input_tensor)
但是我不能选择轴,我还没有找到一个等价的函数来替换torch.diag\u embed()
我如何用Tensorflow来表达呢?可能就是您想要的:
tf.linalg.diag(
diagonal, name='diag', k=0, num_rows=-1, num_cols=-1, padding_value=0,
align='RIGHT_LEFT'
)
这可能就是你想要的:
tf.linalg.diag(
diagonal, name='diag', k=0, num_rows=-1, num_cols=-1, padding_value=0,
align='RIGHT_LEFT'
)