自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 scanf 和 cin 的返回值

scanf表达式的返回值为int类型,等于有效输入的个数cin表达式的返回值为布尔类型,全部输入正确为True,否则为False

2022-05-06 15:43:45 669

原创 if 总是与其最近的 else 配对

条件语句 if 总是与其最近的 else 配对,与是否对其无关。

2022-05-05 13:34:50 787

原创 决策树总结

可以将决策树看成一个 if-then 规则的集合,满足:互斥并且完备。决策树还表示给定特征条件下(内部节点)类(叶子节点)的条件概率分布。 决策树学习的本质上是从训练数据中归纳出一组分类规则。包括:特征选择、决策树的生成、决策树的剪枝。1.特征选择...

2021-12-20 17:59:08 297

原创 微调 — 冻结网络参数

1.冻结前N层参数for i, p in enumerate(model.parameters()): if i < N: p.requires_grad = False2.冻结任意层参数 首先,需要知道某一层的名字;# 打印模型各层的名字for name, param in model.named_parameters(): if param.requires_grad: print(name) 冻...

2021-12-06 16:02:37 3162 2

原创 深度学习基础面试常见问题总结

1. 为什么需要做特征归一化、标准化? 使不同量纲的特征处于同一数值量级,减少方差大的特征的影响,使模型更准确。 加快学习算法的收敛速度。 2. 常用的归一化和标准化的方法有哪些? 线性归一化(min-max标准化) x’ = (x-min(x)) / (max(x)-min(x)),其中max是样本数据的最大值,min是样本数据的最小值 适用于数值比较集中的情况,可使用经验值常量来来代替max,min 标准差归一化(z-score 0均值标准化)

2021-10-25 16:57:09 1272 1

原创 Python数据结构编程题

1.数组中出现次数超过一半的数字思路:在遍历数组时保存两个值:一是数组中一个数字,一是次数。遍历下一个数字时,若它与之前保存的数字相同,则次数加1,否则次数减1;若次数为0,则保存下一个数字,并将次数置为1。遍历结束后,所保存的数字即为所求。然后再判断它是否符合条件即可。 时间复杂度:O(N) def MoreThanHalfNum_Solution(numbers): len1 = len(numbers) if len1==0: ...

2021-10-17 14:44:31 338

原创 Python高级 — 并发编程

1.对多进程,多线程,协程的理解进程:一个运行的程序(代码)就是一个进程,没有运行的代码叫程序,进程是系统资源分配的最小单位,进程拥有自己独立的内存空间,所有进程间数据不共享,开销大。 线程: cpu调度执行的最小单位,也叫执行路径,不能独立存在,依赖进程存在,一个进程至少有一个线程,叫主线程,而多个线程共享内存(数据共享,共享全局变量),从而极大地提高了程序的运行效率。 协程: 是一种用户态的轻量级线程,协程的调度完全由用户控制。协程拥有自己的寄存器上下文和栈。协程调度时,将寄存器上下文和栈保

2021-10-17 11:25:55 172

原创 Python高级 — 面向对象

1.谈谈你对面向对象的理解?面向对象是相当于面向过程而言的,面向过程语言是一种基于功能分析的,以算法为中心的程序设计方法,而面向对象是一种基于结构分析的,以数据为中心的程序设计思想。在面向对象语言中有一个很重要的东西,叫做类。面向对象有三大特性:封装、继承、多态。2.Python中的可变对象和不可变对象不可变对象,该对象所指向的内存中的值不能被改变。当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份后再改变,这会开辟一个新的地址,变量再指向这个...

2021-10-16 21:16:51 153

原创 Python高级 — 设计模式

1.设计模式设计模式是经过总结,优化的,对我们经常会碰到的一些编程问题的可重用解决方案。一个设计模式并不像一个类或一个库那样能够直接作用于我们的代码,反之,设计模式更为高级,它是一种必须在特定情形下实现的一种方法模板。 常见的是工厂模式和单例模式。2.单例模式的应用场景有那些?单例模式应用的场景一般发生在以下条件下: 资源共享的情况下,避免由于资源操作时导致的性能或损耗等,如日志文件,应用配置。 控制资源...

2021-10-16 20:33:38 285

原创 Python高级 — 函数

1.python常见的列表推导式?[表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件]2.简述read、readline、readlines的区别? read:读取整个文件 readline:读取下一行 readlines:读取整个文件到一个迭代器以供我们遍历3.python函数重载机制函数重载主要是为了解决两个问题。 可变参数类型。 可变参数...

2021-10-16 20:07:13 174

原创 Python高级 — 内存管理与垃圾回收机制

48.哪些操作会导致Python内存溢出,怎么处理? 49.关于Python内存管理,下列说法错误的是 A,变量不必事先声明 B,变量无须先创建和赋值而直接使用 C,变量无须指定类型 D,可以使用del释放资源50.Python的内存管理机制及调优手段?内存管理机制: 引用计数、垃圾回收、内存池引用计数:引用计数是一种非常高效的内存管理手段,当一个Python对象被引用时其引用计...

2021-10-15 21:17:00 196 1

原创 Python高级 — 元类

42.Python中类方法、类实例方法、静态方法有何区别?类方法: 是类对象的方法,在定义时需要在上方使用 @classmethod 进行装饰,形参为cls,表示类对象,类对象和实例对象都可调用; 类实例方法: 是类实例化对象的方法,只有实例对象可以调用,形参为self,指代对象本身; 静态方法: 是一个任意函数,在其上方使用 @staticmethod 进行装饰,可以用对象直接调用,静态方法实际上跟该类没有太大关系。43.遍历一个object的所有属性,并print每一个属性名? cla

2021-10-15 21:08:41 85

原创 Python基础 — 企业面试题

15.python新式类和经典类的区别?在python里凡是继承了object的类,都是新式类 Python3里只有新式类 Python2里面继承object的是新式类,没有写父类的是经典类 经典类目前在Python里基本没有应用 保持class与type的统一对新式类的实例执行a.class与type(a)的结果是一致的,对于旧式类来说就不一样了。 对于多重继承的属性搜索顺序不一样新式类是采用广度优先搜索,旧式类采用深度优先搜索。 16.python中内置的数据结构有几种?整

2021-10-06 16:02:23 113

原创 Python基础 — 数据类型

5.现有字典 d= {'a':24,'g':52,'i':12,'k':33}请按value值进行排序sorted(d.items(),key=lambda x:x[1]) # x[0]代表用key进行排序;x[1]代表用value进行排序。输出:[('i', 12), ('a', 24), ('k', 33), ('g', 52)]加上dict(),输出为字典类型6.字典推导式 对于字典,它和列表、元组一样,也可以使用字典推导...

2021-10-06 14:30:54 225

原创 Python基础 — 模块与包

3.输入日期, 判断这一天是这一年的第几天?import datetime def dayofyear(): year = input("请输入年份: ") month = input("请输入月份: ") day = input("请输入天: ") date1 = datetime.date(year=int(year), month=int(month), day=int(day)) date2 = datetime.date(year=int(yea

2021-10-06 10:04:25 121

原创 Python基础 — 文件操作

1.有一个jsonline格式的文件fifile.txt大小约为10Kdef get_lines(): with open('file.txt', 'rb') as f: return f.readlines()if __name__ == '__main__': for e in get_lines(): process(e) # 处理每一行数据现在要处理一个大小为10G的文件,但是内存只有4G,如果在只修改get_lines...

2021-10-06 09:54:54 150

原创 目标检测评价指标总结

目标检测常用评价指标有:准确率 (Accuracy),混淆矩阵 (Confusion Matrix),精确率(Precision),召回率(Recall),平均正确率(AP),mean Average Precision(mAP),交除并(IoU),ROC + AUC,非极大值抑制(NMS)。1.准确率 (Accuracy)分对的样本数除以所有的样本数 ,即:准确(分类)率 = 正确预测的正反例数 / 总数。  准确率一般用来评估模型的全局准确...

2021-10-05 16:36:43 2328

原创 分类问题评价指标总结

1 二分类评价指标:准确率,精确率,召回率,F1-Score, AUC, ROC, P-R曲线对于二分类问题,1.1 准确率(Accuracy)准确率就是模型预测正确的样本数量占总样本数量的比例。一般分类问题采用这个评价指标,但是对于数据集不平衡的情况,准确率就不具有代表性了。比如:有的类别样本多,有的类别样本占比小。若样本多的类别识别率很高,样本少的类别都识别错误,此时用准确率来评估模型的好坏显然不是很好的选择。1.2 精确率(Precision)...

2021-10-04 19:44:01 2252

原创 深度学习基础总结

1 优化器优化(min/max)目标函数(损失函数)的算法,用于更新参数。SGD:每个batch更新一次参数,一般结合学习率动态调整策略。SGD通常训练时间更长,但是在好的参数初始化和学习率调度方案的情况下,结果更可靠。Adam:默认学习率为0.001,收敛速度更快,在复杂网络中表现更优。但是不是很稳定,尤其在训练后期容易震荡。2 学习率学习率的设置应该随着迭代次数的增加而减小,每迭代完指定次epoch也就是对整个数据过一遍,然后对学习率进行变化,这样能够保证每个样本得到公平的对待。学习

2021-10-04 18:16:17 259

原创 优美字符串(美团)

时间限制: 3000MS内存限制: 589824KB题目描述:小团有一个长度为n的只包含小写字母的字符串。他定义一个字符串是优美的,当且仅当这个字符串的字符的所有排列中,存在一种排列使得这个串不是回文串。定义一个串是回文串,当且仅当从左往右与从右往左读出的字符串相同,例如a,aba,abba都是回文串,但ab,abcb不是。小团不清楚这个串是否是优美的,于是将这个难题抛给了小美。你能帮助小美吗?输入描述第一行一个正整数T,表示有T组数据。接下来对于每一组数据,一个仅包含小写字母的字符串。.

2021-09-18 17:02:03 1606

原创 押韵诗(小红书算法岗)

时间限制: 3000MS内存限制: 589824KB题目描述:薯队长最近迷上了写一种抽象诗,由于诗歌的意义对于抽象诗意义不大,薯队长想用非同寻常的词语组合打动读者。现在,他为未来的诗歌准备了N行诗句,不过他突然意识到这些诗并不押韵。薯队长决定遵循古诗的押韵。诗歌被分为若干段,每段都是四行诗。每一句诗都有一个韵脚,假如A和B表示两种不同的韵脚,每段四行诗的韵脚只可能是 “AABB”, “ABAB”, “ABBA” 和“AAAA”中的一种。薯队长现状将诗句的韵脚都编了号,具有相同编号的句子代表有相

2021-09-18 14:05:16 256

原创 漂亮数组(小红书算法岗)

时间限制: 3000MS内存限制: 589824KB题目描述:有一个包含 n 个不相同整数的数组 arr = [a[0], a[1], ..., a[n-1]]。 你可以随意交换数组中的任意两个元素的位置。一个数组如果满足 在0<i<n 区间 |arr[i] - arr[i-1]| (绝对值)的和最小,则称这个数组为漂亮数组。给到一个数组 arr , 计算并返回需要交换的最小次数,使得数组 arr 变为一个漂亮数组。...

2021-09-18 14:03:50 368

原创 python 之内置模块

1.用 functools.wraps 定义函数修饰器 装饰器可以对函数进行封装,但是会改变函数信息 使用 functools 的 warps 可以解决这个问题 装饰器def trace(func): def wrapper(*args, **kwargs): result = func(*args, **kwargs) print('%s(%r, %r) -> %r' % (func.__name__, args, kwar...

2021-09-18 13:59:18 68

原创 python之类与继承总结

1.尽量用辅助类来维护程序的状态,而不要用字典和元组不要使用包含其他字典的字典,也不要使用过长的元组。 如果容器中包含简单而又不可变的数据,那么可以先使用 namedtuple(具名元组) 来表示,带稍后有需要时,再修改为完整的类。 保存内部状态的字典如果变得比较复杂,那就应该把这些代码拆解为多个辅助类。2.简单的接口应该接受函数,而不是类的实例defaultdict函数钩子(hook)函数...

2021-03-17 22:20:34 350 4

原创 python之函数总结

1.尽量用异常来表示特殊情况,而不要返回 None用 None 这个返回值来表示特殊意义的函数,很容易使调用者犯错,因为 None 和 0 以及空字符串之类的值,在表达式里都会评估为 False。函数在遇到特殊情况时,应该抛出异常,而不要返回 None 。调用者在看到该函数的文档中所描述的异常之后,应该就会编写相应的代码来处理它们了。def divide(a, b): try: return a / b except ZeroDivisionError as e

2021-03-09 22:18:40 636 4

原创 异常处理 try/except/else/finally

1.try/finally结构既要将异常向上传播,又要在异常发生时执行清理工作。常见用途之一:确保程序能够可靠的关闭文件句柄handle = open('filepath') # 可能发生IOErrortry: data = handle.read() # 可能发生UnicodeDecodeErrorfinally: handel.close() # 一定可以执行2.try/except结构3.try/except/else结构清晰的描绘出哪些异常

2021-03-07 16:53:58 2336 2

原创 尽量不要在 for 和 while 循环后面写 else 块

将程序的逻辑搞得直白一点,不要太复杂。

2021-03-07 15:54:02 163

原创 zip()函数

用 zip() 函数同时遍历两个迭代器names = ['Cecilia', 'Lise', 'Marie']letters = [len(n) for n in names]longest_name = Nonemax_letters = 0for name, count in zip(names, letters): if count > maxletters: longest_name = name max_letters = count

2021-03-07 15:27:25 304 2

原创 python 位运算符及运算符的优先级

python运算符优先级a|=2等价于a=a|2a>>=2等价于a=a>>2a<<=2等价于a=a<<2

2021-03-02 19:45:35 205

原创 random.randint(0, 1)

random.randint() 产生指定范围内的随机整数,包括边界。因为它会产生 0 或 1 随机,而数字 0 是 False 并且其他所有数字都是 True , 所以它会随机产生一个假值或真值。在Python中,空容器,空字符串None和数字0(整数0,float 0.0等)都是假值。...

2021-03-02 19:21:09 5925

原创 enumerate 函数

enumerate 函数提供了一种精简的写法,可以在遍历迭代器时获知每个元素的索引; 尽量用 enumerate 来改写那种将 range 与下标访问相结合的序列遍历代码; 可以给 enumerate 提供第二个参数,以指定开始计数时所用的值(默认为0)。 for i, name in enumerate(name_list, 1): print('%d:%s' % (i, name)) ...

2021-03-02 18:38:25 365

原创 列表推导(list comprehension)总结

1. 用列表推导来取代 map + filter 函数列表推导a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]even_squares = [x**2 for x in a if x % 2 == 0]print(even_squares)>>>[4, 16, 36, 64, 100]map + filter 函数alt = map(lambda x: x**2, filter(lambda x: x % 2 == 0, a))eve.

2021-03-02 16:47:40 236

原创 在单次切片操作内,不要同时指定 start, end 和 stride

将以字节形式存储的字符串反转:x = b'mongoose'y = x[::-1]print(y)>>>b'esoognom'这对字节串和 ASCII 字符有用,对已经编码成 UTF-8 字节串的 Unicode 字符无效。例子:a = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']a[::2] # ['a', 'c', 'e', 'g']a[::-2] # ['b', 'd' 'f', 'h']a[2

2021-03-02 13:36:28 140

原创 切片(slice)

切割列表时,索引越界不会出现问题; 访问列表中的单个元素时,索引不能越界。

2021-03-01 21:19:44 98

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除