科大讯飞CV算法工程师岗位面试题分享

七月在线实验室

共 1644字,需浏览 4分钟

 ·

2022-01-10 14:23


七妹在文末给大家整理了近百个国内外经典的开源数据集,包含了NLP、图像分割、图像分类、推荐系统、金融、交通等方向如果点赞和点在看的人数较多,后续七妹会继续整理资料并分享给大家。


问题1:Pytorch和Tensorflow的区别?


图创建


创建和运行计算图可能是两个框架最不同的地方。


在pyTorch中,图结构是动态的,这意味着图在运行时构建。


而在TensorFlow中,图结构是静态的,这意味着图先被“编译”然后再运行。


pyTorch中简单的图结构更容易理解,更重要的是,还更容易调试。调试pyTorch代码就像调试Python代码一样。你可以使用pdb并在任何地方设置断点。


调试tensorFlow代码可不容易。要么得从会话请求要检查的变量,要么学会使用tensorFlow的调试器。


灵活性


pytorch:动态计算图,数据参数在CPU与GPU之间迁移十分灵活,调试简便;


tensorflow:静态计算图,数据参数在CPU与GPU之间迁移麻烦,调试麻烦。


设备管理


pytorch:需要明确启用的设备


tensorflow:不需要手动调整,简单


 

问题2:leetcode爬楼梯(dp,递归等方法)


递归解法:


动态规划解法:



问题3:torch.eval()的作用


对BN的影响:


对于BN,训练时通常采用mini-batch,所以每一批中的mean和std大致是相同的;而测试阶段往往是单个图像的输入,不存在mini-batch的概念。


所以将model改为eval模式后,BN的参数固定,并采用之前训练好的全局的mean和std;总结就是使用全局固定的BN。


对dropout的影响:


训练阶段,隐含层神经元先乘概率P,再进行激活;而测试阶段,神经元先激活,每个隐含层神经元的输出再乘概率P,总结来说就是顺序不同!


 

问题4:PCA是什么?实现过程是什么,意义是什么?


主成分分析 (PCA, principal component analysis)是一种数学降维方法, 利用正交变换 (orthogonal transformation)把一系列可能线性相关的变量转换为一组线性不相关的新变量,也称为主成分,从而利用新变量在更小的维度下展示数据的特征。


实现过程:

一种是基于特征值分解协方差矩阵实现PCA算法,一种是基于SVD分解协方差矩阵实现PCA算法。


意义:

使得数据集更易使用;降低算法的计算开销;去除噪声;使得结果容易理解。


 

问题5:简述K-means.


K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。


假设要把样本集分为k个类别,算法描述如下:

(1)适当选择k个类的初始中心,最初一般为随机选取;

(2)在每次迭代中,对任意一个样本,分别求其到k个中心的欧式距离,将该样本归到距离最短的中心所在的类;

(3)利用均值方法更新该k个类的中心的值;

(4)对于所有的k个聚类中心,重复(2)(3),类的中心值的移动距离满足一定条件时,则迭代结束,完成分类。Kmeans聚类算法原理简单,效果也依赖于k值和类中初始点的选择。




— 免费资源 —


数据在人工智能中占据着非常重要的地位,一个高质量的数据集往往能够提高模型训练的质量和预测的准确率。


七妹给大家整理了近百个国内外经典的开源数据集,包含了NLP、图像分割、图像分类、推荐系统、金融、交通等方向。如果点赞和点在看的人数较多,后续七妹会继续整理资料并分享给大家。


部分数据集展示 ↓↓





领取方式

(以上是部分数据集,限于篇幅,完整版及链接扫码免费领)

扫码回复“数据集”
👇领取完整版数据集👇


阅读原文”领取面试资料!

浏览 42
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报