相当于Tensorflow损失函数的PyTorch

我试图使用PyTorch框架重新实现TensorFlow代码。下面,我提供了TF示例代码和我的PyT解释,以实现目标尺寸(Batch, 9, 9, 4)和网络尺寸输出(Batch, 9, 9, 4)

TensorFlow实现:

loss = tf.nn.softmax_cross_entropy_with_logits(labels=target, logits=output)
loss = tf.matrix_band_part(loss, 0, -1) - tf.matrix_band_part(loss, 0, 0)

PyTorch实施:

output = torch.tensor(output, requires_grad=True).view(-1, 4)
target = torch.tensor(target).view(-1, 4).argmax(1)

loss = torch.nn.CrossEntropyLoss(reduction='none')
my_loss = loss(output, target).view(-1,9,9)

对于PyTorch实施,我不确定如何实施tf.matrix_band_part我当时正在考虑定义一个遮罩,但是我不确定这是否会损害反向传播。我知道torch.triu,但是此功能不适用于2维以上的张量。

格里高利·费尔德曼

由于(至少)1.2.0版torch.triu可以很好地与批次配合使用(根据docs)。

您可以通过einsum获得对角线元素torch.einsum('...ii->...i', A)

戴上口罩不会伤害反向支撑。您可以将其视为投影(显然,这对于反向传播很有效)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

相当于Tensorflow线性层的PyTorch

来自分类Dev

tensorflow 相当于 pytorch ReplicationPad2d

来自分类Dev

tf.cast相当于在pytorch?

来自分类Dev

Tensorflow,相当于Theano的pydotprint?

来自分类Dev

Tensorflow相当于Theano的dimshuffle

来自分类Dev

相当于R的头尾函数的Python

来自分类Dev

Matlab相当于Python的'reduce'函数

来自分类Dev

相当于Python的readlines函数的Pandas

来自分类Dev

相当于Matlab间谍函数的R

来自分类Dev

相当于MATLAB函数gaminv()

来自分类Dev

相当于Gensim函数/参数的SciSpacy

来自分类Dev

相当于Matlab的set函数的Python

来自分类Dev

相当于jQuery在函数之前的原型

来自分类Dev

Matlab相当于Python的'reduce'函数

来自分类Dev

相当于pytorch中的keras.layers.Masking?

来自分类Dev

相当于DCMPLX?

来自分类Dev

相当于$ .on的Javascript

来自分类Dev

相当于 $@ 的 Windows

来自分类Dev

Tensorflow 2.0:相当于numpy。take_along_axis

来自分类Dev

Tensorflow:相当于tf批次的Numpy和重塑

来自分类Dev

相当于np.in1d的TensorFlow

来自分类Dev

Clojure相当于Lisp的原子函数

来自分类Dev

PHP相当于lodash / underscore中的max函数

来自分类Dev

相当于numpy.where()的Fortran函数?

来自分类Dev

SQL Server相当于Excel的TINV函数

来自分类Dev

相当于PHP范围函数的Objective C?

来自分类Dev

使用函数继承时,相当于“ instanceof”?

来自分类Dev

相当于CCtalk协议的C#函数

来自分类Dev

相当于numpy where函数在熊猫中