自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (8)
  • 收藏
  • 关注

原创 基于C++的BNN推理

BNN的训练由pytorch完成,权重和激活均被量化为-1和1,padding时补-1,为了能在硬件上进行部署,推理时作了如下变换:-1由0代替,1由1代替,乘法由同或运算代替,为了使乘累加的和不变(之前-1x-1=1,1x1=1,1x-1=-1,但是现在1 xnor 1=1,0 xnor 0=1,1 xnor 0=0),需要对最后卷积的结果进行修改:conv_out=2∗xnor_conv(x,w)−ch_in∗k∗k+biasconv\_out=2*xnor\_conv(x,w)-ch\_in*k*

2021-02-22 15:34:21 755 1

原创 pytorch实现DenseNet

Dense详解链接代码:DenseNet.pyimport torchimport torch.nn as nnfrom collections import OrderedDictclass _DenseLayer(nn.Sequential): def __init__(self, in_channels, growth_rate, bn_size): super(_DenseLayer, self).__init__() self.add_mod

2021-02-21 17:42:13 392

原创 pytorch实现GoogleNet

GoogleNet的inception模块如图所示:代码:import torchimport torch.nn as nnfrom torch.nn import functional as Fdef conv_relu(in_channel, out_channel, kernel, stride=1, padding=0): layer = nn.Sequential( nn.Conv2d(in_channel, out_channel, kernel, str

2021-02-20 00:39:48 264

原创 pytorch实现ResNet50

ResNet50的结构如下:主干部分可分为4个stage,这4个stage主要由以下两个stem构成:如上图所示,这两个stem分别叫做残差块和下采样块。而Input stem的结构如下图所示:下面是具体的代码:import torchimport torch.nn as nnfrom torch.nn import functional as Fclass ResNet50BasicBlock(nn.Module): def __init__(self, in_channe

2021-02-19 19:01:02 3611 5

原创 基于c++的int8量化推理

训练代码:from __future__ import absolute_importfrom __future__ import divisionfrom __future__ import print_functionimport torchimport torch.nn as nnimport torch.nn.functional as Ffrom torch.nn import initfrom torch.nn.parameter import Parameterfrom t

2021-02-18 11:43:25 1096 3

原创 卷积运算的im2col实现

#include <stdio.h>#include <windows.h>#include<iostream>using namespace std;typedef double dtype;void kernel_reshape(dtype* weight_in,dtype* weight_out,int K,int C,int N) //N*K*K*C->(K*K*C)*N{ for(int i=0;i<N;i++)

2021-02-10 23:40:51 756

原创 基于FPGA的脉动阵列(Output Stationary)

单个PE的代码`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date: 2021/02/10 19:09:28// Design Name: // Module Name: systolic_pe// Project Name: // Target Devi

2021-02-10 21:06:00 1138 2

原创 基于FPGA的TPU脉动阵列

模块代码:`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date: 2021/02/05 19:33:34// Design Name: // Module Name: systolic// Project Name: // Target Devices:

2021-02-06 11:53:15 780

原创 基于FPGA的脉动阵列矩阵乘法

部分信号的时序图:模块代码:`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date: 2021/02/04 10:29:57// Design Name: // Module Name: systolic// Project Name: // Targe

2021-02-05 00:49:59 2020 4

原创 笔记本核心数变少的解决方法

最近发现我的笔记本由双核四线程变成了单核双线程,查看任务管理器核心数为1,逻辑处理器为2,查看设备管理器,发现4个逻辑处理器均正常,查看BIOS,也发现核心数为2,也就是说,硬件上没有任何问题,最终通过如下方法解决:1.win+r,并输入msconfig2.取消"处理器个数(N):"的勾,确定并重启3.重启后打开任务管理器,发现电脑回复正常:双核四线程...

2021-02-01 13:17:12 5183

基于HLS的全流水FFT代码

1. 支持4,8,16点FFT运算 2. 采用蝶形运算单元,以全流水的方式运行 3. 基于Xilinx HLS语言开发

2023-02-09

纯c++实现对bmp图片的sobel边缘检测

纯c++实现对bmp图片的sobel边缘检测

2022-12-02

FIR滤波器的Verilog实现

FIR滤波器的Verilog实现

2022-07-13

基于FPGA的HLS CNN加速器

一个HLS设计的卷积神经网络加速器,并在zynq7020开发板上部署成功。数据集采用的是MNIST手写体,加速的网络为一个拥有4层卷积,2层池化和1层全连接层的自定义小网络,适合初学者学习。

2022-03-26

Win7 上安装 synopsys 工具

用于安装FPGA开发的Synplify,其综合速度优于vivado和quartus自带的综合器,可以大大加速FPGA开发速度

2021-02-05

pingpang_block_mm.rar

基于system verilog的矩阵乘法代码 ,进行了分块计算,并且对块矩阵的载入和写回进行了乒乓操作,大大掩盖了数据传输时间,且代码中的乒乓操作写法具有通用性,可供借鉴。

2020-11-18

动态分支预测MIPS.rar

用verilog实现的五级流水线CPU,通过旁路技术解决了数据冒险,通过BTB动态分支预测来解决控制冒险

2020-09-13

tt.py,一个轻量级卷积神经网络,基于numpy

本程序基于numpy,自己动手实现了一个简单的卷积神经网络,共两个卷积层,两个池化层以及两个全连接层,并达到了97%的准确率

2020-03-17

i2c_eeprom.rar

在fpga平台上用verilog通过iic总线实现对eeprom的读写

2019-11-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除