Tensorflow知识点总结(三)_jiugeshao的专栏-CSDN博客博客中提到,一个卷积神经网络中主要由以下5中结构组成:输入层,卷积层,池化层,全连接层,softmax层。博主先总结下常用的网络层,然后再介绍下tensor rt支持的网络层,后面要探究下通过tensor rt来加速模型inference阶段的速度。
一. 常用的网络层
输入层、卷积层、激活函数、池化层、全连接层、BN层、dropout层、flaten层的相关知识点可以参考如下博客
卷积神经网络——输入层、卷积层、激活函数、池化层、全连接层_大丈夫-CSDN博客_卷积神经网络输入层
深度学习基础篇: 常用的神经网络层_yuanyuneixin1的专栏-CSDN博客_神经网络的网络层
补充:
深度学习之检测、分类及分割(一)_jiugeshao的专栏-CSDN博客
博客中有一些重要的知识点要了解,SPP层可以有利于不管图像多大大小,输出的特征可以是一致的,Roi Pooling层类似SPP层,只是做了一种分块,RPN区域生成网络(代替了selective search方法),overfeat中的 offset max-pooling,mobileNet中所用的深度可分离卷积
深度学习之检测、分类及分割(二)_jiugeshao的专栏-CSDN博客
博客中提到的上采样所用到的反卷积、segnet中的最大池化索引去上采样
二.Tensor RT所支持的网络层
1.了解一些零散知识点
善于去英伟达官网上获取一些知识,NVIDIA 引领人工智能计算 | NVIDIA
这里面有很多一些知识点可以获取的到。首先第一个可以看cuda的相关信息(可以图中并开程序开发-CUDA工具箱进入),CUDA 专区 | NVIDIA Developer
也可以从如下界面回到首页菜单,到底部对应选择项进入。
博主之前博客中也提到了cuda和cuddn,深度学习平台实现Demo(三)- Anaconda3配置tensorflow2.3.1及如何转化tensorflow1.x系列代码_jiugeshao的专栏-CSDN博客
这里面当时用的cudnn版本为7.6, cuda版本为10.1
Caffe基础(一)-win10 vs2015 显卡compute capability7.5 Python3.5.2环境下编译配置caffe_jiugeshao的专栏-CSDN博客这里面当时用的cudnn版本为7.5,cuda版本为10.0
该博客中也提到,首先要了解自己的电脑的算力(compute capability),博客中介绍了查找方法,也可以如下网页中去查找
每版cuda所支持的算力可以从如下网页中获取到
Caffe基础(一)-win10 vs2015 显卡compute capability7.5 Python3.5.2环境下编译配置caffe_jiugeshao的专栏-CSDN博客
win7下VS2015编译tensorflow源码教程(在线和离线)及调用配置_jiugeshao的专栏-CSDN博客_离线编译tensorflow
这里面当时用到的cuda版本为8.0, cuddn版本为5.1
可以从CUDA 专区 | NVIDIA Developer浏览cuda的官方介绍以及查阅cuda的帮助文档Release Notes :: CUDA Toolkit Documentation
以及一些sample示例CUDA Code Samples | NVIDIA Developer
一些博客编程帖子也可以参考
CUDA编程入门极简教程_小白将-CSDN博客_cuda编程
CUDA编程入门(一)CUDA编程模型 - 知乎
CUDA编程(一)第一个CUDA程序_MingChao_Sun-CSDN博客_cuda编程
一些常用的tensorflow,opencv, matlab中都有cuda的支持,所以博主暂时不会深入去了解cuda编程方面的知识。
tensorflow各版本所对应的cuda版本可从如下查询
tensorflow各个版本的CUDA以及Cudnn版本对应关系_MIss-Y的博客-CSDN博客_cudnn和cuda的关系
Matlab和cuda的对应关系如下
GPU Support by Release- MATLAB & Simulink- MathWorks 中国
接下来再看看cudnn
NVIDIA cuDNN | NVIDIA Developer
可以看到官网介绍,其实cuda中的一个深度神经网络库,如下中提到的resNet、SSD、Unet、MaskRCNN中的一些理论知识,博主之前博客也都提到过
所支持的深度学习框架中,tensorflow、caffe、pytorch,博主也都使用过
接下来再看tensor rt
NVIDIA TensorRT | NVIDIA Developer
从官网介绍可以看到其主要用于模型的测试阶段。
也可以看到tensorrt适用于多种主流深度学习框架训练出来的模型
这里说明下什么叫ONNX模型
它其实是一种规范吧,有助于不同深度学习框架模型之间的数据交互,省的大家分崩离析
深度学习编译中间件之NNVM(一)介绍_sanallen的专栏-CSDN博客_llvm nnvm
当前最新版本是TensorRT 7.1,下面提到的mask-RCNN,Fast-RCNN的理论知识,之前博客也都有介绍
官网上有很多开发资料可供参考
博主接下来会打算按照入门博客中的pytorch例子来先尝试下
所提供的开发者指南也就是帮助文档如下
Developer Guide :: NVIDIA Deep Learning TensorRT Documentation
所支持的网络层在帮助文档里也有介绍
之外,一些编程方面的博客也可以参考
TensorRT 4 基本介绍及TensorFlow模型转化Uff格式导入(二)_Mars_WH的专栏-CSDN博客_tensorrt uff
TensorRT 5.0 学习笔记(一)_如雾如电的博客-CSDN博客_tensorrt
TensorRT简介--高性能深度学习支持引擎_爱破破爱科研的博客-CSDN博客_tensorrt
目前关于tensor rt方面加速的资料还比较少,主要的还是要去参考官网资料