![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Pytorch
pytorch
TRI_SEVEN
这个作者很懒,什么都没留下…
展开
-
计算图
我们可以使用自动微分来自动计算神经网络中的反向传播。 PyTorch中的autograd软件包完全提供了此功能。 使用autograd时,网络的前向传递将定义一个计算图; 图中的节点为张量tensor,边为从输入张量产生输出张量的函数。 然后通过该图进行**反向传播**,可以轻松计算梯度。这听起来很复杂,在实践中非常简单。 每个张量代表计算图中的一个节点。 如果x是具有x.requires_grad = True的张量,则x.grad是另一个Tensor,它持有x相对于某个标量值的梯度。有时..原创 2020-09-03 21:27:19 · 149 阅读 · 0 评论 -
.clamp(min=0)和F.relu的区别
google搜索是个好东西,stack overflow同样很好学会中文搜不到的用英文搜定义模型的时候,发现用x.clamp(min = 0)和F.relu(x)得到的损失结果不一样,经查证:虽然激活函数ReLu是连续的,但是在自变量等于零的时候,ReLu不可导,x=0时,clamp选择导数为1,而ReLu选择导数为0参考...原创 2020-09-03 21:04:20 · 2235 阅读 · 0 评论 -
pytorch知识点
nn.ReLU(inplace=True)中inplace的作用os.path.isdir()和os.path.isfile()和os.path.listdirnn.Linear 函数解读-----bias、in_features、out_featuresformat格式化输出数字原创 2020-08-22 10:57:03 · 150 阅读 · 0 评论 -
Pytorch--view()--reshape()--traspose()--permute()
view()和reshape()不是转置的效果,而是相当于将原tensor的元素按行取出,然后按行放入到新形状的tensor中。相同之处都可以用来重新调整 tensor 的形状。不同之处view 函数只能用于 contiguous 后的 tensor 上,也就是只能用于内存中连续存储的 tensor。如果对 tensor 调用过 transpose, permute 等操作的话会使该 tensor 在内存中变得不再连续,此时就不能再调用 view 函数。因此,需要先使用 contiguous原创 2020-08-22 11:04:11 · 273 阅读 · 0 评论 -
squeeze()和unsqueeze()
torch.squeeze()两种用法:一种直接a.squeeze();另一种torch.squeeze(a)这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的数去掉只有一个元素的维度之后就变成(3)行。squeeze(a)就是将a中所有为1的维度删掉。不为1的维度没有影响。a.squeeze(N) 就是去掉a中指定的维数为一的维度。还有一种形式就是b=torch.squeeze(a,N) a中去掉指定的定的维数为一的维度。a = tor.原创 2020-08-22 11:03:53 · 400 阅读 · 0 评论 -
pytorch 中tensor在CPU和GPU之间转换,以及numpy之间的转换
CPU tensor转GPU tensor:cpu_imgs.cuda()GPU tensor 转CPU tensor:gpu_imgs.cpu()numpy转为CPU tensor:torch.from_numpy( imgs )CPU tensor转为numpy数据:cpu_imgs.numpy()note:GPU tensor不能直接转为numpy数组,必须先转到CPU tensor。 _, pred_int = torch.max(outputs.dat.原创 2020-08-22 11:05:13 · 770 阅读 · 0 评论 -
Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor) should be the same
在使用torchsummary.summary时遇到Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor) should be the same问题.错误内容大概就是指输入类型是CPU(torch.FloatTensor),而参数类型是GPU(torch.cuda.FloatTensor)。两种用法:model = torchvision.models.alexnet() if vis_model:原创 2020-08-22 11:06:27 · 1077 阅读 · 0 评论