使用软件训练获得weight (权值,权重) 和 bias (偏置,阈值,threshold)再在FPGA 硬件上实现。
使用定点数表示数据。
在不溢出的情况下会有些许误差,但相对于32位浮点数,定点数更灵活,性能更好。
但需要指定总位宽,整数和小数的位宽。
定点数需要权衡精度和资源消耗。
对于加减法,补码更加高效。
对于乘法,原码更加高效。
由于产生激活函数很麻烦,因此使用ROM (或称为查找表 LUT)存储预先计算好的值,ROM的地址为自变量 x。
此ROM非FPGA中的BROM或DROM,不要弄混。
如果例化IP核设计激活函数,那么得使用IP core generator 修改ROM的大小,而不是仅仅修改一个参数,因此不例化IP核,尽管其十分高效。