- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 模型的验证套路
对于训练好的神经网络模型,验证它的正确率这里还是用CIFAR10数据集训练出来的模型进行验证放置图片我是在与代码文件上级文件同级的文件中方便使用images = "../image/dog.jpg"完整代码:import torchimport torchvisionfrom PIL import Imagefrom torch import nnfrom torch.nn import Sequential, Conv2d, MaxPool2d, Flatten, Li.
2022-04-04 17:23:58 1927
原创 利用GPU训练
利用GPU来训练一般来说训练的速度比CPU要快的多,并且添加GPU也并不复杂,添加cuda()即可。在下面模块添加GPU操作语句:1.神经网络模型#搭建神经网络class Gu(nn.Module): def __init__(self): super(Gu , self).__init__() self.model1 = Sequential( Conv2d(3, 32, 5, 1, 2), ...
2022-04-04 16:15:25 4211
原创 直观的模型训练及测试效果
在之前完整的训练模型中只是做到了成功训练,也有损失函数但是在大量数据集、多次训练的情况下,数据较多,并不直观,而且没有做测试。在这里添加了测试模块,并且为了进一步直观的测试效果,添加了正确率 #测试 total_test_loss = 0 total_accuracy = 0 with torch.no_grad(): for data in test_dataloader: imgs, targets = data
2022-04-03 23:54:55 1858
原创 完整的训练模型范例
一个简单的完整训练模型,这里训练和测试的数据集采用CIFAR10训练的神经网络参照CIFAR10 model结构搭建损失函数采用交叉熵损失函数(nn.CrossEntropyLoss())优化器采用随机梯度下降优化器(SGD)import torchimport torchvision.datasetsfrom torch import nnfrom torch.nn import Sequential, Conv2d, MaxPool2d, Flatten, Linear.
2022-04-02 20:44:17 981
原创 神经网络模型的保存和读取
保存神经网络的两种方法:(还是以我之前自建的神经网络模型Gu为例,保存这个神经网络)gu = Gu()1. torch.save(gu,"gu_module.pth")2. torch.save(gu.state_dict(),"gu_module.pth")import torchfrom torch import nnfrom torch.nn import Sequential, Conv2d, MaxPool2d, Flatten, Linearclass Gu(nn
2022-04-01 17:08:12 2488
原创 优化器(以SGD为例)
pytorch中对于优化器的介绍:torch.optim — PyTorch 1.11.0 documentation上一篇文章介绍了使用损失函数直观的看出实际值与目标值之间的差距,本节利用优化器使训练时实际输出值在每一轮训练中利用优化器不断接近目标值,使损失值不断减少这里使用随机梯度下降优化器(SGD)import torch.optimimport torchvisionfrom torch import nnfrom torch.nn import Conv2d,
2022-04-01 16:35:29 1731
原创 损失函数与反向传播
pytorch官网中对损失函数的介绍torch.nn — PyTorch 1.11.0 documentation利用损失函数衡量误差我们在利用神经网络训练时实际输出的值与我们的目标值可能存在较大的差距,利用损失函数可以直观看出我们目标值与实际输出之间的差距,以便指导我们的输出去接近我们的目标值。以L1Loss 为例L1Loss — PyTorch 1.11.0 documentationimport torchfrom torch.nn import L1Lossinput
2022-04-01 16:12:43 777
原创 结合html与css的简单注册界面
初学java web,在eclipse中编译简单的注册界面首先没有做修饰(纯html),只是简单的注册表,包含姓名(text)、性别(radio)、出生日期(date)、学校(text)、专业(select)、体育特长(checkbox)、上传照片(file)、密码(password)、个人介绍(textarea)、提交(submit)及重置(reset)。照片文件的上传以及最终表单的提交都只是做出了一个形式,并没有真正上传到后台。<!DOCTYPE html><html&
2022-03-26 14:14:53 2376
原创 卷积层的初步了解
pytorch中神经网络模块有卷积层的介绍:torch.nn — PyTorch 1.10 documentation下面的例子是对二维卷积中stride和padding的了解和认识import torchimport torch.nn.functional as Finput=torch.tensor([[1,2,0,3,1], [0,1,2,3,1], [1,2,1,0,0], .
2022-03-05 17:24:31 360
原创 神经网络的基本骨架nn.Module的使用
pytorch官网中有许多神经网络的模板提供给我们初学者:torch.nn — PyTorch 1.10 documentationModule是所有神经网络模型的基本的类这里的init做的是初始化处理,这里没有设置卷积,可以根据需要自行设置super()函数父类初始化是必须的这里forward函数是神经网络的核心,它会对输入进来的数据进行处理,可以在此函数下设置自己想要处理的操作,这里的操作只是对输入进来的数据进行简单的加一操作import torchimport torch.
2022-02-21 16:02:30 846
原创 torchvision中数据集的使用
在pytorch官网(torchvision — Torchvision 0.11.0 documentation (pytorch.org))中可以很清楚的看到提供的数据集以及详细的说明,现成的数据集使用起来也很方便。以CIFAR为例import torchvisiontrain_set = torchvision.datasets.CIFAR10(root="./dataset",train=True,download=True)test_set = torchvision.datase
2022-02-21 12:51:23 913
转载 Tensor与Autograd
torch.autograd是为了方便用户使用,专门开发的一套自动求导引擎,它能够根据输入和前向传播过程自动构建计算图,并执行反向传播。Autograd包为张量上所有的操作提供了自动求导功能,为实现自动求导,首先要创建叶子节点,并对初始化参数requires_grad设为True。后面通过运算得到的tensor对象叫非叶子节点,但会自动被赋予grad_fn属性。该属性表示梯度函数。将最后的结果执行backward()函数,可进行反向传播,求出各个叶子节点的梯度,保存在grad属性里。反...
2022-01-28 22:45:14 133
原创 创建tensor(对标numpy)
TORCH.TENSORAtorch.Tensoris a multi-dimensional matrix containing elements of a single data type.Tensor可以理解为多维数组,不同Tensor可以有不同的数据类型和形状。在TensorFlow中数据的核心单元就是Tensor,在PyTorch中Tensor负责存储基本数据,并且PyTorch中定义的Tensor数据类型可以实现在GUPs上进行运算,只需要对变量做一些简单的类型转换就可以实现。创..
2022-01-26 23:54:23 1329
原创 numpy通用函数(ufunc)
在Numpy中存在着通用函数和聚合去对数据进行处理,numpy通过向量进行对数据数组的计算,而这些向量主要依靠一些通用函数,而聚合是numpy对面对大量数据时获取描述性统计信息的方法。通常在通用函数(ufunc)中利用向量实现numpy数据处理速度的提高。import numpy as npimport mathimport timex=[i*0.001 for i in np.arange(1000000)]#在python 3.8中已经更新移除了time.clock(),可...
2022-01-25 00:20:16 1687
原创 numpy批量处理
为神经网络传输数据做基础铺垫,numpy下简单的数据批量处理import numpy as np#按正态生成10000个形状为2×3的矩阵dtrain=np.random.randn(10000,2,3)print(dtrain.shape)#打乱数据np.random.shuffle(dtrain)#定义批量大小每次取100个数据Size=100#批量处理for i in range(0,len(dtrain),Size): Summ=np.sum(dtrain[i:i+S
2022-01-24 23:30:39 915
原创 numpy获取元素
利用seed函数可创造特定的随机数数列实现随机数的复现通过random静态对象调用seed函数import numpy as npnp.random.seed(2019)nd8=np.random.random([10])#获取指定位置的数据print(nd8[2])#截取一段数据print(nd8[3:5])#截取固定间隔数据print(nd8[1:4:1])#倒序取数print(nd8[::-2])nd9=np.random.random([3,3])#截取多维数组中指
2022-01-24 22:49:50 1449
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人