首页 > 其他分享 >AI_Pytorch_参数空间

AI_Pytorch_参数空间

时间:2023-07-03 13:58:35浏览次数:42  
标签:导数 AI 梯度 平台 -- Pytorch 参数 eval model

AI算法构成

Dataset Model Train  Infer  Deploy

 解耦:
   模型训练过程中保存的模型文件是包含前向预测和反向传播的过程,
   在实际的工业部署则不需要反向传播,因此需要将模型进行导成部署需要的模型格式
   配置化: 配置都会包含三个主要内容:数据配置、网络模型、训练策略
 
Model :
 神经网络算法时需要设置两种网络模式: .train( )模式和.eval( )模式

Train  
 01.model.train()和model.eval()对应的功能
 
 fine-tuning,即训练好的模型继续调优,只是在已有的模型做小的改动,本质上仍然是训练(Training)的过程
 
   eval()时,pytorch会自动把BN和DropOut固定住,不会取平均,而是用训练好的值
     dropout和BN层(以dropout为例)。这项技术在训练中随机去除神经元
	 model.eval()是保证BN层直接利用之前训练阶段得到的均值和方差,即测试过程中要保证BN层的均值和方差不变;
	 对于Dropout,model.eval()是利用到了所有网络连接,即不进行随机舍弃神经元。
	 
	 在eval模式下不会进行反向传播
	 with torch.no_grad()则主要是用于停止autograd模块的工作,以起到加速和节省显存的作用
	 eval模式不会影响各层的gradient计算行为,即gradient计算和存储与training模式一样,只是不进行反向传播(back probagation)
 
  02.model.train()和model.eval()对应的源代码
Infer 
  推断(Inference)的网络权值已经固定下来,无后向传播过程,

参数空间

异同:
   经典概率分布(例如泊松分布、高斯分布等)
   
   线性回顾
     一个参数--》 两个参数--参数的取值  一元线性回归模型中参数估计的最小二乘法
      以自变量为横轴,以损失函数的取值为纵轴
   神经网络
      以训练的epoch为横轴,以损失函数的取值为纵轴	
参数空间 parameter space 
    全微分 (The Total Differential)
    偏微分中的链式法则 (Chain Rule)	偏导数用于评估每个变量相对于其他变量作为常量时的变化情况
	    偏导数是针对多变量函数而言的,它通过将多变量函数退化成一元函数分别求各自的导数
		偏导数是函数沿着某个坐标轴方向的导数,任一方向呢
		  意方向的方向导数为偏导数的线性组合,系数为该方向的单位向量。当该方向与坐标轴正方向一致时,方向导数即偏导数。
       方向导数 (Directional Derivatives)	
	梯度 (Gradient),或grad
	   ϕ为∇f(a,b)与u向量的夹角,显然夹角为0时,方向导数最大,最大值为梯度的模。
	   当ϕ=π即u与梯度∇f(a,b)反向时,方向导数取得最小值,最小值为梯度模的相反数
    梯度的模是最大方向导数的值 垂直于这个向量的方向梯度	
       梯度指的就是各个偏导数构成的向量,写作∇f,二元时为(∂z/∂x,∂z/∂y),多元时为(∂z/∂x,∂z/∂y,…)		   
    给定函数 f 的梯度(通常用∇f表示)可以解释为一个向量所有偏导数的集合。 
	 场可以分为三种:数量场,比如温度场,密度场;向量场,比如重力场,速度场;张量场:应力场,变形速率场。
	 梯度 散度(divergence) 旋度 
	 
	 
  autograd 自动求梯度来实现
    模型定义--损失函数-损失函数优化 J(θ) --学习率 
      eg: 似然函数最大化来求解我们需要的模型系数θ	
    链式法则可以把最后一层的误差一层一层的输出到中间层的权值上去,从而得到中间层的梯度信息,由梯度信息可以很好地更新权值,从而达到最优化的效果。
       dy/dx = dy/du * du/dx,借助中间变量求得导数		

功能

工具链-平台-系统-生态
   打通数据链/工具链
对应的平台
	Dataset: 数据采集平台 数据标注平台 数据管理平台 (数据采集-数据传输-数据存储-数据管理-数据预处理-数据送标-数据验收-数据交付)
	          标注平台: 标注工具-标注需求-标注文档 --标注团队 标注商务--闭环数据系统  数据质量管理
			  模型差异筛选   数据粒度管理 数据内容检索
	model :  开发平台、代码管理平台、
	train:   算法训练平台-数据评测-算力管理 --迭代 框架支持
	infer:   测试平台 仿真平台 场景库 
	deploy:  算法库 模型库 版本管理 异构硬件 部署平台 
	service: 运营-监管 -合规-数据交换-算法升级 -车辆日志 功能 性能  安全  高可靠性  车队管理平台
	
对应组件:
  端:边缘端 车端 路端  
  管:通信 网联设备
  云:端

时空

同一时间和同一空间,能量和物质的相遇      	  
###时间同步
    主动干扰 被动干扰
	空间干扰--太阳风暴 
	  半遮蔽--建筑物
	  全遮蔽--地下停车场-隧道
	时间同步一位置改写  --时间跳变  
    控制延迟 应对不同场景的方案选择 数据-管理-外部时间源 系统时钟--外部时间源   
###传感器的时间
     全面曝光
     行曝光--
       Triger相同时间--即使同步触发,时间也会出现差异
       曝光时长和增益设置--应对外部光照条件不同和变化的应对方式

BusyBox

BusyBox 将许多具有共性的小版本的UNIX工具结合到一个单一的可执行文件
 工具nc来实现将证据外传至服务器	
    通过file命令查看程序基本信息,发现该程序未被stripped
	ioctl函数 ioctl(input/output control)是一个专用于设备输入输出操作的系统调用,该调用传入一个跟设备有关的请求码,系统调用的功能完全取决于请求码
攻击链路 攻击手法和植入的样本
 BusyBox是GNU Coreutils的优秀替代品,尤其是当操作系统的小尺寸很重要的时候
BusyBox 被称为瑞士军刀工具,它是 GNU shellutils、fileutils 和 coreutils 中 shell 实用程序的简单替代
   ArchLinux / Fedora /RHEL / CentOS / Rocky / AlmaLinux 系统
     01.首先下载 BusyBox 64 位二进制文件 
	 02.重命名并chmod 命令为其分配执行权限	
     03. BusyBox shell 中,需要在命令前加上 busybox 关键字,语法如下:
        $ busybox command	
     eg:busybox --list | wc -l

参考

 https://busybox.net/downloads/	

标签:导数,AI,梯度,平台,--,Pytorch,参数,eval,model
From: https://www.cnblogs.com/ytwang/p/17522529.html

相关文章

  • Window.Open参数、返回值
    写在前面的例子________________________________如何让window.open的时候自动最大化,就像点击了最大化按钮一样?试试这些方法吧。1.window.open('','','fullscreen') 2.window.open('example_url.htm','example','fullscreen');//orlikethisvarn......
  • Spike timing reshapes robustness against attacks in spiking neural networks
    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!同大组工作......
  • CAN--CAN例程中的参数解释
    typedefstruct{ uint16_t CAN_Prescaler; /*配置CAN外设的时钟分频,可设置为1-1024*/ uint8_t CAN_Mode; /*配置CAN的工作模式,回环或正常模式*/ uint8_t CAN_SJW; /*配置SJW极限值 */ uint8_t CAN_BS1; /*配置BS1段长度*/ uint8_t CAN_BS2; /*配置BS2段长......
  • 行行AI人才直播第6期:当AIGC时代降临,当代青年如何把握新时代机遇
    AIGC时代的到来,给我们带来了无限的想象空间和创造力。AIGC不仅可以提高内容生产的效率和质量,还可以创造出人类无法想象的新颖和有价值的内容,为数字文化产业、产业互联网、社会价值等领域带来变革性的影响。那么,作为个人,我们如何迎接AIGC时代呢?因此,行行AI人才特邀巴比特&无界AI首......
  • python一题多解:编写函数 change(str1) ,其功能是对参数 str1 进行大小写转换
    #习题6,3.编程题,p95#(2)编写函数change(str1),其功能是对参数str1进行大小写转换,#将大写字母转换成小写字母;#小写字母转换成大写字母;#非英文字符不转换。#类似p54,4.编程题(1),用分支语句实现。defchange1(str1):ret=""foriinrange(len(s......
  • react-native项目启动报错 Error: `fsevents` unavailable (this watcher can only be
    react-native项目启动报错——watchman安装问题(macpro) LookingforJSfilesin/Users/你的名称/Documents/project/文件夹名Loadingdependencygraph.../Users/你的名称/Documents/project/文件夹名/node_modules/metro/node_modules/sane/src/fsevents_watcher.js:37......
  • Databend v1.2 版本发布!Data + AI
    各位社区小伙伴们,Databend于2023年6月29日迎来了v1.2.0版本的正式发布!相较于v1.1.0版本,开发者们一共新增了600次commit,涉及3083个文件变更,约17万行代码修改。感谢各位社区伙伴的参与,以及每一个让Databend变得更好的你!在v1.2.0版本中,Databend新增了BIT......
  • Container resources example----马哥教育
    https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ThefollowingPodhastwocontainers.Bothcontainersaredefinedwitharequestfor0.25CPUand64MiB(226 bytes)ofmemory. ......
  • saveOrUpdate failed with new sequence number
    Domainobject:<hibernate-mapping><classname="Trade"table="Trades"><idname="seqNum"column="SEQ_NUM"type="long"><generatorclass="sequence"><par......
  • 除了参数,ref关键字还可以用在什么地方?
    《老生常谈:值类型V.S.引用类型》中花了很大的篇幅介绍ref参数针对值类型和引用类型变量的传递。在C#中,除了方法的ref参数,我们还有很多使用ref关键字传递引用/地址的场景,本篇文章作一个简单的总结。一、参数二、数组索引三、方法四、ref结构体五、ref结构体字段一、参数如......