1. 概念
英文名:convolutional neural network
是一种前馈神经网络,即表明没有环路,普通神经网络的 BP 算法只是用于方便计算梯度,也是前馈神经网络。
是深度学习结构的一种,是一种深度、前馈神经网络。
可以使用 BP 算法进行训练
ConvNet architectures make the explicit assumption that the inputs are images, which allows us to encode certain properties into the architecture
卷积神经网络的前提:输入是二维结构或者三维结构,但起比较大作用的是空间维度(spacial),深度那一维并没有太明显的作用。
利用Zynq SoC架构上的Python生产力属性,用户可以利用可编程逻辑和微处理器的优势,更轻松地构建人工智能,机器学习和信息技术应用程序设计。
了解有关 Model Composer 2018.1版中新功能的更多信息 - HLS 定点数据类型的增强可视化、全新示例、自定义块创建增强功能等!Model Composer 是一个以算法为中心的 Xilinx 工具箱,可在 MathWorks Simulink; 环境中进行快速设计探索,并通过自动代码生成和优化加速生产路径。
<iframe src='//players.brightcove.net/17209957001/SywTPUVC_default/index.html?videoId=5810873202001' allowfullscreen frameborder=0 width="600" height="338"></iframe>
AXI4-Stream协议是一种用来连接需要交换数据的两个部件的标准接口,它可以用于连接一个产生数据的主机和一个接受数据的从机。当然它也可以用于连接多个主机和从机。该协议支持多种数据流使用相同共享总线集合,允许构建类似于路由、宽窄总线、窄宽总线等更为普遍的互联。比较重要的信号线有:
ACLK: 时钟源,全局时钟信号。所有信号在ACLK信号上升沿采样。
ARESETn:复位源,全局复位信号。ARESETn低电平有效。
TVALID:主机数据同步线,为高表示主机准备好发送数据,表示主设备正在驱动一个有效的传输。
TREADY:从机数据同步线,为高表示从机准备好接收数据,表示从设备在当前周期能够接收一次传输。
开发环境 VirtualBox, Ubuntu 16.04 64 bit, Petalinux 2015.4
在VirtualBox中安装Ubuntu,用户名:xilinx-arm 密码:rootstep1: 与Win10共享文件问题(百度)
step2. apt-get更新源
运行apt-get update。
apt-get update
step3. 安装petalinux需要的依赖库
<strong>前言</strong>
FPGA的能耗比优于GPU,且设计自由度高,受到许多深度学习开发者的青睐。但是用HDL语言开发神经网络过于复杂,利用Xilinx公司的高层次综合工具vivado HLS开发RTL逻辑的IP核则可以降低开发难度。
本文主要描述了如何使用vivado HLS的基本功能。文章内容主要来自于Xilinx官方文档:ug871-vivado-high-level-synthesis-tutorial,所用代码来自于Xilinx官方例程:ug871-design-files\2016.1\Introduction\lab1。读者可以在原文档中阅读到更详细的内容。
前言
在上一次分析中,分析到了
HandoffAddress = LoadBootImage();
在分析这个函数之前,在从0地址运行之前,在复位(上电复位)之后会从bootROM这个位置开始执行代码,在bootROM中,程序会将QSPI(如果是从qspi启动的话)的前nK的数据拷贝到OCM中,然后跳转到OCM中执行。把生成的BOOT.bin文件用二进制程序打开,根据数据手册可以分析一下前面的数据含义。
花了几天看完了FSBL的代码,在这里做个总结,分析一下zynq的启动过程。
众所周知,xilinx zynq 7000系列的芯片中包括两个部分,PS和PL,也就是FPGA的逻辑编程的部分跟嵌入式ARM的部分,ARM部分是双核的A9处理器。关于FPGA的部分在这里就不说了。其实说的简单点,可以吧这个芯片看成一个带有FPGA外设的ARM处理器,下面详细分析一下启动流程。
摘要: 还在为特征选择抓狂?这个工具了解一下!
特征选择,即在数据集中查找和选择最有用的特征的过程,是机器学习的关键步骤。不必要的特征会降低训练速度、模型的可解释性,最重要的是会降低测试集的泛化性能。
Python中的lambda提供了对匿名函数的支持。使用lambda,我们可以实现函数编程,即将函数作为参数传递给其他函数。在Python中,lambda的作用可以从多个例子来理解:
1, 用在过滤函数中,指定过滤列表元素的条件:
filter(lambda x: x % 3 == 0, [1, 2, 3, 4, 5, 6, 7, 8, 9])
> [3, 6, 9]
2, 用在排序函数中,指定对列表中所有元素进行排序的准则:
sorted([1, 2, 3, 4, 5, 6, 7, 8, 9], key=lambda x: abs(5-x))
> [5, 4, 6, 3, 7, 2, 8, 1, 9]