
PyTorch
这里是刘二老师的学习笔记
YJ语
这个作者很懒,什么都没留下…
展开
-
11. PyTorch 爆出 expected scalar type Float but found Long
最近在完成机器学习的期末论文时,使用PyTorch搭建模型,爆出以下错误原因:PyTorch中所期待的数据类型,和输入数据类型不一致问题解决:改变数据集的输入类型原创 2021-06-21 09:08:17 · 2882 阅读 · 0 评论 -
10.PyTorch实现MNIST(手写数字识别)(Inception Moudel)
1 准备数据import torchimport torch.nn as nnfrom torchvision import transformsfrom torchvision import datasetsfrom torch.utils.data import DataLoaderimport torch.nn.functional as Fimport torch.optim as optim # prepare dataset batch_size = 64transfor原创 2021-06-20 09:30:01 · 410 阅读 · 0 评论 -
9.PyTorch实现MNIST(手写数字识别)(2卷积1全连接)
0 写在前面0.1 流程图0.2 文中代码解释1、torch.nn.Conv2d(1,10,kernel_size=3,stride=2,bias=False)1是指输入的Channel,灰色图像是1维的;10是指输出的Channel,也可以说第一个卷积层需要10个卷积核;kernel_size=3,卷积核大小是3x3;stride=2进行卷积运算时的步长,默认为1;bias=False卷积运算是否需要偏置bias,默认为False。padding = 0,卷积操作是否补0。原创 2021-06-20 09:29:35 · 8637 阅读 · 35 评论 -
8.Pytorch实现5层全连接结构的MNIST(手写数字识别)
注意几个点:这里使用的是MNIST数据集,使用的是5层的全连接结构(算上输入层)softmax的输入不需要再做非线性变换,模型会将其输出——计算对应的占比1 prepare datasetimport torchfrom torchvision import transformsfrom torchvision import datasetsfrom torch.utils.data import DataLoaderimport torch.nn.functional as Fimp原创 2021-06-20 09:27:59 · 879 阅读 · 0 评论 -
7.获取适应PyTorch的数据集
此部分内容:1、将原始数据集分为训练集和验证集2、对训练集进行批量梯度下降3、评估验证集的准确率注意:1、DataSet 是抽象类,不能实例化对象,主要是用于构造我们的数据集2、DataLoader 需要获取DataSet提供的索引[i]和len;用来帮助我们加载数据,比如说做shuffle(提高数据集的随机性),batch_size,能拿出Mini-Batch进行训练。它帮我们自动完成这些工作。DataLoader可实例化对象。DataLoader is a class to help原创 2021-06-20 09:27:29 · 142 阅读 · 0 评论 -
6.PyTorch实现逻辑回归(多分类)
1 准备数据import torchimport matplotlib.pyplot as pltimport numpy as npxy = np.loadtxt('./资料/data/diabetes.csv.gz', delimiter=',', dtype=np.float32)# 第一个‘:’是指读取所有行,第二个‘:’是指从第一列开始,最后一列不要x_data = torch.from_numpy(xy[:,:-1])# [-1] 最后得到的是个矩阵y_data = tor原创 2021-06-20 09:26:46 · 1684 阅读 · 2 评论 -
5.PyTorch实现逻辑回归(二分类)
1 Prepare datasetimport torch# prepare dataset# x,y是矩阵,3行1列 也就是说总共有3个数据,每个数据只有1个特征x_data = torch.tensor([[1.0], [2.0], [3.0]])y_data = torch.tensor([[2.0], [4.0], [6.0]])2 Design model using Class#design model using classclass LinearModel(torch.nn原创 2021-06-20 09:26:15 · 893 阅读 · 0 评论 -
4.PyTorch实现线性回归
1 prepare datasetimport torch# x,y是矩阵,3行1列 也就是说总共有3个数据,每个数据只有1个特征x_data = torch.tensor([[1.0], [2.0], [3.0]])y_data = torch.tensor([[2.0], [4.0], [6.0]])2 design model using classclass LinearModel(torch.nn.Module): def __init__(self): su原创 2021-06-20 09:25:47 · 248 阅读 · 0 评论 -
3. 反向传播线性回归
1 Prepare the training setimport torchx_data = [1.0, 2.0, 3.0]y_data = [2.0, 4.0, 6.0]w = torch.tensor([1.0]) # w的初值为1.0w.requires_grad = True # 需要计算梯度2 Define the linear modeldef forward(x): return x*w # w是一个Tensor3 Define the loss functio原创 2021-06-20 09:25:13 · 490 阅读 · 0 评论 -
2.梯度下降线性回归
import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3D1 Prepare the training set# 数据集x_data = [1.0, 2.0, 3.0]y_data = [2.0, 4.0, 6.0]2 Initial guess of weight.w = 13 Define the model:# 正向传播def forward(x):原创 2021-06-20 09:24:37 · 227 阅读 · 0 评论 -
1.穷举线性回归
import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3D1 Prepare the train set.# 数据集x_data = [1.0, 2.0, 3.0]y_data = [2.0, 4.0, 6.0]2 Define the model# 正向传播def forward(x): return x * w + b3 Define the loss原创 2021-06-20 09:21:42 · 222 阅读 · 0 评论