- 博客(4)
- 收藏
- 关注
原创 ResNet18推理踩坑记录
ResNet18推理踩坑记录本文记录了将pytorch的resnet18预训练模型使用C进行前向推理的踩坑过程,主要工作是对接软件部分训练出来的浮点权重,使用C模拟网络的运行情况,并做16位均匀量化。一.单独读取权重文件数据:局部变量过大导致程序崩溃分析:二进制文件读写的代码中使用了函数内的数组作为存储的缓冲区,属于局部变量,存放在栈上,而栈的默认大小为1M,若定义过大的局部变量则会导致栈溢出,后果包括但不限于程序崩溃,无关变量被改写等。解决办法:1.增大栈大小。2.使用堆内存。3.使用
2021-08-24 22:27:04
1129
原创 C_review_2
C语言回顾(二)1.从一个简单程序初探C#include <stdio.h> //头文件:包含诸多变量与函数的声明,这些是编译时需要的信息int main() //main函数:程序的开端{ int num=0; //变量定义及初始化 //变量即容器,存储信息的地方,其内容可以被改变,变量的名称需要有意义,这样容易令人理解 scanf("%d",&num); //向用户请求输入 printf(“num is %d\n”); //向终端输出 /
2020-12-11 20:35:18
146
原创 C_review_1
C语言回顾(一)1.对编程的理解编程不是在与计算机交谈,我们写的每一行代码都是在告诉计算机如何一步步地完成一件事情,至于如何让计算机把事情完成的快,完成的好,就是算法的优劣体现。2.写代码前的工作拿到一个问题,立马开始编写代码,这种做法在遇到简单问题时还能奏效,长期以来只会让思维简单化。下面结合经典书籍《C Primer Plus》中的编程七步,说说我的理解。明确问题的最终目标拿到问题先分析最终要达到什么效果,以这个效果发散开来设计实现方案编程三段式:需要什么输入,将会产生什么输出,
2020-12-11 20:34:45
124
原创 verilog复习与vhdl入门
verilog复习与vhdl入门1.Verilog回顾基本结构verilog以module为单位,module的基本结构:(1)模块声明(内含端口定义),如: module ( input wire clk, input wire rst_n, output reg q ); … endmodule(2)内部信号定义,内部参数定义,如: reg [7:0] cnt; parameter IDLE = 3‘b001;
2020-12-11 20:33:35
638
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人