Python修养4 目录 [TOC] 函数式程序设计 思想 函数可以用来给变量赋值 python中的函数是对象, 可像普通变量一样赋值,传值,返回 函数可作为函数的参数 python中的可调用对象( 即可以用()调用 ) 包括普通函数和实现了__call__方法的类实例 123456789class A: def __init__(self,n): self.n = n def __call__(self,x): return self.n + x def add(x, y, f): return f(x) + f(y)print(add(1,10,abs)) #=> 11print(add(1,10,A(5))) #=> 21 lambda表达式可以被赋值给变量, 也可作为函数的返回值和参数 回顾filter(function,iterable) 挑选出可迭代对象**中每一个满足function的元素返回一个迭代器 trick: 1234b=lambda x:lambda y:x+y#b是一个lambda表达式, 返回值是一个lam ...
Python修养3 目录 [TOC] 函数 基本说明 可以返回多个值 可以无参, 可以无返回 形参只拿到引用的副本 形参重新赋值, 不影响实参 形参和实参指向同一个对象, 修改本地同时生效( ⚠️不是赋值, 赋值改变地方) 若执行过程中改变了形参所指向地方的内容, 实参也相应改变 (⚠️地方不变) 12345678910111213def modify(lst): lst.append(99) # ✅ 原地修改,外面看得见def reassign(lst): lst = [99] # ❌ 重新赋值,改变了指向的地方,外面看不见a = [1, 2, 3]modify(a)print(a) # [1, 2, 3, 99]b = [1, 2, 3]reassign(b)print(b) # [1, 2, 3] ← 没变! 更明显的范例: 12345678910111213141516171819202122232425class A: n = 0class B: n = 100def Swap1(x, y): tmp = x.n ...
Python修养2 元组 一个元组由数个逗号分隔的值组成, 前后可加括号 ⚠️可认为是个指针vector数组, 数组元素不可修改, 不可增删元素, 指向的东西可以修改 具体操作 定义: 1t=1,3.14,[1,'hello'] 取值: 123456print(t[2])# 可修改其中的列表中的元素t[2][0]=2# 下标访问元组print(t[0])print(t[2]) 解包: 1print(t) 元组拼接 1tup3=tup1+tup2 运算与迭代 1234x=(1,2,3)*3 #表示复制三份拼接print(3 in (1,2,3))for i in x: print(i) Tips 元组元素本身可能被修改, 例如其中的列表 组建的球队人员不可更改, 但球员的特性可以修改 关于逗号 123456empty=()singleton='hello', #此处逗号不省略, 表示元组print(len(empty))print(len(singleton))x=('hello',) # 无逗号则 ...
强化学习(Reinforcement Learning) Agent 与 Environment 交互–试错→奖励惩罚→学习 Reward → Policy 理论基础 问题建模 环境 初始状态 $$S_0$$ 当前玩家 C 动作 A : 每个状态下智能体可以选择的合法动作集合 状态转移 P : $$P(S_{t+1} \mid S_t , A_t)$$ 奖励 R : $$R_t \leftarrow S_t , A_t$$ 终止状态 $$S_T$$ : 达到状态后, 任务终止 衡量环境复杂度的两个关键空间: state space : 所有可能到达状态的集合 action space : 所有状态下可采取的动作集合 注意: 状态转移的不确定性 既可能来自于环境本身,也可能来源于策略 转移概率P的内在随机性 ( 环境反馈的不确定性, 即使同一环境和动作也可能返回不同的结果) P依赖于动作的选择分布 (动作中含有stochastic policy成分, 带来转移的不确定性) 智能体 Policy 核心 At←π(St)A_t \leftarrow \ ...
Python修养1 思想: 换行当; 缩进当{} 对象三属性 值: 可变/不可变 身份: 内存唯一地址,严格只读 类型( 可用type(you_want)来读取) 每个变量都相当于指向某个对象的引用 引用对象可变, 则可以通过变量修改 引用对象不可变,则只能让变量指向另一个新对象 ⚠️python里的=永远是指向对象操作而非拷贝 a=b 指向同一个对象 对象可变且做原地修改, 原地改动 🌊对象不可变且做了"修改"操作, 必须创建新的对象 a=a+b创建新对象, a然后指向他 a+=b原地修改,a不指向新对象 关于注释: 单行# 多行command+/ 关于赋值的随意性 s1,s2,s4,s3=s4,s3,s2,s1 关于变量 不需声明, 使用前必须赋值 类型可变 没有double( 或者说double就叫float), 多了complex和tuple和dict, string叫str, 列表叫list ——类型名相当于类名 12a=str()b=1+2j 元组本身不可变, 但是 ...
杂记 记录比较不熟悉, 或者比较直观的理解 关于不熟的损失函数 1. Focal Loss (类不平衡场景) 直观理解 在目标检测(如检测图中的大楼)时,背景(负样本)的数量远多于目标(正样本)。传统的交叉熵损失中,大量简单的背景样本虽然单个损失小,但累加起来会淹没少量的困难样本。Focal Loss 通过给损失加一个“调节开关”:如果样本容易分类(预测概率 ppp 接近 1),就大幅降低它的权重;如果样本难分类,权重相对保持。 数学推导 标准的二分类交叉熵(Binary Cross Entropy, BCE)定义为: CE(p,y)={−log(p)if y=1−log(1−p)if y=0CE(p, y) = \begin{cases} -\log(p) & \text{if } y=1 \\ -\log(1-p) & \text{if } y=0 \end{cases} CE(p,y)={−log(p)−log(1−p)if y=1if y=0 定义 ptp_tpt 简化表达: pt={pif y=11−pif y=0 ⟹ CE(p, ...
c++特性 c++11特性 以下按照常用频次 + 新理解程度排序 Lambda表达式 shared_ptr auto关键字 右值引用和move语义 右值 move 移动构造函数 unordered_map 无序容器(哈希表), 插入删除查找时间复杂度O(1), 正则表达式 模板类型参数包和递归 {}统一初始化 基于范围的for循环 成员变量默认初始值 空指针nullptr decltype关键字 unique_ptr 万能引用和forward转发 万能引用T&& 多线程 c++14特性 二进制常量 返回值自动推断 auto Lambda表达式 make_unique c++17特性 std::any std::optional std::variant 结构化绑定 tuple 是c++11里开始引入的可以存放任意多个数据类型的数据的序列 if/switch初始化语句 CTAD 折叠表达式
pytorch指南 目录 [TOC] 思维导图 container处分类笔误 细节 一、张量 (Tensors) 1. 创建 (Creation) 12345678910import torchx = torch.tensor([1, 2, 3]) # 从列表创建x = torch.zeros(2, 3) # 全0张量x = torch.ones(2, 3) # 全1张量x = torch.randn(2, 3) # 标准正态分布x = torch.rand(2, 3) # 均匀分布 [0,1)x = torch.arange(0, 10, 2) # 序列 [0,2,4,6,8]x = torch.linspace(0, 1, 5) # 等间距5个点 [0,0.25,0.5,0.75,1]x = torch.eye(3) # 单位矩阵 ...
NumPy指南 零、目录&思维导图 [TOC] 一、基础导入 导入NumPy库(import numpy as np)1import numpy as np 二、数组(ndarrays) 2.1 数组创建 从列表创建数组(np.array())1arr = np.array([1, 2, 3]) 等差数组(np.arange())1arr = np.arange(0, 10, 2) # 生成[0,2,4,6,8] 等间隔数组(np.linspace())1arr = np.linspace(0, 1, 5) # 生成5个0到1之间的等间隔数 全零数组(np.zeros())1arr = np.zeros((2, 3)) # 2行3列的全零数组 全一数组(np.ones())1arr = np.ones((3, 3)) # 3行3列的全一数组 0-1随机数组(np.random.rand())1arr = np.random.rand(2, 2) # 2行2列的随机数组 2.2 数组属性 维度数(ndim)1arr.ndim # ...
























