- 博客(46)
- 收藏
- 关注
原创 tensorflow QAT
感知量化训练(Quantization-aware Training,QAT)亦是一种量化手段,其原理与上一小节所介绍的量化方式雷同,目的也是以降低精度的方式,缩小模块所需计算的数据量,来提升模块运算速度,且保持一定准确度的一种优化手段。若欲理解更多进阶用法,可以参考官方示例以及查看可量化的构架层(请搜寻Default8BitQuantizeRegistry的字眼,查阅所描述的构架层),同理,若欲尝试量化没有支持的构架层,可以透过QuantizeConfig方式进行量化,可以参考Medium网志的解说!
2023-09-06 18:05:18 851
原创 transformer 笔记
ques:Transformer为什么需要进行Multi-head Attention?原论文中说到进行Multi-head Attention的原因是将模型分为多个头,形成多个子空间,可以让模型去关注不同方面的信息,最后再将各个方面的信息综合起来。其实直观上也可以想到,如果自己设计这样的一个模型,必然也不会只做一次attention,多次attention综合的结果至少能够起到增强模型的作用,也可以类比CNN中同时使用多个卷积核的作用,直观上讲,多头的注意力有助于网络捕捉到更丰富的特征/信息。
2023-07-23 15:21:11 981
原创 AttributeError: module ‘cv2‘ has no attribute ‘xfeatures2d‘解决
AttributeError: module ‘cv2‘ has no attribute ‘xfeatures2d
2023-01-12 16:39:24 547
原创 解决ValueError: Object arrays cannot be loaded when allow_pickle=False
解决ValueError: Object arrays cannot be loaded when allow_pickle=False
2022-08-07 15:32:02 582
原创 解决No module named ‘Keras.utils.visualize‘
解决No module named ‘Keras.utils.visualize‘
2022-07-27 19:41:22 1520
原创 解决minicom串口被锁Device /dev/ttyS? is locked
解决minicom串口被锁Device /dev/ttyS? is locked
2022-07-10 15:31:12 2604
原创 解决vscode debug时launch.json内为空
debug后自动生成此界面,需自行填充configurations的内容操作:将光标移到configurations的"[]"内,选择添加配置键add configuration如果只是想实现单个文件的调试,只需选择gdb启动。之后需要对其中的内容进行修改光标置于蓝色项上会有对应的提示,根据提示修改自己的内容:program需要输入将要进行调试程序的名称,并删除引号内的中文。miDebuggePath需要选择电脑里gdb的路径,一般保存在MinGW的bin文件夹里。待更新......
2022-07-07 19:36:08 2016 1
原创 Ubuntu使用ROOT账户
1.创建root 用户:输入两次密码2.统一环境变量将当前管理员用户设置在 “/etc/profile"和”.bashrc" 里的用户自定义环境变量,复制到 root用户的.bashrc里。当前用户的".bashrc"文件在:/home/用户/.bashrcroot用户的".bashrc"文件在:/root/.bashrc3.切换到ROOT用户4.切回普通用户方法1方法2方法3ctrl+d退出方法4关闭终端重开.........
2022-07-06 20:12:45 3505
原创 解决wandb.errors.error.UsageError: api_key not configured (no-tty). Run wandb login
解决wandb.errors.error.UsageError: api_key not configured (no-tty). Run wandb login
2022-06-29 16:20:59 3922 1
原创 四大内存分区
内存分为四个区域:堆、栈、全局/静态存储区、只读区(常量区和代码区)。1、栈由系统进行内存的管理。主要存放函数的参数以及局部变量。在函数完成执行,系统自行释放栈区内存,不需要用户管理。整个程序的栈区的大小可以在编译器中由用户自行设定,VS中默认的栈区大小为1M,可通过VS手动更改栈的大小。特点:读取速度快,存储和释放的思路是按照数据结构中的栈进行的,存数据就是压栈,释放就是弹栈。空间小,基本类型的数据占用空间的大小不会随着值的改变而改变,而且占用空间小。2、堆由编程人员手动申请,手动释放,若不手动释
2022-06-24 16:19:27 4815
原创 C++强制类型转换
新类型的强制转换可以提供更好的控制强制转换过程,允许控制各种不同种类的强制转换。C++中风格是static_cast(content),好处之一是它们能更清晰的表明它们要干什么。1、static_cast用法:static_cast (变量或表达式)它主要有如下几种用法:(1)用于类层次结构中基类和派生类之间指针或引用的转换进行上行转换(把派生类的指针或引用转换成基类表示)是安全的进行下行转换(把基类的指针或引用转换为派生类表示),由于没有动态类型检查,所以是不安全的(2)用于基本数...
2022-06-23 10:46:57 923
原创 深度学习模型压缩#1-剪枝
深度学习模型压缩模型压缩是指在可接受的精度下尽可能的减少模型计算量和参数。模型压缩有剪枝、量化、知识蒸馏等方法。剪枝网络剪枝是模型压缩使用较为普遍的一种方法。主要通过减少网络参数、降低结构复杂度来增强网络泛化性能和避免过拟合,以此得到更轻量、高效的应用模型。按剪枝细粒度可将剪枝分为卷积核剪枝、单个权重剪枝、隐藏层剪枝等方法。虽然剪枝方法很多,但思想也大同小异,每种剪枝方法都会面对怎样判断冗余参数的问题,缺乏明确的准则,更多的是通过不断重复试验来确定。在训练的过程中,逐步将权重较小的参数置为0,然后把
2022-05-27 15:48:40 664
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人