编程技巧
泰勒朗斯
人,可以痛苦,可以失意,可以疯狂的爱,可以恣意的恨,却别忘了行程,别忘记赶路。
展开
-
threadsafe线程安全的C++ queue-header only
如题,这是一个只有头文件的C++模板队列,threadsafe.原创 2023-06-18 21:22:55 · 211 阅读 · 0 评论 -
gtest在使用中出现错误:error: undefined reference to ‘testing::internal::EqFailure(char const*, char const*,
如题,业务需要编写了一个C的API库,顺带写了一个gtest测试用例。但是编译的时候出现题目中的错误,折腾了半天以为是gtest的问题,结果发现是自己CMakelist.txt的问题。以为Gtest支持的最低版本是Cxx 14版本,所以只要用新版本的gtest,那么编译的Cxx一定要改为14及以上版本。原创 2023-06-16 17:29:42 · 1672 阅读 · 1 评论 -
yolov系列学习+部署(收集了一些学习网站)
或者说:精度=(检测到的正确数量)/(检测到的所有数量)召回率=(检测到的正确质量)/(所有的正确数量)但是(检测到的正确数量)跟设置的阈值有关系原创 2022-04-04 23:08:59 · 4506 阅读 · 0 评论 -
如何处理yolov5模型在推理阶段出现 assert(engine->getNbBindings() == 2
背景:大部分人用yolov5模型训练后,都是参考这个项目来进行C++部署推理的。按照正常流程,大家在官方yolov5训练结束后,在官方export.py导出onnx,然后将onnx->转换为trt,部署上来后,估计出现的就是上面的问题。入口入口2作者核心意思就是:对于pt模型转onnx后处理不一样,导致getNbBinds不一样。说说我的解决方案:我在官方yolov5下训练一个模型后,生成了一个last.pt,然后我把这个last.pt拷贝到入口2作者的yolov5里面然后执行原创 2022-04-04 13:21:14 · 4068 阅读 · 0 评论 -
Anaconda学习
1、首先学习anaconda是什么?Anaconda(官方网站)就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。事实上Anaconda 和 Jupyter notebook已成为数据分析的标准环境1)Anaconda 附带了一大批常用数据科学包,它附带了 conda、Python 和 150 多个科学包及其依赖项。因此你可以立即开始处理数据。2)管理包Anaconda 是在 conda(一个包原创 2022-04-02 11:34:23 · 285 阅读 · 0 评论 -
Python学习
1、魔法函数https://www.zhihu.com/question/469735492、Python 子类继承父类构造函数说明https://www.runoob.com/w3cnote/python-extends-init.html3、https://www.runoob.com/python/python-for-loop.html原创 2022-04-02 00:05:48 · 471 阅读 · 0 评论 -
采用Docker Compose同时部署多个容器
在实际工程中,我们有多个容器同时需要部署,比如mysql、redis以及主程序,这时候手动启动三个容器,一个一个启动非常麻烦,那么这个时候就用到了compose。1、首先下载docker-compose可执行文件链接:https://github.com/docker/compose/releases根据自己服务器版本下载后放在,/usr/local/bin/下面:这时候,在bash命令行中输入下列命令ADM11:~/media$ docker-compose Usage: docker原创 2022-03-24 11:46:56 · 3958 阅读 · 0 评论 -
剑指offer里面关于 数值的整数次方 logn算法以及n个数输出
在剑指offer里面有一道关于 :数值的整数次方作者介绍了一个关于logn的算法:int calcPow(int base, int exp) { if (!base) return 0; if (exp == 0) return 1; if (exp == 1) return base; int result = 1; result *= calcPow(base, exp >> 1);//折半后平方 result *= result原创 2022-03-02 17:29:25 · 147 阅读 · 0 评论 -
Qt项目中.gitignore文件通用文档
在含有.git文件夹的文件夹下创建.gitignore文件,输入以下:# swap files (usually generated by vim)*.swap# cppcheck scrips and reports*cppcheck**cppchk*# Prerequisites*.d# Compiled Object files*.slo*.lo*.o*.obj# Protobuf generated files*.pb.h*.pb.cc# Precompil原创 2022-02-09 16:12:58 · 1817 阅读 · 0 评论 -
国产的websocket网络库libhv
https://github.com/ithewei/libhv主要包含了tcp udp http websocket原创 2021-08-24 11:27:37 · 498 阅读 · 0 评论 -
ffmpeg将连续的h264分割为单帧
http://ffmpeg.org/doxygen/trunk/decode_video_8c-example.htmlFFmpegMain PageRelated PagesModulesNamespacesData StructuresFilesExamplesSearchdecode_video.c/* * Copyright (c) 2001 Fabrice Bellard * * Permission is hereby granted, free of charg原创 2021-08-17 17:45:54 · 606 阅读 · 0 评论 -
Tesla T4显卡性能表
https://zhuanlan.zhihu.com/p/162166889原创 2021-08-11 15:18:42 · 8438 阅读 · 0 评论 -
dstat裸机LInux安装
因为dstat是采用python写的,所以机器上需要有python2.7版本,并且需要six包,所以下载三个上述的包到Linux:1、dstat_0.7.4.orig.tar.gz2、six-1.16.0.tar.gz3、Python-2.7.18.tgz上述可以在网盘下载:链接: https://pan.baidu.com/s/1y12Evcwsc0wVmk93A7QEbQ 密码: 749a然后解压至一个文件中,进入Python-2.7.18,执行./configuremake -j4原创 2021-08-11 14:42:36 · 679 阅读 · 0 评论 -
ZLMediaKit 全局事件通知机制
最近看ZLMediaKit事件通知机制,发现挺好。这个主要用回调函数注册事件,当事件发生的时候,通过emitEvent()函数执行回调函数。这是一个全局事件通知框架,无任何第三方依赖,先贴出代码:/* * Copyright (c) 2016 The ZLToolKit project authors. All Rights Reserved. * * This file is part of ZLToolKit(https://github.com/xia-chu/ZLToolKit). *原创 2021-08-11 14:21:58 · 488 阅读 · 0 评论 -
ubuntu下下载安装dstat
如果直接安装采用s:sudo apt install dstat或者通过下载方式:https://launchpad.net/ubuntu/+source/dstat/0.7.4-6.1下载这三个包,然后里面直接运行./dstat就可以了前提条件是你电脑装了python2.7原创 2021-08-04 19:22:23 · 929 阅读 · 0 评论 -
c++11常见容器练习
标准库中的顺序容器包括: (1)、vector:可变大小数组。支持快速随机访问。在尾部之外的位置插入或删除元素可能很慢。 (2)、deque:双端队列。支持快速随机访问。在头尾位置插入/删除速度很快。 (3)、list:双向链表。只支持双向顺序访问。在list中任何位置进行插入/删除操作速度都很快。 (4)、forward_list:单向链表。只支持单向顺序访问。在链表任何位置进行插入/删除操作速度都很快。 (5)、array:固定大小数组。支持快速随机访问。原创 2021-07-27 10:41:34 · 699 阅读 · 0 评论 -
C++11之常见标准函数练习
std::advance()这个函数是用来迭代器增加步距的。std::list<int> data{1,2,3,5,8,7,};auto it = data.begin();std::advance(it,2);相当于it挪到了3的位置std::partion()这个算法比较奇特,这里有参考:https://blog.csdn.net/u014023993/article/details/47657967...原创 2021-07-26 20:29:50 · 196 阅读 · 0 评论 -
Unbutn20+cuda11+Qt下配置
首先装CUDA,具体查看其它博客,这里主要介绍如何配置。CONFIG += consoleTARGET = test# Define output directoriesCUDA_OBJECTS_DIR = ./# This makes the .cu files appear in your projectCUDA_SOURCES += \ kernel.cuCUDA_DIR = "/usr/local/cuda"CUDA_RUNTIME = "/usr/local/cud原创 2021-05-15 21:44:30 · 758 阅读 · 1 评论 -
用EasyPlayer.js播放h265出现Fetch API cannot file:///libDecoder.wasm......
最近接手了一个试点项目,需要rtsp-推流到rtmp,但是客户那里过来的流是h265,所以找一款能播放h265的H5播放器,后来发现了EasyPlayer.js ,但是在测试的时候用demon无法打开h265,试了一下h264可以,后来又重新看了一下:https://github.com/tsingsee/EasyPlayer.js的简介,大致明白了,现成的demon可以播放h264,但是无法播放h265的,因为播放h265我们需要一个服务器。ps:现成的demon指的是,直接clone下来的文件,从原创 2021-03-26 13:08:29 · 642 阅读 · 0 评论 -
ZLMediaKit
https://zhuanlan.zhihu.com/p/83454344rtmp协议https://blog.csdn.net/bryce_xiao/article/details/71374368?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=&depth_1-utm_source=distribute.pc_rele原创 2021-03-26 09:44:50 · 478 阅读 · 0 评论 -
c++编程小技巧-1
代码上:class FrameWriterInterface {public: typedef std::shared_ptr<FrameWriterInterface> Ptr; FrameWriterInterface(){} virtual ~FrameWriterInterface(){} /** * 写入帧数据 */ virtual void inputFrame(const Frame::Ptr &frame)原创 2021-03-25 10:48:45 · 147 阅读 · 0 评论