![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模型部署
文章平均质量分 66
Undefined游侠
这个作者很懒,什么都没留下…
展开
-
Resnet20代码review
在train_base.py中,可以看到main()函数中,通过函数define_tsnet,可以定义要使用的网络else:if cuda:else:return net。原创 2023-10-07 19:56:44 · 170 阅读 · 0 评论 -
C++ YOLOv3推理 第一讲: 项目简介
这一流程看起来高效,但是实际上也存在一个问题,那就是过分依赖nvidia提供的trt转换工具,并且该工具还没有开源,这也就意味着,当你用的不是nvidia的显卡时,模型推理就会变得无从下手,这对于高阶的模型部署(高度硬件定制化)来说,这样的黑匣子是无法接受的,因此,就更有必要熟悉一套白匣子的模型部署方式。而经过仔细查看,yolo-image.cpp中,主要包含的是工具类的函数,而yolov3-tiny.cpp中,包含有main函数。这里使用了gguf的数据格式,目前感觉还是很神秘的,但是有更详细的介绍。原创 2023-12-27 23:18:43 · 466 阅读 · 0 评论 -
C++ YOLOv3推理 第二讲: 权重及参数加载
模型参数的记载到此基本讲完,读取的这些参数的作用,只有结合具体的推理,才能更好的理解诶,这也是下一章的目标。另外,gguf的参数加载细节在这里也没有介绍,这也是应该后面详细说明的。原创 2023-12-30 22:47:19 · 504 阅读 · 0 评论 -
C++ YOLOv3推理 第三讲: 模型推理
如果对于yolov3的模型结构感兴趣,欢迎阅读yolov3论文的原文~上一章讲到模型参数加载,本文主要讨论,如何基于加载的模型实现模型的推理。原创 2024-01-29 23:25:00 · 530 阅读 · 0 评论 -
C++ YOLOv3推理 第四讲 :模型格式
可以看出来,下列代码存储了13个卷积层的参数,而实际上,对照Part3的网络结构,实际上模型主要就是包含13个卷积层的参数。其中,save_conv2d_layer的作用很重要,它把tensor的信息存储到gguf_writer中,存储的信息包括: 1. 卷积层的名称 2. 卷积层的权重参数 3. 卷积层的尺寸。在Part 1中,我们提到了模型的使用包含了将它转换为gguf格式的步骤,后续的流程都是讨论基于gguf格式,如何实现推理。那么,gguf格式的数据到底是如何转换得到的,保存的内容具体包含哪些呢?原创 2024-02-03 12:47:58 · 406 阅读 · 0 评论