参考了两篇面经(牛客网和CSDN博客)以及牛客上此岗位的描述,这让我有了准备的方向(特别是在模型的部署,也就是TensorRT,ONNX部分以及模型运行帧率这些部分)
自我介绍
常规的一分钟左右的自我介绍环节
根据自我介绍和简历的提问环节
1.简历中提到了使用模糊、拼接手段的图像篡改检测比赛,简要介绍下这个比赛的背景
1.1 我进行了简单介绍
其中关于RRU-Net的陈述我觉得我说的比较好,就是加入一个两层的(循环的)残差后,通俗的理解就是对某一个图像块仔细地反复地观察,
1.2 图像的尺寸是多少
1.3 然后被提问:刚刚你提到了分离检测,那么融合部分是怎么做的
输出是一个一通道的二值图像,因为是两个网络做的,所以最后的结果是直接加和
2. 基于车道线检测的导航项目简要叙述一下
2.1 这里涉及到的轻型网络请叙述一下
2.2 ghostnet与mobilenet的性能和速度对比
并没有论文中描述的那么好,准确率上在缩放系数α为1的时候只比m高出0.1%左右,速度上实际建模时,那部分线性运算为保证效果,还需要一定数量的1x1卷积,所以速度提升没有理想中的程度那么高
2.3 那么你建立的模型度运行速度是究竟是多少
60帧,面试官算了算:“那就相当于0.016s这个样子,其实也不算是很快”
3. 激光散斑中项目介绍一下
自己描述了一下共生矩阵的提出,描述过程中面试官“了解、没错、对,是模糊”这样随声附和了几句,感觉我应该是讲明白了,就按照之前准备的那样讲就行
4.因为算法最后都是要部署的吗,在模型部署或者量化方面有什么了解吗
“模型部署方面,因为是要在嵌入式上运行,我觉得最重要的应该是模型的压缩问题了吧”,这么回答我转就将问题到了模型压缩(很棒,你太棒了,这个之前准备了)
还引向了之前准备的onnx和TensorRT问题上(棒极了,这个之前也特意准备了)于是被问TensorRT你踩过的坑中印象最深的一个,我的回答是前一天看到的Pooling层的转换最为困难(绝了,这都预料到了,看来刷面经真的是很重要的)
还提了一句GPU P100系列之后是可以打开半精度推理功能的,配合TensorRT可以大幅度加速
模型的量化
使用的是python还是C++,我说python,接着问是PyTorch还是Tensorflow,我说前者
5. 三道代码题
5.1 写出下楼梯的方法
我写出来一个Leetcode版本,于是面试官询问我优化的方法,我当然不会
面试官真的是很温柔,帮我讲解了优化思路:1. 存在大量重复计算,所以以空间换时间,记忆一部分结果,也就是确立一些区间端点值 。2.因为是斐波那契数列,肯定能找到通项公式
5.2 求解m的n次方
我写出来一个Leetcode版本,于是面试官询问我1.如果很重复调用很多次怎么做2.如果n很大的时候怎么做
面试官真的是很温柔,帮我讲解了优化思路:1. 存在大量重复计算,所以以空间换时间,记忆一部分结果,也就是确立一些区间端点值。2. 当n很大的时候int取模
5.3 输出一个字符串中所有的回文子串
先写一个判断i-j是否是回文串的辅助函数,然后巴拉巴拉,之后再看看吧