- 博客(170)
- 收藏
- 关注
原创 yolov3学习总结
损失函数:给出一个函数当函数值越小,预测值与真实值越接近,这样神经网络的预测值接近真实值,最小化与真实值之间的误差。回归问题主要用于预测某连续变量的数值,例如:预测PM2.5、预测房屋价格、电商用户购买可能性 没有限定的答案。二阶段:先从图像中提取出候选框(先筛选一次),输入卷积神经网络,然后候选框进行分类与位置调整 rcnn。单阶段:不提取出候选框,直接将整个图像输入模型中,算法直接输出检测结果,端到端 yolo,ssd。端到端,输入图像到网络中,然后从网络中输出图像。yolo 是回归问题。
2023-11-23 20:12:47 211
原创 111111111
raceback (most recent call last): File "kitti_dataloader.py", line 139, in dataloader = create_val_dataloader(configs) File "kitti_dataloader.py", line 54, in create_val_dataloader multiscale=False, num_samples=configs.num_samples, mos
2023-11-02 17:38:32 119
原创 1111111111111111111111111111111111111111
https://www.coffeenet.shop/api/v1/client/subscribe?token=c05cf89e28efb89a5c15c282b3fe97c0
2023-10-24 12:22:43 102
原创 数据结构与算法面试
比较相邻的元素,如果前一个比后一个大,就把它们两个调换位置。需要三个指针,一个pre指针指向反转的前一个节点,cur指向要反转的节点,然后设置有一个temp指针指向需要反转的下一个节点,用来使得cur指针移动,因为我们反转之后,无法使用next指针访问到后一个节点。2)把所有比基准值小的元素放在基准前面,所有比基准值大的元素放在基准的后面(相同的数可以到任一边),这个称为分区(partition)操作。3)对每个分区递归地进行步骤1~2,递归的结束条件是序列的大小是0或1,这时整体已经被排好序了。
2023-09-08 16:21:23 436
原创 input子系统
核心层将事件给事件处理层,最后事件处理层控制app应用层的怎么操作。当硬件按下,在设备驱动中触发中断,中断程序会将事件上报给核心层。
2023-08-29 22:03:50 204
原创 诺瓦星云面试汇总
3、epoll将主动轮询变成被动通知,当有事情发生时,接收到通知后再去处理,也就是epoll会把哪个流发生哪种i/o事件通知我们,epoll是事件驱动(每个事件关联到fd),epoll底层是红黑树,epoll内部使用事件驱动的机制,内核中维护了一个链表来记录就绪事件,当某个socket有事件发生时,通过回调函数内核将其加入到就绪事件链表中,当用户调用epoll_wait()函数时,只会返回有事件发生的文件描述符的个数,不需要像select和poll那样进行轮询,大大提高了检测的效率。
2023-08-09 17:01:39 2104
原创 LCD驱动深入分析
很多人都会说操纵lcd显示就是操纵framebuffer,表面上来看是这样的。实际上是frambuffer就是linux内核驱动申请的一片内存空间,然后lcd内有一片sram,cpu内部有个lcd控制器,它有个单独的dma用来将frambuffer中的数据拷贝到lcd的sram中去 拷贝到lcd的sram中的数据就会显示在lcd上,LCD驱动和framebuffer驱动没有必然的联系,它只是驱动LCD正常工作的,比如有信号传过来,那么LCD驱动负责把信号转成显示屏上的内容,至于什么内容这就是应用层要处理的。
2023-08-03 15:42:11 421
原创 pinctrl 子系统与gpio子系统深入理解
绑定文档,官网为了不同的芯片的pinctrl规范写了一个模板。imx芯片的文档是 fsl,imx-pinctrl.txt。
2023-07-31 17:00:00 270
原创 input子系统
0、input子系统的所有设备主设备号都是13,我们在使用input子系统处理输入设备的时候不需要注册字符设备了,只需要向系统注册一个input_device即可。input 子系统分为 input 驱动层、input 核心层、input 事件处理层,最终给用户空间提供可访问的设备节点。核心层:承上启下,为驱动层提供输入设备注册和操作接口。通知事件层对输入事件进行。驱动层:输入设备的具体驱动程序,比如按键驱动程序,向内核层报告输入内容。事件层:主要和用户空间进行交互。1、注册input_dev。
2023-07-28 10:36:26 252
原创 进程管理与内存管理
对于实时进程,他由两个参数表明优先级:prio(动态优先级)和rt_priority(实时优先级),prio才是调度所用的最终的优先级,值越小,优先级越高。而rt_priority要经过转换得到prio:prio = MAX_RT_PRIO - 1 - rt_priority,所以rt_priority的值越小,优先级越小。需要注意的是,内核提供的修改进程优先级的函数都是修改rt_priority的值,所以会有“优先级值越小,优先级越小”的说法。普通进程 响应不需要那么及时的进程。
2023-07-26 20:44:57 628
原创 linux应用编程
开发板内部使用c语言调用硬件驱动实现各种测试功能,保存测试结果。外部程序通过tcp协议与开发板通信进行信息传输,然后使用python GUI构造一个界面按照测试顺序逐步显示出各个模块的测试结果。测试包括:485-232uart、gpio、4g模块、传感器、喇叭、相机、led、sim卡。
2023-05-11 17:11:25 511
原创 计算机网络
两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要专门的链路层协议。5、TCP提供可靠传输,适用与通信质量高的场景,UDP传输效率高。1、TCP需要建立一对一的稳定连接,UDP无连接。UPD可以一对一,一对多。网络接口层包括用于协作IP数据传输在。应用层是体系结构中的最高层。3、TCP可靠传输,UDP不保证传输。4、TCP开销大,UDP开销小。TCP三次握手与四次挥手。网络接口层(链路层)
2023-04-18 16:46:37 223
原创 面经二、牛客-嵌入式岗位笔试面试真题讲解
1.7 如何使用c语言对寄存器进行操作由于是寄存器地址、所以先将其强制类型转换为“volatile unsigned long*”直接解引用赋值1、修饰局部变量 ,使得生命周期变长了,存储位置也变了2、修饰全局变量,使得只能在当前.c文件中使用,不能再其他.c中调用3、修饰函数,使得只能在当前.c文件中使用,不能再其他.c中调用const放在*前是修饰指向的对象,放在*后则是修饰指针本身。
2023-04-11 20:12:04 805
原创 中断子系统
和gpio子系统一样,中断也不需要我们去操作具体的寄存器,因为bsp工程师已经帮我们写好了,我们只需要在设备数中添加相应的属性该配置就好了。interrupt-parent = ,该属性用于指定父。1、中断子系统的基本使用。需要在设备树中添加的属性。
2023-04-10 16:55:02 195
原创 串口通信协议
主设备在SCL线上产生一个时钟脉冲,将SDL线上传输一个数据位,当一个字节数据传输完之后,从设备将拉低SDA线,回传给主设备一个应答位,这就是一个字节的真正传输。数据包的内容由起始位、主体数据、校验位、停止位组成,通讯双方的数据包格式以及波特率要约定一样。使用校验位时,数据位可以有5~8位,如果不使用校验位,数据位可以达9位。1、主机通过MOSI线发生1位数据,从设备通过这根线读取这1位数据。2、从机通过MISO线发送1位数据,从设备通过这根线读取这1位数据。当 SCL 高,SDA从低变高,就是STOP。
2023-04-09 11:05:11 1640
原创 flask + yolov5
在函数中,我们首先获取上传的图像,然后使用我们之前加载的 YOLOv5 模型对其进行处理,并将结果存储在。最后,我们返回一个 JSON 对象,其中包含处理结果。5、使用 YOLOv5 模型处理图像并返回结果。路由,当收到 POST 请求时会执行。3、创建一个 Flask 应用程序。1、安装 Flask 和相关依赖。4、定义路由,处理图像上传请求。6、部署 Flask 应用程序。2、加载 YOLOv5 模型。
2023-03-30 21:41:26 1226
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人