时间:2020-7-20 15:00(电话面试)

1.自我介绍
2.比赛的特征提取如何做的,训练是如何训练的,评价指标是什么

3.pytorch和tensorflow的区别
pytorch是动态框架,tensorflow是静态框架
针对tensorflow,先构造了一个计算图,构建完之后,这个计算图就不能改变了,再开启会话,输入数据,进行计算。那么这个流程就是固定的了,很不灵活,所以说他是静态框架
针对pytorch,他的逻辑和python是一样的,直接计算,不用会话。
pytorch的代码相对tensorflow代码更加简练

4.drop out
定义:dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。去除一定比例的学习结果
作用:防止参数过分依赖训练数据,增加参数对数据集的泛化能力

5.U-net结构,上采样和下采样如何操作的(具体代码是什么),功能是什么
卷积和池化操作
下采样:使得图像符合显示区域的大小、生成对应图像的缩略图。
上采样:主要目的是放大原图像

6.过拟合的解决方法
• 降低模型复杂度
• 增加训练数据等。
• 正则化(L1、L2):可以采用正则化对模型的复杂度进行约束
• 早停止(early stopping):当验证集的泛化误差变大之后,停止训练。
• dropout(神经网络)
• 特征筛选
• 决策树剪枝
• SVM的松弛变量
• 集成学习
• batch normalization

7.C++的static的作用
(1)在修饰变量的时候,static 修饰的静态局部变量只执行初始化一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。
(2)static 修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是 extern 外部声明也不可以。
(3)static 修饰一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。static 修饰的变量存放在全局数据区的静态变量区,包括全局静态变量和局部静态变量,都在全局数据区分配内存。初始化的时候自动初始化为 0。
(4)不想被释放的时候,可以使用static修饰。比如修饰函数中存放在栈空间的数组。如果不想让这个数组在函数调用结束释放可以使用 static 修饰。
(5)考虑到数据安全性(当程序想要使用全局变量的时候应该先考虑使用 static)。

8.python的切片
9.python的类是什么
10.python的init
python中的init()是类的初始化函数

11.python的继承
继承是一种创建新的类的方式,新创建的叫子类,继承的叫父类、超类、基类。
特点:子类可以使用父类的属性(特征、技能)
继承是类与类之间的关系

12.python的深拷贝和浅拷贝区别
直接赋值:其实就是对象的引用(别名)。 (原变新变)
浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。(原变新变)
深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。(原变新不变

浅拷贝只是复制了对象的引用地址,两个对象指向同一个内存地址,所以修改其中任意的值,另一个值都会随之变化
深拷贝是将对象及值复制过来,两个对象修改其中任意的值另一个值不会改变

13.python列表和元祖的区别
列表是动态数组,它们不可变且可以重设长度(改变其内部元素的个数)。
元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。
元组缓存于Python运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存

14.python的字典,如何获取所有key,如何获取长度
15.python分大小写吗