Skip to main content

Posts

2020

caffe 源码学习笔记(6) reshape layer

·1851 words·4 mins
背景 # 最近在魔改 TensorRT 的 caffe parser。 之前 caffe 模型转到 trt 模型时,有一个修改需要将 reshape layer 的 param 末尾补 1,比较繁琐,于是看了下 caffe 的 reshape layer 的实现。

tensorrt INT8 量化debug记录(cuda error 700)

·543 words·2 mins
背景是要把某个 caffe model 转换成 tensorrt 的 INT8 模型,然后遇到如下报错: 1 2E0403 08:54:35.951987 5704 engine.h:62] engine.cpp (572) - Cuda Error in commonEmitTensor: 1 (invalid argument) 3E0403 08:54:35.952157 5704 engine.h:62] Failure while trying to emit debug blob. 4engine.cpp (572) - Cuda Error in commonEmitTensor: 1 (invalid argument) 5E0403 08:54:35.952235 5704 engine.h:62] cuda/caskConvolutionLayer.cpp (355) - Cuda Error in execute: 1 (invalid argument) 6E0403 08:54:35.952291 5704 engine.h:62] cuda/caskConvolutionLayer.cpp (355) - Cuda Error in execute: 1 (invalid argument) 7W0403 08:54:35.952324 5704 calibrator.cpp:45] [4, 3, 224, 224] 8F0403 08:54:35.992761 5704 tensor.h:149] Check failed: cudaMemcpy(raw_mutable_data(), b.raw_data(), size_in_bytes, cudaMemcpyDefault) == cudaSuccess (700 vs. 0) 9*** Check failure stack trace: *** 10Aborted (core dumped) cuda error 700. 原来 cuda error 的错误号可以这么大。。

Faster Rcnn 目标检测算法

·4894 words·10 mins
背景 # 2019 年对了好几次 faster rcnn,第一次是赛事之窗项目,和北京的同事对齐 sdk 和训练的实现。 第二次是被 tensorRT4 和 tensorRT5 之间默认参数不一致的问题坑了一下。 第三次是被 caffe proto 中 roi align 的默认参数坑了。

tensorRT 模型兼容性说明

·525 words·2 mins
名词说明 # CUDA. 一般来说指的是CUDA SDK. 目前经常使用的是CUDA 8.0和CUDA 10.1两个版本. 8.0和10.1都是SDK的版本号. CUDNN. The NVIDIA CUDA® Deep Neural Network library (cuDNN). 是一个可以为神经网络提供GPU加速的库 compute capability. 是GPU的固有参数,可以理解为GPU的版本.越新的显卡该数值往往越高. tensorRT.NVIDIA TensorRT™ is an SDK for high-performance deep learning inference. 是一个深度学习推理库,旨在提供高性能的推理速度. plan file,也称为 engine plan. 是生成的tensorRT 模型文件. 兼容性说明 # Engine plan 的兼容性依赖于GPU的compute capability 和 TensorRT 版本, 不依赖于CUDA和CUDNN版本.

【施工完成】CSAPP archlab

·3893 words·8 mins
背景 # CSAPP:3e 第四章配套的实验。第四章是讲处理器架构的,章节的重点是实现一个六阶段流水线。

【施工完成】CSAPP bomb lab

·5867 words·12 mins
背景 # 疫情肆虐,在家百无聊赖,于是开始拆炸弹。 炸弹分为 6 个阶段,每个阶段必须输入一个特定的字符串,否则炸弹就会爆炸。 提供给我们的是一个 .c 文件和一个 linux 可执行文件 bomb。