- 博客(28)
- 收藏
- 关注
原创 TensorRT7 Onnx模型动态多batch问题解决
升级到Tensort7, ONNX模型创建网络和预测都需要用V2版本。创建模型 const auto explicitBatch = 1U << static_cast<uint32_t>(NetworkDefinitionCreationFlag::kEXPLICIT_BATCH); INetworkDefinition *network = builder->createNetworkV2(explicitBatch); // 创建TensorRT网络
2020-08-31 10:39:33
9572
4
原创 TensorRT开源组件编译环境配置
TensorRt环境变量 export TRT_RELEASE=`pwd`/TensorRT export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TRT_RELEASE/libcmake -D CMAKE_CUDA_COMPILER=/usr/local/cuda-10.0/bin/nvcc -DTRT_LIB_DIR=$TRT_RELEASE/lib -DT...
2020-07-14 17:24:44
382
原创 Could not found MySQL include directory解决
安装mysql客户端开发库sudo apt-get install libmysqlclient-dev
2019-12-03 16:21:00
619
原创 卷积神经网络计算输出尺寸
1.Convolutionout = floor((in+2padding-dilation(kernel_size-1)-1)/stride+1)dilation默认情况为1out=floor((in+2padding-kernel_size)/stride+1)2.Poolingout = floor((in+2padding-dilation(kernel_size-1)-1)/s...
2019-11-25 09:54:42
336
原创 getPerspectiveTransform
获取透视变换矩阵是带入4个对应点 解透视变换矩阵./* Calculates coefficients of perspective transformation * which maps (xi,yi) to (ui,vi), (i=1,2,3,4): * * c00*xi + c01*yi + c02 * ui = --------------------- * ...
2019-11-25 09:43:54
966
原创 模型转化之AdaptivePool层
cafffe是没有自适用池化层,在不写插件层的情况下只能转化为avgpooladaptive层的信息只有input_size 和output_size这时候需要倒回去算stride kernel_size正向计算output_size = ceil((input_size+2∗padding−kernel_size)/stride)+1反向计算padding设置为0stride ...
2019-11-13 16:24:24
1054
1
原创 深度学习caffe之Slice层
Concat是将多个bottom合并成一个topslice层把一个bottom分解成多个topslice层三个参数:axis:默认为1,切分channel维度slice_dim:过时参数同axis,不支持负数slice_point:切分点,没有设置的时候则对axis进行均匀分解message SliceParameter { // The axis along which to s...
2019-11-05 15:09:46
895
原创 CMake install c++头文件
install(FILES ${INSTALL_HEAD_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
2019-11-02 16:13:49
4046
原创 ubuntu cmake升级
cmake所有版本下载对应版本wget https://cmake.org/files/v3.13/cmake-3.13.5.tar.gz解压tar xf cmake-3.13.5.tar.gzcd cmake-3.13.5/./configuremake -j6
2019-11-01 09:41:14
220
原创 c++ std::set 求差集实例
头文件#include <set>有序性std::set<int> set_test;set_test.insert(2);set_test.insert(1);set_test.insert(3);for(auto &v:set_test){ std::cout << v << " ";}输出1 2 3...
2019-10-18 14:56:03
1436
原创 mongodb批量查询用例,附c++代码段
mongodb批量查询需要用in或者in或者in或者or,同一个字段比如下面用例用批量graph_id推荐用in,查询速度更快.不同字段用in,查询速度更快.不同字段用in,查询速度更快.不同字段用or另外特征主要查询出来结果的顺序和输入id的顺序是不同的,需要自己在程序里面处理mongo数据内容结构{ "_id" : ObjectId("5da034d607801c76ed49...
2019-10-11 16:13:32
598
原创 std::ofstream实例
数据存储中实例一文件内容格式fieldfield typedescriptiondintthe vector dimensioncomponentsfloat *dthe vector components/** * @brief 保存特征数据 */void save_data(const std::string &filenam...
2019-10-11 12:09:38
3447
原创 ubuntu apt-get升级python3.5到python3.6
1.安装软件管理工具sudo apt-get install software-properties-common2.添加软件源sudo add-apt-repository ppa:jonathonf/python-3.63更新aptsudo apt update4.安装python3.6sudo apt-get install python3.65.验证root@iZ...
2019-10-09 23:20:00
2179
1
原创 pytorch把模型保存为onnx
torch_out = torch.onnx._export(model,img_tensor,"multi_quality.onnx",export_params=True)
2019-09-17 15:31:25
4415
原创 ubuntu opencv源码编译命令简单记录
opencv源码下载地址https://github.com/opencv/opencv/releasestar -xzvf opencv-3.3.0.tar.gzcd opencv-3.3.0/cd ..mkdir buildcd buildcmake ../opencv-3.3.0 -DWITH_GTK_2_X=ON -DCMAKE_INSTALL_PREFIX=/usr/loc...
2019-09-17 14:44:39
211
原创 c++11 std::pair简单笔记
std::pair 可以理解为两个成员变量的结构体,但是他的成员变量只有first和second来标示.适合解决局部函数的多参数输入和多返回值,结构体超过2个可以用std::tuple.结构体在定义上更清晰,pair和tuple使用上更快捷,不需要单独定义struct Person{ int age; float height;};std::pair<int,float&g...
2019-09-10 11:07:02
409
原创 nvidia docker指定显卡启动
docker 启动参数上加 -e NVIDIA_VISIBLE_DEVIES=1(0代表第一块显卡,1代表第二块显卡,不加参数是全部启动)docker run -it --runtime=nvidia -e NVIDIA_VISIBLE_DEVIES=1 需要启动的docker名称 bash多显卡机器上,如果显卡0正在被其他程序占用,但是程序指定显卡0,你就可以加这个命令,只启动部分显卡,...
2019-09-09 11:11:34
11212
4
原创 准确率 精准率和召回率简单辨析
对于数据测试结果有下面4种情况:TP: 预测为正,实际为正TN: 预测为负,实际为负FP:预测为正,实际为负FN: 预测为负,实际为正T/F:表示预测结果是否正确P/N:表示预测结果是正或负样本准确率(accuracy) = 预测对的/所有 = (TP+TN)/(TP+FN+FP+TN)精确率(precision) = TP/(TP+FP)预测结果为正的里面正确的比例 关注点在...
2019-09-03 09:31:48
891
原创 centernet物体检测后处理关键部分详解,附部分C++代码
一.获取到网络三个tensor输出hm (heat map缩写特征图) 得到网络输出后做一个sigmoid()把值映射到0-1wh (width height 回归长宽 这里回归出来长宽是在网络输入长宽)reg(regress 回归中心点偏移 这里回归出来偏移是在网络输入偏移)二.nms 这里和非anchor free方法目前不一样.下面贴出我的c++代码torch::Tensor...
2019-08-29 15:58:33
2630
5
原创 libtorch选择显卡运行torchscript
#include <cuda_runtime_api.h>std::string filename = "centernet.pt"//模型路径int gpu_id = 1; //gpu id 0代表第一块可见gpucudaSetDevice(gpu_id); //切换显卡torch::jit::script::Module module = torc...
2019-08-27 16:06:55
2321
1
原创 拷贝动态库软链接关系
cp -d例如 libPocoCrypto.so libPocoCrypto.so.60这里两个文件 有libPocoCrypto.so -> libPocoCrypto.so.60软连接关系想把这个关系拷贝到另外一个目录.libPocoCrypto.so不指向拷贝前的库拷贝的时候需要加-d...
2019-08-27 15:24:56
1172
原创 gdb 启动程序带运行参数
在linux如果我们需要用gdb启动程序加运行参数普通启动程序 可执行程序 参数root@B250M:~# ./SDK rtsp://192.168.2.38:5554/3gdb 启动文件root@B250M:~# gdb SDKGNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1GNU gdb (Ubuntu 7.11.1-0ubuntu1~1...
2019-08-23 09:23:18
7528
原创 std::ifstream实例
数据读取中实例一void load_data(char* filename, float*& data, unsigned& num,unsigned& dim){// load data with sift10K pattern //以二进制形式打开文件 std::ifstream in(filename, std::ios::binary); //判断是否...
2019-08-15 17:29:45
10817
原创 libtorch torch::from_blob踩坑
libtorch中 torch::from_blob函数 可以把外部内存创建一个tensor,这里给个简单错误示例 torch::Tensor example() { std::vector<float> res_data; res_data.resize(3 * 224* 224); torch::Tensor res_tensor = torch::from_blo...
2019-08-15 16:08:05
17514
原创 libtorch工程化pytorch训练的模型实战
如果你想把pytorch训练好的模型快速部署到libtorch上,推荐通过把模型转化为torchscript脚本,然后在libtorch用C++接口加载这个模型。这个方式高效快速把训练模型和工程化快速对接起来。这个方式没有优化前行神经网络计算,但对于一般工程也是够用的,目前在centernet,3d卷积相关网络上成功过。这种的原理大致是通过一次前向传播,把计算图保存下来,后面在python接口或...
2019-08-07 10:51:00
2715
15
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人