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

做婚纱摄影网站价格自己如何建立网站

做婚纱摄影网站价格,自己如何建立网站,wp大学wordpress建站流程,美女做游戏广告视频网站有哪些教程:现有网络模型的使用及修改_哔哩哔哩_bilibili 官方网址:https://pytorch.org/vision/stable/models.html#classification 初识网络模型 pytorch为我们提供了许多已经构造好的网络模型,我们只要将它们加载进来,就可以直接使…

 教程:现有网络模型的使用及修改_哔哩哔哩_bilibili

官方网址:https://pytorch.org/vision/stable/models.html#classification

 初识网络模型

pytorch为我们提供了许多已经构造好的网络模型,我们只要将它们加载进来,就可以直接使用。以torchvision为例,关于神经网络处理图像的模型就分为好几个大类:如图像分类、目标检测、语义分割等等。如图所示:

 视频中的讲解以VGG模型为例,来向我们展示了网络模型的使用。

因为这个教学视频也已经是两三年前了的,现在和之前略微有所区别。在这里,简单做一个说明:比如说模型加载过程中参数的改变:

如今的模型中不再有pretrained参数,也就是如果大家需要下载模型的权重文件,需要自己手动下载。务必注意,写了会报错哦。 

权重文件的下载

 视频中有讲到模型的下载也是不大不小的,如果不进行设置,一般会默认下载在c盘,想要进行设置的话,可以在网上搜索有关代码:Pytorch预训练模型下载并加载(以VGG为例)自定义路径_怎么更改vgg下载路径-CSDN博客

但以上这位同学的方法我使用时出错,提示我没有这个属性:

model_zoo._download_url_to_file(url, os.path.join(dst_path, filename), hash_prefix, True)
AttributeError: module 'torch.utils.model_zoo' has no attribute '_download_url_to_file'

所以我略加修改,以下是我的处理下载过程,同样出错的同学可以看看:

from urllib.parse import urlparse
import torch
# import re
import os
def download_model(url, dst_path):parts = urlparse(url)filename = os.path.basename(parts.path)# HASH_REGEX = re.compile(r'-([a-f0-9]*)\.')# hash_prefix = HASH_REGEX.search(filename).group(1)torch.hub.download_url_to_file(url, os.path.join(dst_path, filename))return filenamepath = "D:\\vscodeProjects\\models"
if not (os.path.exists(path)):os.makedirs(path)
url='https://download.pytorch.org/models/vgg16-397923af.pth'
download_model(url, path)

 只是这个下载的速度着实太慢,我先放弃了:

 关于这个权重文件的下载我犯了一点小迷糊。我有点搞不懂为什么费劲巴拉下载这么大个东西然后视频中又仅仅使用vgg16=torchvision.models.vgg16()这一句话就完事了。

于是我搜索了一下:

  • 在 PyTorch 中,许多流行的深度学习模型(如 VGG、ResNet、AlexNet 等)都有预先训练好的权重文件可供下载。这些权重文件包含了模型在大规模数据集(如 ImageNet)上训练的参数,可以帮助加快模型的收敛速度,提升模型的表现。下载预训练模型通常是为了避免从头开始训练模型,节省时间和计算资源。
  • torchvision.models 是 PyTorch 提供的一个模块,用于加载常见的计算机视觉模型,例如 VGG、ResNet、AlexNet 等。这些模型可以通过简单的调用来导入,并且可以选择加载预训练的权重。

 简而言之,权重文件可以简化我们模型的训练过程,我们可以通过使用权重文件来直接利用前辈的训练结果,稍作修改就可以变成我们自己的东西。

如果只是用vgg16=torchvision.models.vgg16()这么一句话来加载网络模型,得到的模型只有结构而没有经过训练的过程,因此它的权重是初始的。

网络模型的修改

因为官网中提到的VGG模型的官配数据集ImageNet实在是太大了(100+个G),笔记本实在带不了,所以还是使用我们之前已经用了很多次的数据集CIFAR10来搞,正好可以讲解一下怎样修改网络模型。

原官配数据集非常之大(对我一个初学者来说,是暂时见过最大的数据集了),最终一共分为1000个类。因此这个VGG模型最终输出为1000,为了适配于我们这个CIFAR10数据集(输出只有10类),我们为加载下来的VGG模型添加一个线性层,将原本的1000个类最终输出为10类。

from torch import nn
import torchvision
vgg16=torchvision.models.vgg16()
train_data=torchvision.datasets.CIFAR10("../dataset",train=True,transform=torchvision.transforms.ToTensor())
vgg16.add_module('add_linear',nn.Linear(1000,10))

print(vgg16)可以看到,最下面就是我们新添加的层:

 如果我们想添加在classifier这个模型中,我们也可以这样写:

vgg16.classifier.add_module('add_linear',nn.Linear(1000,10))

同样打印一下看效果:

 当然如果我们不想添加新的一层,我们也可以通过另外的一种方式来将输出从1000改为10:

如上图所示,已知最后一层是线性层,输入4096,输出1000,那么我们现在直接将最后一个线性层修改,输出改成10:

vgg16.classifier[6]=nn.Linear(in_features=4096,out_features=10,bias=True)

看结果:

模型的保存和加载

如果我们对网络模型进行了修改或者训练,如何将我们自己的模型保存下来呢?一共有以下两种方式:

vgg16=torchvision.models.vgg16()
vgg16.classifier[6]=nn.Linear(in_features=4096,out_features=10,bias=True)
#保存方式一:保存权重文件和模型结构
torch.save(vgg16,"vgg16_method1.pth")
#保存方式二(官方推荐),实际上保存的是权重文件,以字典方式存储:
torch.save(vgg16.state_dict(),"vgg16_method2.pth")

而如果我们想要取出我们已经保存的模型,就可以:

#方式一加载保存的模型
vgg16_method1=torch.load("vgg16_method1.pth")
#方式二加载保存的权重文件
vgg16_method2=torch.load("vgg16_method2.pth")
vgg16=torchvision.models.vgg16()
vgg16.load_state_dict(vgg16_method2)

http://www.dinnco.com/news/4374.html

相关文章:

  • 打工网站校企合作建设惠州seo管理
  • 武汉自适应网站建设免费建设个人网站
  • 人民法院公告网怎么查询被起诉2020 惠州seo服务
  • wordpress 修改栏目网络seo软件
  • 中国五大网站建设公司竞价托管推广
  • wordpress取第一张图片网络推广优化工具
  • 邹平网站建设优化公司百度海南分公司
  • 万网买的网站备案网站制作流程是什么
  • 店招搜索栏在那个网站上可以做whois查询 站长工具
  • 中企做的网站太原seo优化名词解释
  • 如何解析后用二级域名做网站2024年重启核酸
  • wordpress 教程3天网站seo优化成为超级品牌
  • 云浮市做网站的公司免费刷seo
  • 建立运营官方网站百度竞价排名利弊
  • 网站的宗旨哪有学电脑培训班
  • 怎么更改网站首页图片尺寸人工智能培训课程
  • 深圳网站建设好不好制作自己的网站
  • p2p网站开发思路方案衡阳seo
  • 把网站做二维码设计公司排名前十强
  • 韩国和乌拉圭谁出线优化设计卷子答案
  • 做婚恋网站要多少钱中国域名注册局官网
  • 网站业务员好做吗seo优化对网店的推广的作用为
  • 营销型网站建设网站建设营销电商网络推广是什么
  • 手机网站 用户体验软文营销步骤
  • 网站建设公司建设重庆高端seo
  • 网站特效模板下载优化设计四年级上册语文答案
  • 公司网站建设完成通知优化软件seo排名
  • 合肥本地网站关键词优化的技巧
  • 顺企网宁波网站建设360投放广告怎么收费
  • 南阳网站开发公司百度关键词优化排名