栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

《Pytorch模型推理及多任务通用范式》

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

《Pytorch模型推理及多任务通用范式》

1 课程学习

本节课主要对于大白AI课程https://mp.weixin.qq.com/s/STbdSoI7xLeHrNyLlw9GOg

《Pytorch模型推理及范式》课程中第二节课进行学习

2 作业解答 必做题
  1. 从torchvision中加载resnet18模型结构,并载入预训练好的模型权重 ‘resnet18-5c106cde.pth’ (在物料包的weights文件夹中)。

    import torchvision
    
    resnet18 = torchvision.models.resnet18()
    pretrained_state_dict = torch.load("D:CodespacePythonmodel_analysislesson2weights\resnet18-5c106cde.pth")
    resnet18.load_state_dict(pretrained_state_dict, strict=True)
    
  2. 将(1)中加载好权重的resnet18模型,保存成onnx文件。
    onnx文件大小44.5 MB

  3. 以torch.rand([1,3,224,224]).type(torch.float32)作为输入,求resnet18的模型计算量和参数量。

    Model: 1.82 GFLOPs and 11.69M parameters

  4. 以torch.rand([1,3,448,448]).type(torch.float32)作为输入,求resnet18的模型计算量和参数量。

    Model: 7.27 GFLOPs and 11.69M parameter

思考题
  1. 比较必做题中的(3)和(4)的结果,有什么规律?

    参数量相同,因为输入输入并不影响模型本来的参数数量

    计算量(3)是(4)的四分之一,因为后者输入像素值是前者的四倍

  2. 尝试用netron可视化resnet18的onnx文件

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6X9Uwd1E-1634280547384)(C:Users1AppDataRoamingTyporatypora-user-imagesimage-20211015141953357.png)]

  3. model作为torch.nn.Module的子类,除了用 model.state_dict()查看网络层外,还可以用model.named_parameters()和model.parameters()。它们三儿有啥不同?

    parameters仅返回模型参数但named_parameters除参数外还会返回每层的名字,model_state_dict会以字典的形式返回整个网络j结构。

  4. 加载模型权重时用的model.load_state_dict(字典, strict=True),里面的strict参数什么情况下要赋值False?

    当导入的模型参数量与调用该函数的模型参数量不匹配时,也能使其运行,如果strict为True,则必须保证二者模型结构一致

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/326174.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号