- 博客(11)
- 收藏
- 关注
原创 深度学习自定义插件的编写
TensorRT在使用过程中会遇到一些问题,如算子不支持,自动生成的算子结构冗余,对fp16,int8的精度误差放大等问题,这种时候可以考虑自己实现相关算子,同时使用onnx-graphsurgen对onnx模型进行编辑,包括节点的增加、删除、连接,自己修改的模型很可能出现结果不正确的情况,可以配合使用polygraphy对模型精度做调试,onnx-graphsurgen是英伟达推出的对onnx模型做编辑的工具,polygraphy也是英伟达推出的onnx模型调试工具,能同时运行修改前和修改后的onnx模型
2024-02-25 19:56:11
856
1
原创 Tensorrt的使用
TensorRT(简写为TRT)是英伟达推出的针对英伟达显卡上深度学习模型部署加速的工具,使用时通常包含两个主要步骤,一是加载模型,二是执行推理,数据的前后处理有的也可以考虑放在trt模块中以提供显卡的加速能力,后续文章将会逐步展开。首先创建网络,以下代码为手动构建一个3*3的卷积网络,并保存,为方便理解每行都加了注释,最常用的做法还是直接调用onnx模型进行反序列化。接下来可以调用上一步构建的网络,执行推理,使用TRT基本代码需要包含头文件。
2024-01-16 22:54:24
841
1
原创 Makefile的编写方法
'rpath := $(foreach item, $(link_librarys),-WL,-rpath=$(item))' :指定运行时链接库目录。'include_path := $(foreach item, $(include_path),-I$(item))':将头文件目录添加-I。'library_path := $(foreach item, $(library_path),-L$(item))':将库文件目录添加-L。'$(dir $@)':生成项目录。'$@' : 生成项。
2024-01-10 22:29:00
421
原创 KCP传输协议的理解
文章将从几个基本的方面带大家了解kcp协议的工作模式,kcp传输协议是udp传输协议的改进,拥有比udp更稳定的传输能力,对丢包、拥塞等问题有做处理,同时可以比tcp更低延时。报文传输数据被划分成离散的数据单元,每个数据单元为一个报文,报文之间独立,协议根据报文的边界做数据收发,常见于消息传递系统、邮件传输等应用。数据以连续字节流的形式做收发,没有固定边界,不需要等待数据送达。常见于需要实时性强,对数据丢失有容忍性的场景,如音视频、实时通信。
2023-12-24 16:27:42
467
原创 TCP连接的理解
客户端建立连接的步骤一般是socket、bind、listen、accept、recv、send、close等,文章将按照这个顺序介绍每个api的功能。
2023-12-24 13:39:57
981
原创 对比c++网络编程实现多路io访问的几种方法
如果处理每个访问需要运算密集数据则适合使用线程池,如果处理I/O密集型任务则适合使用epoll,select和poll的代码更为简洁,易于管理,对轻小型任务可以考虑使用,对于大规模并发任务不如epoll或线程池表现强。
2023-12-23 14:17:09
402
1
原创 服务器端网络优化思路
一个tcp连接包括5个元素,包括源IP地址、目的IP地址、源端口号、目的端口号、协议;服务端的目的IP地址、目的端口号由客户端提供,通常不会有问题,而如果服务端的源端口号不足时会引发问题,每个IP能开放的源端口号最大为65535,其中0~1024为知名端口,无法直接分配,当6万端口号不足时可以给用户开放更多IP地址。通过修改epoll_event的实例大小,使其容量超过最大连接数,这里适合用块状数组做优化。#tcp_mem是协议栈的内存单位为页,1页等于4k,262144代表1G内存,可以适当调大。
2023-12-23 14:13:30
391
1
原创 使用select实现多路io复用
maxdf:创建的fd,rset:是否可读,wset:是否可写,eset:是否关注异常,timeout:关注超时。
2023-12-17 17:02:55
60
1
原创 c++网络编程之socket的使用
/接收来自客户的访问。bind(sockfd, (struct sockaddr*)&serveraddr, sizeof(struct sockaddr))//进行网口绑定。//从用户端接收128字节的数据。//创建客户的地址结构体。
2023-12-16 22:20:44
224
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人