首页
学习
活动
专区
工具
TVP
发布

文武兼修ing——机器学习与IC设计

专栏作者
109
文章
163672
阅读量
50
订阅数
public_markdown博客图片自动上传
为了实现博客的多平台(简书、掘金、知乎等)自动化发布,需要将本地的markdown中的图片自动转为图床链接,尽管已经有PicGO这种神器,但是自动调用PicGo上传图床有以下两个问题
月见樽
2021-12-10
4370
数字IC基础知识总结(笔试、面试向)-持续更新
BCD码为使用4个bit表示一个十进制位数,即123的BCD码为0x123,余3码表示BCD码基础上加3(十进制),例子如下,对于26而言:
月见樽
2020-05-26
2K0
高级综合工具StratusHLS学习笔记(2)
Stratus允许指定一个主循环(while(1))中的内容为流水线方式实现,即每个时钟周期均可以进入数据执行,需要在主循环开始时添加如下语句指定使用流水线实现:
月见樽
2020-03-26
9760
高级综合工具Stratus学习笔记(1)
本次学习参考Stratus内置的学习例程(simple_p2p),学习内容主要如下所示:
月见樽
2020-03-21
1.4K0
EIE结构与算法映射
EIE(Efficient Inference Engine)的算法基础是一种被称为Deep Compression的神经网络压缩算法。EIE可以说是为Deep Compression量身定制的硬件,Deep Compression的算法流程如下所示:
月见樽
2019-07-23
8300
转置型FIR设计
以一个六阶的FIR为例,并行度为2,串行度为3(每个串行处理单元串行处理3个乘加操作),整体有以下数据流:
月见樽
2019-05-09
7700
SystemC入门笔记
SystemC为C++的一个库,因此C++的特性在SystemC中均可以使用,数据类型同理,除了C++中的数据类型外,SystemC也有一些自己的数据类型,如下所示:
月见樽
2019-01-28
2.4K0
表的应用——排序与描述多项式排序多项式ADTGO语言笔记
排序 朴素排序 在链表建立的过程中可以直接完成排序功能,即建立一个新链表并将源数据一个一个存进新链表中,每个元素存储的位置在小于这个元素的节点和大于这个元素的节点之间 排序部分 func (s *sort_table) append(data int) { node := s.head for (node.next != nil) && (node.next.data.data <= data) { node = node.next } new_data :=
月见樽
2018-04-27
7370
深入理解感知机
1.模型 感知机的模型如下图所示: linear_classifier_structure.png 公式表示如下所示: $$ f(x) = sign(w \cdot x + b) \ sign
月见樽
2018-04-27
6100
调度队列的优先堆实现应用场景模拟应用分析代码实现
应用场景模拟 考虑优先堆的一种应用场景——按优先级的任务调度队列:每个任务有一个优先级和唯一标号,该调度队列需要具有以下功能: 添加任务:将任务添加进调度队列并按优先级置于对应的位置 执行任务:将优先堆中优先级最高的任务取出(并执行) 删除任务:按标号删除队列中的未执行任务 修改任务优先级:修改指定标号任务的优先级 应用分析 数据结构 对于任务,考虑使用类封装,对于一个任务类需要以下特征: 标号:int型,用于区别任务的标号,每个任务有一个且唯一 优先级:int型,每个任务的优先级,该特征越小则优先级越高
月见樽
2018-04-27
7960
CNN的反向传播DNN中的反向传播卷积神经网络中的反向传播
DNN中的反向传播 反向传播算法是神经网络的训练的基本算法组成之一,在训练神经网络时,训练分为两个步骤:计算梯度和更新权值。其中反向传播负责的是梯度的计算,而训练算法的区分主要在更新权值的方式上。对于DNN,基本的反向传播思路为: $$\cfrac{dz}{dw_{i}} = \cfrac{dz}{da_{i+1}} \times \cfrac{da_{i+1}}{dw_{i}}$$ 其中,$\cfrac{dz}{dw_{i}}$为输出(多为代价函数输出)对第i层的权值的梯度,$\cfrac{da_{i+1
月见樽
2018-04-27
1.1K0
CapsNet学习笔记理论学习代码阅读(PyTorch)参考资料
理论学习 胶囊结构 胶囊可以看成一种向量化的神经元。对于单个神经元而言,目前的深度网络中流动的数据均为标量。例如多层感知机的某一个神经元,其输入为若干个标量,输出为一个标量(不考虑批处理);而对于胶囊
月见樽
2018-04-27
1.2K0
开放地址法散列开放地址法代码实现
开放地址法 开放地址法是另一种(相对于分离链接法)解决散列冲突的方法。适用于装填因子(散列表中元素个数和散列表长度比)较小(小于0.5)的散列表。 开放地址法中索引的计算方法为$$h_{i}(x) = (Hash(X) + F(i)) % TableSize$$,其中: Hash(x)为索引的计算方法 F(i)为冲突的解决函数,有F(0) = 0,i为已经尝试计算索引的次数 F(i)一般有: 线性探测法:$$F(i) = i$$,即每次冲突则向下寻找1个位置,直到找到不冲突的位置,容易产生“一次聚集”的现象
月见樽
2018-04-27
1.3K0
基于sklearn的主成分分析理论部分代码实现
理论部分 特征降维 特征降维是无监督学习的一种应用:将n维的数据降维为m维的数据(n>m)。可应用于数据压缩等领域 主成分分析(PCA) 主成分分析是一种常用的特征降维方法,对于m维的数据A,可以降维获得一个n维的数据B(m>n),满足$B = f(A)$且$A \approx g(f(A))$,其中f(x)为编码函数,g(x)为解码函数。 当进行主成分分析时,优化目标为$c = argmin ||x - g(c)||_{2}$,其中c为编码,g(c)为解码函数 代码实现 导入数据集 import nump
月见樽
2018-04-27
8780
基于sklearn的朴素贝叶斯分类器理论内容代码实现处理数据——特征抽取(文字向量化)模型评估
理论内容 贝叶斯定理 贝叶斯定理是描述条件概率关系的定律 $$P(A|B) = \cfrac{P(B|A) * P(A)}{P(B)}$$ 朴素贝叶斯分类器 朴素贝叶斯分类器是一种基于概率的分类器,我们做以下定义: B:具有特征向量B A:属于类别A 有了这个定义,我们解释贝叶斯公式 P(A|B):具有特征向量B样本属于A类别的概率(计算目标) P(B|A):在A类别中B向量出现的概率(训练样本中的数据) P(A):A类出现的概率(训练样本中的频率) P(B):B特征向量出现的概率(训练样本中的频率) 对
月见樽
2018-04-27
9520
基于sklearn的集成分类器理论代码实现
理论 集成模型 集成分类器模型是综合考虑多种机器学习模型的训练结果,做出分类决策的分类器模型 投票式:平行训练多种机器学习模型,每个模型的输出进行投票做出分类决策 顺序式:按顺序搭建多个模型,模型之间存在依赖关系,最终整合模型 随机森林分类器 随机森林分类器是投票式的集成模型,核心思想是训练数个并行的决策树,对所有决策树的输出做投票处理,为了防止所有决策树生长成相同的样子,决策树的特征选取由最大熵增变为随机选取 梯度上升决策树 梯度上升决策树不常用于分类问题(可查找到的资料几乎全在讲回归树),其基本思想是每
月见樽
2018-04-27
1K0
基于sklearn的决策树分类器理论基础代码实现
理论基础 决策树 决策树是一种树形结构的机器学习算法,所有的样本起始于根节点,每个具有子节点的父节点都有一个判断,根据判断结果将样本向子节点分流,测试样本从根节点开始向下流动,通过判断最终到达某个没有子节点的叶子节点,这个节点就是该样本所属的类别。 例如,判断一个动物是鸭子,狗还是兔子,可以具有以下的决策树: 判断是否有四条腿 没有,是鸭子 有,判断眼睛颜色 红色,是兔子 非红色,是狗 决策树训练算法 训练决策树时,可以描述如下 从父节点找到最优划分属性 根据属性划分出子节点 若子节点为空/属性相同(
月见樽
2018-04-27
1.6K0
恢复余数除法器
恢复余数除法器 算法描述 恢复余数除法器是一种常用的除法器,过程与手算除法的方法很类似,过程为 将除数向左位移直到比被除数大 执行被除数减除数操作,得余数,并将商向左移位1位,空位补1 若余数大于0,除数向右移位1位。如余数小于0,余数加当前除数,商最后一位置0,除数向右移位1位 重复到2,只到除数比最初的除数小 RTL代码 RTL代码就是使用了大量的if语句完成了以上的算法描述,其中 为了使移位后的除数确保大于被除数,直接将除数放到一个位宽WIDTH*3的寄存器的前WIDTH位 divisor_move
月见樽
2018-04-27
2.1K0
基于sklearn的K邻近分类器概念代码实现
概念 KNN(K临近)分类器应该算是概率派的机器学习算法中比较简单的。基本的思想为在预测时,计算输入向量到每个训练样本的欧氏距离(几何距离),选取最近的K个训练样本,K个训练样本中出现最多的类别即预测为输入向量的类别(投票) 代码实现 载入数据集——鸢尾花数据集 from sklearn.datasets import load_iris dataset = load_iris() print(dataset.data.shape) print(dataset.DESCR) (150, 4) Iris Pl
月见樽
2018-04-27
6220
算法复杂度分析与最大子串问题算法复杂度分析最大子序列问题
算法复杂度分析 算法复杂度基本定义 算法复杂度分析基于以下四条定义: 如果存在常数c与$n_{0}$使$N \geq n_{0} $时,有$T(N) \leq cf(N)$,则记 $T(N) = O(f(N))$ 如果存在常数c与$n_{0}$使$N \geq n_{0} $时,有$T(N) \geq cf(N)$,则记 $T(N) = \Omega(f(N))$ 当且仅当$T(N) = O(f(N))$且$T(N) = \Omega(f(N))$时,记$T(N) = \Theta(f(N))$ 若$T(N
月见樽
2018-04-27
7800
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档