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

60、resnet50 权值和参数加载

上一节我们将 resnet50 中需要下载的权值,以及每层卷积的参数,都下载并且保存到了 仓库 resnet50_weight 目录,在仓库的这个连接。

在将权值保存好之后,接下来就是要看如何使用这些权值,也就是如何加载。本节就介绍下我们实战过程中,如何加载这些权值。

加载权值

加载权值的目的,是为了使网络运行到某一层时,可以方便的将权值与输入特征图直接进行计算,比如卷积输入的特征图和本层的权值直接进行卷积运算。

在实际网络部署时,也是类似的流程。下面简单介绍下部署过程中,权值加载的流程。

假设我们在 GPU 或者其他硬件平台上部署网络,通常的做法便是将网络中所有的权值加载到内存中,在 GPU 上对应为加载到显存中,也就是 GPU 的 DDR 上。

一般GPU 的 DDR 有几 GB 甚至十几 GB 的容量,对于大部分的神经网络而言,是可以依次将全部权值加载到显存上的。

在实际运行神经网络时,假设使用 GPU 运行到某一层卷积时,对应执行卷积的指令会从 DDR 上将权值进一步加载到更靠近计算部件的“内存”上,一般为 Shared Memory,或者 GPU 的片上内存。这是因为 GPU 的存储器是分层级的。

在我们这个实战中,没有 GPU 这么复杂的架构设计,我们全部在 CPU 上执行,因此我们默认只有一个内存用于权值加载,也就是我们电脑主机的内存。

其实不同的硬件架构内存划分也是不一样的&#x

http://www.lryc.cn/news/275430.html

相关文章:

  • wordpress在界面将站点地址直接修改为https导致上不去问题的解决办法
  • 数字IC后端实现之快速获取innovus中drv violation的所有net list
  • 【开源】基于JAVA语言的智能教学资源库系统
  • 数据库定义和操作语句的重要语法
  • 计算机组成原理 CPU的功能和基本结构和指令执行过程
  • 批量归一化:彻底改变深度学习架构
  • Spring05
  • MvvmToolkit的使用
  • 分布式【一致性Hash算法简介】
  • PHP命令行脚本接收传入参数的三种方式
  • 【STM32】STM32学习笔记-ADC单通道 ADC多通道(22)
  • 1329:【例8.2】细胞 广度优先搜索
  • 9款免费网络钓鱼模拟器详解
  • linux cpu、memory 、io、网络、文件系统多种类型负荷模拟调测方法工具
  • 1018:奇数偶数和1028:I love 闰年!和1029:三角形判定
  • 数据密集型应用系统设计--第2章 数据模型与查询语言
  • yolo 分割label格式标注信息图片显示可视化查看
  • 霍兰德职业兴趣测试 60题(免费版)
  • MySQL之视图内连接、外连接、子查询
  • 以报时机器人为例详细介绍tracker_store和event_broker
  • 理解JavaScript事件循环机制
  • 自定义View之重写onMeasure
  • 专为Mac用户设计的思维导图软件MindNode 2023 for Mac助您激发创意!
  • Linux命令——用户和权限相关
  • linux反汇编工具: ida pro、rizinorg/cutter; ubuntu 22 flameshot延迟截图 以应对下拉菜单
  • 【INTEL(ALTERA)】使用NiosV/m 处理器,niosv-download 为什么会失败?
  • 【无线通信专题】NFC通信模式及可能的应用方式
  • pyinstaller生成的exe文件启动时间漫长的原因
  • C语言基本语句介绍
  • 【QT】QString类型中,Empty和NULL有什么区别在qt里,对比C#