NVIDIA TensorRT 作为一种高性能神经网络推理(Inference)引擎,可应用有图像分类、分割和目标检测等领域中,可提供最大的推理效率。下面将通过tensorRT给的几个示例来了解tensorRT的加速处理过程。
tensorRT-介绍
前面介绍了tensorRT的安装过程,这里就介绍一下tensorRT的用途,以及为啥能实现网络加速。当前,深度学习的发展推动了一大批的深度学习框架,caffe,tf,pytorch等等,然而基于这些框架搭建出来的网络的效率一直是大家所关注的,为提高网络效率,通常都会对网络进行压缩,而网络压缩的最常见的两个思路就是:量化和剪枝。相比剪枝来说,网络的量化更容易实现。tensorRT就是通过量化,将FP32位权值数据优化为 FP16 或者 INT8,而推理(前向计算过程)精度不发生明显的降低。TensorRT是一个C++库,TensorRT由英伟达(NVIDIA)发布,目前包括TensorRT1、TensorRT 2、TensorRT 3、tensorRT 4。由于环境的问题,我使用的是tensorRT 3.0.4版本。下面说一下tensorRT都支持哪些输入。下面是我根据官网翻译了一部分,想具体了解tensorRT可以看这里
tensorRT-安装
最近在参加一个短视频实时分类的比赛,目前准确率还可以,就是速度有点慢目前也就5-6fps,离达到实时分类还有点距离,为实现网络加速,考虑使用tensorRT来加速网络的前向计算。下面是我安装tensorRT的一些记录,关于tensorRT的介绍及使用,稍后再写。先说一下我的电脑的环境配置:
二叉树题目集锦
104. 二叉树的最大深度
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7],
1 | 3 |
返回它的最大深度 3 。
LeetCode:二叉树
LeetCode:链表(二)
删除重复元素
83. Remove Duplicates from Sorted List
Given a sorted linked list, delete all duplicates such that each element appear only once.1
2
3
4
5
6
7
8Example 1:
Input: 1->1->2
Output: 1->2
Example 2:
Input: 1->1->2->3->3
Output: 1->2->3
移除有序链表中的重复项需要定义个指针指向该链表的第一个元素,然后第一个元素和第二个元素比较,如果重复了,则删掉第二个元素,如果不重复,指针指向第二个元素。这样遍历完整个链表,则剩下的元素没有重复项。这道题比较简单。
C++参考代码如下:
LeetCode:链表(一)
给定一个单链表,是否有环是一个常见的而且比较经典的问题。这类问题一般使用快慢指针进行解题。快慢指针中的快慢指的是移动的步长,即每次向前移动速度的快慢。例如可以让快指针每次沿链表向前移动2,慢指针每次向前移动1次。在刷题中经常会碰到使用快慢指针来解决问题,这类问题一般都是针对链表进行操作。下面对快慢指针涉及的问题进行一个总结。