![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PyTorch
文章平均质量分 71
起步晚就要快点跑
这个作者很懒,什么都没留下…
展开
-
F.cross_entropy和F.binary_cross_entropy_with_logits
F.cross_entropy 函数对应的类是torch.nn.CrossEntropyLoss,在使用时会自动添加logsoftmax然后计算loss(其实就是nn.LogSoftmax() 和nn.NLLLoss() 类的融合)该函数用于计算多分类问题的交叉熵loss函数形式:这种形式更好理解C为class的数目input 1维情况x[N, C] n维度情况[N, c, d1, d2, d3…]target 1维度情况[N] n维度情况[N, C, d1, d2, d3] 这的数值范原创 2020-06-12 21:51:40 · 22668 阅读 · 3 评论 -
Pytorch上下采样函数--interpolate
最近用到了上采样下采样操作,pytorch中使用interpolate可以很轻松的完成def interpolate(input, size=None, scale_factor=None, mode='nearest', align_corners=None): r""" 根据给定 size 或 scale_factor,上采样或下采样输入数据input. 当...原创 2019-05-07 11:38:49 · 51091 阅读 · 8 评论 -
Pytorch保存和载入模型参数
最近每次保存和载入模型都会忘记代码怎么写,写在这里记住。保存模型参数torch.save(net.state_dict(), Path)net.state_dicct()是一个字典,net中层的名称和参数的对应。Path为要保存的模型的路径和名称。加载模型参数net.load_state_dict(torch.load(Path))Path是要加载的保存好的模型参数的路径...原创 2019-05-07 11:15:24 · 1089 阅读 · 0 评论 -
pytorch中optim灵活设置各层的学习率
最近研究网络代码的时候,发现师姐的网络在优化的时候学习率是不完全相同的,如下面所示,于是想搞明白。我平常设置学习率都是整个网络统一设置,optimizer = torch.optim.SGD(net.parameters(), lr=0.5) optimizer = optim.SGD([ # encoder-weights {'params': net.get_pa...原创 2019-04-15 21:06:01 · 4203 阅读 · 0 评论 -
Pytorch dim
最近使用nn.softmax函数,会有dim= 这一个参数,这就是志明softmax作用的维度。[batch_size, channel, h, w]dim=0 batch_size, dim=1channel,以此类推。这里有一个地方比较容易混,举个例子[h, w],分别代表行和列,dim=0表示作用在行维度上,即对同一列求softmaxdim=1表示作用在列维度上,即对同一行求sof...原创 2019-03-26 16:41:45 · 628 阅读 · 0 评论 -
Pytorch损失函数nn.NLLLoss2d()
最近做显著星检测用到了NLL损失函数对于NLL函数,需要自己计算log和softmax的概率值,然后从才能作为输入输入[batch_size, channel , w, h]目标[batch_size, w, h]输入的目标矩阵,每个像素必须是类型.举个例子。第一个像素是0,代表着类别属于输入的第1个通道;第二个像素是0,代表着类别属于输入的第0个通道,以此类推。x = Variable...原创 2019-03-26 15:11:48 · 8561 阅读 · 3 评论 -
Pytorch对tensor进行变形torch.view()
最近复现论文的时候经常会需要我对tensor的维度进行转换来符合[batch_size, channel, w, h]的四维格式x = Variable(torch.Tensor([[1, 2, 3], [3, 2, 1], [1, 1, 1]]))print(x)print(x.sh...原创 2019-03-26 09:43:52 · 2895 阅读 · 0 评论 -
PyTorch复现经典网络————GoogleNet
import numpy as npimport torchfrom torch import nnfrom torch.autograd import Variablefrom torchvision.datasets import CIFAR10# d定义一个卷积+ReLu的函数,[输入通道, 输出通道, 卷积核大小, stride, paading]def conv_relu(...原创 2019-03-13 12:34:00 · 1010 阅读 · 0 评论 -
pytorch自己给卷积层初始化
import numpy as npimport torchvision.models as modelsimport torchw = torch.nn.Conv2d(2, 2, 3, padding=1)print("w的权重:", w.weight)q = torch.nn.Conv2d(2, 2, 3, padding=1)print("q的权重:", q.weight)w...原创 2019-03-21 09:32:14 · 2978 阅读 · 0 评论 -
PyTorch复现经典网络————AlexNet
import torchfrom torch import nnimport numpy as npfrom torch.autograd import Variablefrom torchvision.datasets import CIFAR10class AlexNet(nn.Module): def __init__(self): super().__i...原创 2019-03-12 11:19:06 · 1204 阅读 · 0 评论