![Image text](https://gitee.com/inspur-inna/inspur-inna/raw/master/Image/inspur.png)
# 基于FPGA的CNN自适应映射技术——inna1.0
基于FPGA板卡设计深度学习加速器并进行优化,在整体性能和功耗方面拟达到业界领先水平,映射技术采用宏指令的Look-Aside Acceleration框架,实现了一键式快速部署、软硬件协同优化、支持多种卷积、执行过程无需主机干预。本项目为映射技术的软件端,拟实现CNN映射编译器和CNN量化器,首先由TensorFlow产生的模型文件解析产生CNN的计算图模型,CNN映射编译器会根据解析的计算图和现有的CNN加速库单元,选择相应的CNN库单元,生成相应的硬件结构和相应的调度器的配置参数,以达到计算、片上存储、片上带宽和片外带宽的均衡,从而达到最优的计算性能;CNN量化器可根据模型的权重文件,对各层数据进行8位定点量化,以便于FPGA的DSP计算,从而在保证精度的前提下降低存储开销,提高处理速度,降低功耗。
## Install
### inna install
TVM need LLVM,LLVM install in Ubuntu(other system require source code compilation)
```bash
apt search llvm
apt install llvm-6.0
apt install clang-6.0
```
Install miniconda for python=3.6,install_inna.sh include TVM install script(refer to TVM <https://tvm.apache.org/docs/install/from_source.html>)
```bash
conda create -n inna python=3.6 ipykernel -y
conda activate inna
cd inna/tools && ./install_inna.sh
```
## Run
### Compiler
Compiler in TensorFlow or Mxnet or keras or onnx.
```bash
$ python compiler.py
```
### Quantizer
Quantizer in TensorFlow.
```bash
$ python quantize.py
```
### Runtime
Runtime in ours.
```bash
$ python runtime.py
```
没有合适的资源?快使用搜索试试~ 我知道了~
inna1.0是一个基于FPGA的CNN自适应映射技术 .rar
共83个文件
py:26个
jpeg:19个
rst:7个
需积分: 5 1 下载量 180 浏览量
2023-07-05
15:34:11
上传
评论
收藏 366.75MB RAR 举报
温馨提示
神经网络是一种基于大脑神经网络的机器学习模型。一系列节点排列在“层”中,通过操作和权重相互连接。该模型已证明在图像分类任务中取得了成功,这些任务如今具有许多应用,从自动驾驶汽车到面部识别。标准 CNN 可以具有浮点权重和特征图——这些需要大量的内存资源和计算能力来实现必要的乘法器等。 二元神经网络利用二值化特征图和权重,这大大减少了所需的存储和计算资源量,并使在资源受限系统(如 FPGA)上的硬件中合成它们成为可能。我们实现的网络基于使用 Tensorflow 机器学习库在 Python 中实现的软件模型。Python 代码由康奈尔大学博士生 Ritchie Zhao 提供。Verilog 代码在硬件中实现了用于构建软件模型的各个层和功能。该系统旨在对数字进行分类,并使用 MNIST 数据集的一个子集来训练模型,并产生了大约 40% 的测试准确率。这可以通过使用非二值化特征图和实现附加功能(例如批量归一化)来改进。 Verilog 模型用于执行推理任务,但不训练用于计算的权重。相反,使用的权重由 Python 实现生成,并在 Verilog 模型中硬编码。当神经网络用于分类时,
资源推荐
资源详情
资源评论
收起资源包目录
inna1.0是一个基于FPGA的CNN自适应映射技术。.rar (83个子文件)
inna1.0是一个基于FPGA的CNN自适应映射技术。
inna1.0
tools
install_inna.sh 454B
inna.egg-info
SOURCES.txt 871B
top_level.txt 5B
PKG-INFO 218B
requires.txt 26B
not-zip-safe 1B
dependency_links.txt 1B
setup.py 3KB
LICENSE 11KB
tests
generate_data.cc 3KB
data
__init__.py 0B
eltwise.json 330B
simulator.py 6KB
pool.json 353B
resnet50_first_5_layers.json 2KB
active.json 390B
generate_instr.py 957B
test_cases.py 5KB
generate_data 13KB
docs
make.bat 791B
Makefile 584B
source
index.rst 445B
inna.rst 77B
inna.compiler.rst 154B
conf.py 9KB
inna.quantizer.rst 77B
inna.runtime.rst 658B
api.rst 48B
install.rst 395B
.gitmodules 0B
requirements.txt 136B
.gitignore 149B
Image
inspur.png 15KB
inna
__init__.py 109B
config.ini 265B
runtime
__init__.py 94B
runtime.h 1KB
runtime.cpp 12KB
runtime.cc 12KB
images
ILSVRC2012_val_00000012.JPEG 119KB
ILSVRC2012_val_00000009.JPEG 112KB
ILSVRC2012_val_00000017.JPEG 193KB
ILSVRC2012_val_00000018.JPEG 112KB
ILSVRC2012_val_00000005.JPEG 127KB
ILSVRC2012_val_00000011.JPEG 257KB
ILSVRC2012_val_00000008.JPEG 105KB
ILSVRC2012_val_00000004.JPEG 83KB
ILSVRC2012_val_00000014.JPEG 105KB
ILSVRC2012_val_00000001.JPEG 107KB
ILSVRC2012_val_00000016.JPEG 152KB
ILSVRC2012_val_00000003.JPEG 120KB
ILSVRC2012_val_00000019.JPEG 25KB
ILSVRC2012_val_00000013.JPEG 98KB
ILSVRC2012_val_00000006.JPEG 148KB
ILSVRC2012_val_00000010.JPEG 139KB
ILSVRC2012_val_00000002.JPEG 137KB
ILSVRC2012_val_00000007.JPEG 162KB
ILSVRC2012_val_00000015.JPEG 194KB
runtime.py 10KB
models
mxnet
resnet
resnet50_v1-0aee57f9.params 97.79MB
onnx
resnet
restnet50_v1.1.onnx 97.74MB
keras
resnet
resnet50_weights.h5 98.09MB
tensorflow
resnet
resnet50_without_bn_test.pb 97.43MB
quantizer
__init__.py 40B
quantize_tf.py 17KB
quantize.py 8KB
quantize_base.py 10KB
quantize_caffe.py 19KB
compiler
__init__.py 83B
compiler.py 3KB
assembler.py 16KB
scheduler.py 5KB
converter.py 8KB
frontend.py 2KB
applications
__init__.py 61B
resnet
__init__.py 124B
onnx.py 336B
mxnet.py 353B
tensorflow.py 1KB
keras.py 514B
README.md 2KB
java历史进程.pdf 214KB
说明.htm 4KB
共 83 条
- 1
资源评论
野生的狒狒
- 粉丝: 2275
- 资源: 1988
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功