当前位置: 首页 > news >正文

网站seo推广计划榕江网站建设

网站seo推广计划,榕江网站建设,网站建设与维护网课,微博营销成功案例8个目录 1、model.py文件 #xff08;预训练的模型#xff09; 2、train.py文件#xff08;会产生训练好的.th文件#xff09; 3、predict.py文件#xff08;预测文件#xff09; 4、结果展示#xff1a; 1、model.py文件 #xff08;预训练的模型#xff09; impor…目录 1、model.py文件 预训练的模型 2、train.py文件会产生训练好的.th文件 3、predict.py文件预测文件 4、结果展示 1、model.py文件 预训练的模型 import torch.nn as nn import torch.nn.functional as Fclass LeNet(nn.Module):def __init__(self):super(LeNet, self).__init__()# RGB图像 这里用了16个卷积核卷积核的尺寸为5x5的self.conv1 nn.Conv2d(3, 16, 5) # 输入的是RBG图片所以in_channel为3 out_channels卷积核个数kernel_size:5x5的self.pool1 nn.MaxPool2d(2, 2) # kernal_size:2x2 stride2self.conv2 nn.Conv2d(16, 32, 5) # 这里使用32个卷积核kernal_size5x5self.pool2 nn.MaxPool2d(2, 2)self.fc1 nn.Linear(32*5*5, 120) # 全连接层的输入是一个一维向量所以我们要把输入的特征向量展平。# 将得到的self.poolx(x) 的output(32,5,5)展开 图片上给的全连接层是120self.fc2 nn.Linear(120, 84)self.fc3 nn.Linear(84, 10) # 这里的10是需要根据训练集修改的def forward(self, x): # 正向传播# Pytorch Tensor的通道排序[channel,height,width]卷积后的尺寸大小计算N (W-F2P)/S 1其中默认的padding0 stride:1①输入图片大小WxW②Filter大小 FxF (卷积核大小)③步长S④padding的像素数Px F.relu(self.conv1(x)) # 输入特征图为32x32大小的RGB图片 input(3,32,32) output(16,28,28)x self.pool1(x) # 经过最大下采样会将图片的高度和宽度缩小为原来的一半 output(16,14,14) 池化层只改变特征矩阵的高和宽x F.relu(self.conv2(x)) # output(32, 10, 10) 因为第二个卷积层的卷积核大小是32个这里就是32x self.pool2(x) # 经过最大下采样会将图片的高度和宽度缩小为原来的一半output(32, 5, 5)x x.view(-1, 32*5*5) # x.view() 将其展开成一维向量-1代表第一个维度x F.relu(self.fc1(x))x F.relu(self.fc2(x))x self.fc3(x)return x # 测试下 # import torch # input1 torch.rand([32,3,32,32]) # model LeNet() # print(model) # output model(input1) 2、train.py文件会产生训练好的.th文件 import matplotlib.pyplot as plt import numpy as np import torch.utils.data import torchvision from torch import nn, optim from torchvision import transformsfrom pilipala_pytorch.pytorch_learning.Test1_pytorch_demo.model import LeNet# 1、下载数据集 # 图形预处理 其中transforms.Compose()是用来组合多个图像转换操作的使得这些操作可以顺序地应用于图像。 transform transforms.Compose([transforms.ToTensor(), # 将PIL图像或ndarray转换为torch.Tensor并将像素值的范围从[0,255]缩放到[0.0, 1.0]transforms.Normalize((0.5, 0.5, 0.5),(0.5, 0.5, 0.5))] # 对图像进行标准化标准化通常用于使模型的训练更加稳定。 ) # 50000张训练图片 train_ds torchvision.datasets.CIFAR10(data,trainTrue,transformtransform,downloadFalse) # 10000张测试图片 test_ds torchvision.datasets.CIFAR10(data,trainFalse,transformtransform,downloadFalse) # 2、加载数据集 train_dl torch.utils.data.DataLoader(train_ds, batch_size36, shuffleTrue, num_workers0) # shuffle数据是否是随机提取的一般设置为True test_dl torch.utils.data.DataLoader(test_ds, batch_size10000, shuffleTrue, num_workers0)test_image,test_label next(iter(test_dl)) # 将test_dl 转换为一个可迭代的迭代器通过next()方法获取数据classes (plane,car,bird,cat,deer,dog,frog,horse,ship,truck)标准化处理output (input - 0.5) / 0.5反标准化处理: input output * 0.5 0.5 output / 2 0.5# 测试下展示图片 # def imshow(img): # img img / 2 0.5 # unnormalize 反标准化处理 # npimg img.numpy() # plt.imshow(np.transpose(npimg, (1,2,0))) # plt.show() # # # 打印标签 # print( .join(%5s % classes[labels[j]] for j in range(4))) # imshow(torchvision.utils.make_grid(test_image))# 实例化网络模型 net LeNet() # 定义相关参数 loss_function nn.CrossEntropyLoss() # 定义损失函数 optimizer optim.Adam(net.parameters(), lr0.001) # 定义优化器, 这里使用的是Adam优化器 # 训练过程 for epoch in range(5): # 定义循环将训练集迭代多少轮running_loss 0.0 # 叠加训练过程中的损失for step,data in enumerate(train_dl,start0): # 遍历训练集样本inputs, labels data # 获取图像及其对应的标签optimizer.zero_grad() # 将历史梯度清零;如果不清除历史梯度就会对计算的历史梯度进行累加outputs net(inputs) # 将输入的图片输入到网络进行正向传播loss loss_function(outputs, labels) # outputs网络预测的值 labels真实标签loss.backward()optimizer.step()running_loss loss.item()if step % 500 499:with torch.no_grad(): # with 是一个上下文管理器outputs net(test_image) # [batch,10]predict_y torch.max(outputs, dim1)[1] # 网络预测最大的那个accuracy (predict_y test_label).sum().item() / test_label.size(0) # 得到的是tensor (predict_y test_label).sum() 要通过item()拿到数值print([%d, %5d] train_loss: %.3f test_accuracy:%.3f % (epoch 1, step 1, running_loss / 500, accuracy))running_loss 0.0 print(Finished Training)save_path ./Lenet.pth # 保存模型 torch.save(net.state_dict(), save_path) # net.state_dict() 模型字典save_path 模型路径 3、predict.py文件预测文件 import torch import torchvision.transforms as transforms from PIL import Image from model import LeNettransform transforms.Compose([transforms.Resize((32, 32)),transforms.ToTensor(),transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])classes (plane, car, bird, cat, deer, dog, frog, horse, ship , truck)net LeNet() net.load_state_dict(torch.load(Lenet.pth)) # 加载train里面的训练好 产生的模型。im Image.open(2.jpg) # 载入准备好的图片 im transform(im) # 如果要将图片放入网络进行正向传播就得转换下格式 得到的结果为[C,H,W] im torch.unsqueeze(im, dim0) # 增加一个维度得到 [N,C,H,W]从而模拟一个批量大小为1的输入。with torch.no_grad(): # 不需要计算损失梯度outputs net(im)predict torch.max(outputs, dim1)[1].data.numpy() # outputs是一个张量torch.max()用于找到张量在指定维度上的最大值# torch.max()函数返回两个张量一个包含最大值另一个包含最大值的作用。# .data()属性用于从变量中提取底层的张量数据。直接使用.data()已经被认为是不安全的推荐使用.detach()# .numpy() 表示将pytorch转换成numpy数组从而使用numpy库的各种功能来操作数据。 print(classes[int(predict)])# predict torch.softmax(outputs,dim1) # 可以返回概率 # print(predict)4、结果展示 返回结果预测是猫的概率为 86%。
http://www.pierceye.com/news/476505/

相关文章:

  • 网站建设与网页设计难学吗做彩票的网站
  • 请问怎么做网站郑州小程序开发制作
  • 城乡建设网站职业查询系统小公司根本办不了icp许可证
  • 网站架构搭建搭建网站是什么专业
  • 互助网站建设电脑做网站端口映射
  • 电力行业做的好的招投标网站wordpress 自定义注册表单
  • 网站开发采集工具网站设计计划书的要求
  • 技术支持:佛山网站建设珠海网站制作服务
  • 公司网站建设方案ppt网站下载织梦模板
  • 免费创建虚拟网站漳州鼎信
  • 武义县网站建设公司上海seo外包
  • 免费html网站模板下载怎么做网站外链接
  • 南昌网站建设公司收费桂林做网站的公司有哪些
  • 南京网站建设方案智能管理系统
  • 黄埔网站建设价格资源网站推广
  • 桦南县建设局网站动漫制作技术和动漫设计
  • 在农村开个网站要多少钱网站客户运营
  • 免费做文字图网站企业所得税计算方式
  • 做网站要有策划么设计师专用网站
  • 站长之家是什么哈尔滨模板建站服务商
  • 自己做网站需要备案么关键词seo资源
  • 用tornado做网站网站建设素材库
  • dedecms织梦古典艺术书画书法公司企业网站源码模板wordpress 优酷插件
  • 深圳购物网站建设301跳转wordpress
  • 如何做自己的加盟网站开发高端客户
  • 沈阳网站建设哪里好wordpress模块管理系统
  • 跨境外贸平台有哪些天津百度快速排名优化
  • 网站建设需要了解哪些方面企业的网站建设与设计论文
  • 网站建设市场分析内蒙古企业网站建设
  • 广州 网站建设公司不用代码做网站的软件