pytorch
文章平均质量分 64
以秘
探索未知、追逐前沿。
展开
-
折腾 | pytoch、cuda版本问题
凡是写代码的人,基本上都去过博客、简书、github等网站,实际上跑别人的代码也是一种学习,会遇到没有见过的函数、别人的编码风格、同样的功能别人一句话,自己写要十来句,都是通过看别人的东西,慢慢积累的一些经验。最近我也下载了一个代码,据介绍说很牛逼,忍不住好奇去跑一下。但是大多数情况下,自己的电脑环境和别人的环境是不一样的,于是就出现了一个问题:需要将本地环境配置为和别人要求的环境一致。越一致,越容易运行起来,也不会出什么幺蛾子。你是不是也是这么想的,并且是这么做的,我也是。但是今天,我觉得原创 2021-03-10 11:24:14 · 742 阅读 · 0 评论 -
剖析 | torch.nn.functional.softmax维度详解
写代码,看代码都要心中有数,输入是什么,输出是什么,结果是如何计算出来的。一维数据:# -*- coding: utf-8 -*-import torchimport numpy as npimport torch.nn.functional as Fa = [1, 2, 3]a = torch.from_numpy(np.array(a, dtype=np.float))b1 = F.softmax(a, dim=0)b2 = F.softmax(a, dim=-1)print原创 2021-03-09 15:08:35 · 1617 阅读 · 1 评论 -
剖析 | torch.cumsum维度详解
最近看别人代码的时候看到这么一个函数,一看吧,感觉是个求和的函数,毕竟有sum这种,可能性还是比较大,于是准备深入看看,具体是干嘛的。1.写法。先不管结果如何,代码得先写出来。函数原型:torch.cumsum(input, dim, *, dtype=None, out=None) → Tensor返回维度dim中输入元素的累计和。【功能:累加】例如,如果输入是大小为N的向量,则结果也将是大小为N的带有元素的向量。【运算后维度不变】说明必须要有两个参数,一个是tensor类型的原创 2021-03-09 14:17:30 · 21686 阅读 · 7 评论 -
PyTorch | Tensor、Numpy、Variable之间的转换
其中,Numpy和Variable之间的转换可以通过tensor推导出来。Numpy->Variable:拆分为两步,Numpy->Tensor: torch.from_numpy(test)Tensor->Variable:Variable(test)组合在一起就是:Variable(torch.from_numpy(test))同样的道理,Variable->Numpy:拆分为两步,Variable->Tensor:test.data()Te..原创 2021-01-30 18:55:54 · 347 阅读 · 0 评论 -
pytorch:一维线性回归(二)
首先,这是对上一篇文章(pytorch:一维线性回归(一))的改进。其次,为什么想要改进上一篇文章嘞?答案:我使用这个写好的模型后,想着既然参数已经训练出来了,那么预测的时候,就只需要直接根据参数和输入数据就可以计算出预测值,速度应该很快。然而,按照上一篇文章这样的写法,仔细的人会发现,每次预测的时候都又进行了训练,那么之前我的训练就等于白费了。于是,我得找原因在哪里,不难发现,我虽然训练了模型,但是没有对参数进行保存。于是我查询了pytorch是如何保存模型参数的,一共有两种方式:保存原创 2021-01-30 10:59:28 · 493 阅读 · 1 评论 -
pytorch | Softmax->Log->NLLLoss->CrossEntropyLoss
1.torch.nn.Softmax做什么的:将Softmax函数应用于n维输入张量,重新缩放它们,以便n维输出张量的元素位于[0,1]范围内,并且总和为1。注意事项:需要指定按照行和为1还是列和为1,参数设置dim=1表示行和为1,dim=0表示列和为1。计算公式:难点:看到公式,手动该如何计算?假设需要进行softmax操作的张量是:[[1,2,3],[1,2,4]]是一个2*3规模的张量,经过softmax后,希望行和为1,手动计算过程(把公式列举出来,计算可以使用百度帮忙计算):原创 2021-01-07 15:49:07 · 944 阅读 · 0 评论 -
pytorch | transpose、permute、view、contiguous、is_contiguous、reshape
transpose、contiguous、viewa = torch.randn(2,3) #随机产生的2*3的tensor,内存是连续的,所以打印出“真”if a.is_contiguous(): print("真")else: print("假")a = a.transpose(0,1)#经过transpose,维度变换后,内存不连续了,所以打印出“假”if a.is_contiguous(): print("真")else: print("假")a =原创 2021-01-06 11:12:11 · 505 阅读 · 0 评论 -
代码阅读 | torch.sort函数
知识点https://blog.csdn.net/u012495579/article/details/106117511网友讲得非常清晰了。代码如下:lengths = [17,17,19,23,7]lengths = torch.Tensor(lengths) a, idx_sort = torch.sort(torch.Tensor(lengths), dim=0, descending=True) print(a)print(idx_sort)print('-----------原创 2020-12-17 17:26:15 · 3045 阅读 · 1 评论 -
激活函数:sigmoid、Tanh、ReLU
import matplotlib.pyplot as pltimport numpy as np# 设置字体为中文plt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['axes.unicode_minus'] = False# sigmoid函数图像x = np.arange(-10, 10, 0.1)y = 1. /...原创 2019-05-16 14:29:50 · 620 阅读 · 0 评论 -
pytorch:Logistic回归
import matplotlib.pyplot as pltfrom torch import nn, optimimport numpy as npimport torchfrom torch.autograd import Variable# 设置字体为中文plt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['ax...原创 2019-05-16 08:21:50 · 1938 阅读 · 0 评论 -
pytorch:多项式回归
import numpy as npimport torchfrom torch.autograd import Variablefrom torch import nn, optimimport matplotlib.pyplot as plt# 设置字体为中文plt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['a...原创 2019-05-15 12:00:53 · 507 阅读 · 0 评论 -
pytorch:一维线性回归(一)
# -- coding:utf-8 --import torchimport numpy as npfrom torch import nn, optimimport matplotlib.pyplot as pltfrom torch.autograd import Variable# 设置字体为中文plt.rcParams['font.sans-serif'] = ['SimH...原创 2019-05-14 09:27:53 · 415 阅读 · 0 评论