1. torch.nn与torch.nn.functional之间的区别和联系 https://blog.csdn.net/GZHermit/article/details/78730856 nn和nn.functional之间的差别如下,我们以conv2d的定义为例 torch.nn.Conv2d import torch.nn.functional as F class Conv2d(_ConvNd): def __init__(self, in_channels, out_channels…
一直对于model.eval()和torch.no_grad()有些疑惑 之前看博客说,只用torch.no_grad()即可 但是今天查资料,发现不是这样,而是两者都用,因为两者有着不同的作用 引用stackoverflow: Use both. They do different things, and have different scopes. with torch.no_grad: disables tracking of gradients in autograd. model.ev…
#define y = X @ w import torch from torch import nn #第一模块,数据初始化 n = 100 X = torch.rand(n,2) true_w = torch.tensor([[-1.],[2]]) y = X @ true_w + torch.rand(n,1) w = torch.tensor([[1.],[1.]], requires_grad = True) """model = nn.Sequential(nn.…
1. 为网络的不同部分指定不同的学习率 class LeNet(t.nn.Module): def __init__(self): super(LeNet, self).__init__() self.features = t.nn.Sequential( t.nn.Conv2d(3, 6, 5), t.nn.ReLU(), t.nn.MaxPool2d(2, 2), t.nn.Conv2d(6, 16, 5), t.nn.ReLU(), t.nn.MaxPool2d(2, 2) ) # 由于调…
pytorch笔记 optimizer.zero_grad() 将梯度变为0,用于每个batch最开始,因为梯度在不同batch之间不是累加的,所以必须在每个batch开始的时候初始化累计梯度,重置为0. for epoch in range(num_epoches):# 每个epoch for inputs,labels in dataloader:# 每个batch optimizer.zero_grad()# 初始化梯度 outputs = model(inputs)# 正向 _,pred…
pytorch笔记 - torchvision.utils.make_grid torchvision.utils.make_grid torchvision.utils.make_grid(tensor, nrow=8, padding=2, normalize=False, range=None, scale_each=False) # 将一小batch图片变为一张图.nrow表示每行多少张图片的数量. # 给一个batch为4的图片,h和w分别为32,channel为3,看看结果 imag…
`TypeError: torch.mm received an invalid combination of arguments - got (torch.FloatTensor, Variable), but expected one of: (torch.SparseFloatTensor mat1, torch.FloatTensor mat2) (torch.FloatTensor source, torch.FloatTensor mat2) They can, but a func…
一.张量 标量 可以看作是  零维张量 向量 可以看作是  一维张量 矩阵 可以看作是  二维张量 继续扩展数据的维度,可以得到更高维度的张量 ————>  张量又称 多维数组 给定一个张量数据,就可以确定 它的维度 + 大小 + 元素个数 # 对于一个 大小为 0个条目的元组() ,元素个数为1 只有 维度.大小.元素个数.各元素都相同的两个张量,才是两个相同的张量 举例:对于某个张量,若其中有个条目是 ,那么这个1不可省略.也应该算进张量的维度中. 大小为(,) 的二维张量 和 大小为 (,…
pytorch笔记2 用到的关于plt的总结 plt.scatter scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, *, data=None, **kwargs) 其他参数大致解释一下,x输入自变量list,y输入因变量list. c是颜色,可以是list…
一.组织张量的元素 (1)重排张量元素 本节介绍在不改变 张量元素个数 和 各元素的值的情况下改变张量的大小 torch.Tensor类的成员方法 reshape() 参数是多个int类型的值. 如果想要把一个张量的大小改成 s[0],s[1],s[2],s[3]....那就让s[0],s[1],s[2],s[3]....作为reshape() 方法的n个参数 使用 reshape()  在不改变元素个数和各元素的值的情况下改变张量大小 tc = torch.arange(12) #张量大小 (…