[深度学习] Pytorch学习(一)-- torch tensor 学习笔记 . 记录 分享 . 学习的代码环境:python3.6 torch1.3 vscode+jupyter扩展 #%% import torch print(torch.__version__) # 查看CUDA GPU是否可用 a = torch.cuda.is_available() print(a) #%% # torch.randperm x = torch.randperm(6) print(x) #%% #…
[深度学习] Pytorch(三)-- 多/单GPU.CPU,训练保存.加载预测模型问题 上一篇实践学习中,遇到了在多/单个GPU.GPU与CPU的不同环境下训练保存.加载使用使用模型的问题,如果保存.加载的上述三类环境不同,加载时会出错.就去研究了一下,做了实验,得出以下结论: 多/单GPU训练保存模型参数.CPU加载使用模型 #保存 PATH = 'cifar_net.pth' torch.save(net.module.state_dict(), PATH) #加载 net = Net()…
一.梯度 导数是对某个自变量求导,得到一个标量. 偏微分是在多元函数中对某一个自变量求偏导(将其他自变量看成常数). 梯度指对所有自变量分别求偏导,然后组合成一个向量,所以梯度是向量,有方向和大小. 上左图中,箭头的长度表示陡峭度,越陡峭的地方箭头越长,箭头指向的方向是y变大的方向,如果要使用梯度下降,则需要取负方向. 右图中,蓝色代表低点,红色代表高点,中间的箭头方向从蓝色指向红色,而且中间最陡峭的地方,箭头最长. 二.梯度下降 上图中分别使用梯度下降优化θ1和θ2的值,α表示学习率,即每次按…
一.Pytorch安装 安装cuda和cudnn,例如cuda10,cudnn7.5 官网下载torch:https://pytorch.org/ 选择下载相应版本的torch 和torchvision的whl文件 使用pip install whl_dir安装torch,并且同时安装torchvision 二.初步使用pytorch # -*- coding:utf-8 -*- __author__ = 'Leo.Z' import torch import time # 查看torch版本…
常见的学习种类 线性回归,最简单的y=wx+b型的,就像是调节音量大小.逻辑回归,是否问题.分类问题,是猫是狗是猪 最简单的线性回归y=wx+b 目的:给定大量的(x,y)坐标点,通过机器学习来找出最符合的权重w和偏置b 损失指的是每个点进行wx+b-y然后平方累加,是用来估量模型的预测值f(x)与真实值Y的不一致程度. 根本的方法是首先要给出人工设定初始的w和b值,然后计算损失对于w和对于b的梯度,来找到下降梯度. 使得w和b往下降梯度变化来使得损失越来越小,w和b的值越来越精确的过程. lr…
参考:http://python.jobbole.com/87522/ 1.首先要安装Anaconda 1)什么是Anaconda Anaconda是Python的包管理器和环境管理器,是一个包含180+的科学包及其依赖项的发行版本.其包含的科学包包括:conda, numpy, scipy, ipython notebook等. 1.包管理 Anaconda附带了一大批常用数据科学包,它附带了conda.Python和 150 多个科学包及其依赖项.因此你可以用Anaconda立即开始处理数据…
1.一维数组索引与切片#创建一维数组arr1d = np.arange(10)print(arr1d) 结果:[0 1 2 3 4 5 6 7 8 9] #数组的索引从0开始,通过索引获取第三个元素arr1d[2] 结果:2 #切片,左闭右开区间,从索引3开始,直到索引7结束 arr1d[3:8] 结果:array([3, 4, 5, 6, 7]) #数组脚标由右往左是从-1开始,每向左一位脚标数字减1,获取最后一个元素arr1d[-1] #等价arr1d[9] 结果:9 #将标量赋值给切片,会…
一.继承nn.Module类并自定义层 我们要利用pytorch提供的很多便利的方法,则需要将很多自定义操作封装成nn.Module类. 首先,简单实现一个Mylinear类: from torch import nn # Mylinear继承Module class Mylinear(nn.Module): # 传入输入维度和输出维度 def __init__(self,in_d,out_d): # 调用父类构造函数 super(Mylinear,self).__init__() # 使用Pa…
一.visdom可视化工具 安装:pip install visdom 启动:命令行直接运行visdom 打开WEB:在浏览器使用http://localhost:8097打开visdom界面 二.使用visdom # 导入Visdom类 from visdom import Visdom # 定义一个env叫Mnist的board,如果不指定,则默认归于main viz = Visdom(env='Mnist') # 在window Accuracy中画train acc和test acc,x…
本文简单描述如果自定义dataset,代码并未经过测试(只是说明思路),为半伪代码.所有逻辑需按自己需求另外实现: 一.分析DataLoader train_loader = DataLoader( datasets.MNIST('../data', train=True, download=True, transform=transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,))…