PyTorch
PyTorch常见用法
骜蛟
砥砺前行
展开
-
[踩坑] 交叉熵损失不下降
在深度学习中,有时候会遇到各种奇奇怪怪的问题,这些问题也不容易在网上搜到解答。一些有报错的问题还好,没有报错的问题简直就是灾难。在以上图片中,可以看到dice loss有轻微下降,而ce loss几乎不动。这时候肯定是出问题了。问题在哪呢?我用的是Pytorch中的CrossEntropyLoss()函数。注意这个函数是自带softmax操作的。而我在传入网络输出前,又做了一次softmax。这样就做了两层的softmax。这就导致了交叉熵损失下降不下去,回传梯度几乎为0。...原创 2022-03-23 09:43:53 · 4036 阅读 · 1 评论 -
PyTorch squeeze用法
torch.squeeze(input, dim=None, *, out=None) → Tensor返回一个张量,其中删除了大小为 1 的所有输入维度。举个例子,如果输入维度味: (A×1×B×C×1×D)那么输出维度就是: (A×B×C×D).当 dim 给定时,仅在给定的dim中进行squeeze操作比如输入具有维度 input.shape == (A×1×B),squeeze(input, 0) 使张量形状不变squeeze(input, 1) 会使输入压缩为 (A×B).原创 2021-12-06 16:03:18 · 843 阅读 · 0 评论 -
pytorch tensor相加
sum(tensor, tensor) =tensor + tensor>>> a=torch.randn(1,1,2,2)>>> atensor([[[[-0.5695, -0.8966], [-0.0143, 0.9773]]]])>>> b=torch.randn(1,1,2,2)>>> btensor([[[[-1.4048, 0.9351], [ 1.6179, -0.8原创 2021-11-23 16:48:51 · 2832 阅读 · 0 评论