数据结构
堆 heap堆是一种特殊的树形数据结构,它通常是一个完全二叉树。堆分为两种类型:最大堆和最小堆。(heapq库中的堆默认是最小堆)
最大堆:每个节点的值都大于或等于其子节点的值。
最小堆:每个节点的值都小于或等于其子节点的值。
heapq库中常用函数
heapq.heapify()
heapify 函数用于将一个列表转换为堆结构。在 Python 中,默认使用的是最小堆。该函数会对列表进行原地操作,即直接修改原列表,而不是返回一个新的列表。
123import heapqarr = [5, 3, 8, 1]heapq.heapify(arr) # 将列表 arr 原地转为堆
123456 ...
Tokenization Algorithm
1. Whitespace / Word-level Tokenization(空格或词级分词)最简单的分词方法:按空格或标点切割。
✔ 优点
非常简单
快
✘ 缺点
词表巨大(上百万)
完全不能处理新词(OOV)
不适合大型模型
📌 使用场景早期 NLP(如传统机器学习、bag-of-words)
🔡 2. Character-level Tokenization(字符级分词)将每个字符作为 token。
✔ 优点
没有 OOV
词表极小(几百个字符)
✘ 缺点
序列长度极长,训练慢
丢失词内部结构(较难学习语义)
📌 使用场景
一些生成任务(字符语言模型)
高频率的低资源语 ...
ecomo
实习日记2025/6/4
办理入职手续,录入人脸,但是暂未拿到实习合同
在二楼的实验室和四楼的办公层同时拥有工位
利用mediapipe根据五指张开程度输出0-999的数字
深度相机要使用intel的realsense自带的SDK获取RGBD(D:深度)
cursor这个APP把大模型集成到VScode里,写代码简单了太多
2025/6/5
Typora 免费安装教程(支持版本:1.9.5) Typora — release channel好用,可以在我电脑上也安装一个
3道 leetcode
安装VMware/ubuntu(下载了三个小时多)(下载ros,vscode,anaconda ...
Machine Learning
对比 Categorical vs. Multinominal
对比点
Categorical 分布
Multinomial 分布
抽样单位
抽一次,得到一个类别
抽多次,得到每类出现的次数
是谁的特例?
是 Multinomial 的特例(n=1)
是更广义的分布
应用
单标签分类、one-hot
文本计数、生成模型、多次采样
123456789101112131415import torchfrom torch.distributions import Categorical, Multinomialp = torch.tensor([0.2, 0.5, 0. ...
将本地代码上传至Github
步骤一:创建 GitHub 仓库
登录 GitHub
点击右上角的 “➕” → “New repository”
填写仓库名称(Repository name),选择 Public 或 Private
选择自己代码语言的.gitignore
如果们本地已有代码,不要勾选 “Initialize this repository with a README”
点击 Create repository
步骤二:在本地初始化 Git 仓库假设你已经在本地有一个项目文件夹,操作如下:
12cd /path/to/your/projectgit init # 初始化 ...
Transformer
Transformer是一个基于多头自注意力(Multi-head Self-Attention)机制的模型,成为继多层感知机、卷积神经网络和循环神经网络之后又一个常用的深度学习模型。
Neural Network Python
data格式转换1234features.ToTensor() # 将PIL图像 or NumPy数组 -> PyTorch的Tensor格式, 像素值[0, 255] ->[0.0, 1.0]features.cpu().numpy() # PyTorch 的 Tensor 转换成 NumPy 的 ndarray,如果 tensor 在 GPU 上,必须先 .cpu()features.tolist() # 任意维度Tensor->Python list/int/floatfeatures.item() # 单个元素Tensor->Python int/float
d ...
Computer Vision
CV课程记录
Windows系统添加Ubuntu20.04
Windows系统添加Ubuntu20.04(双系统,单磁盘)步骤一:准备 Windows 11 环境 & USB驱动器
关闭bitLocker
Windows + R打开「运行」对话框,输入msinfo32,按Ctrl + Shift + Enter以管理员权限打开「系统信息」工具,查看「设备加密支持」条目,如果是“满足先决条件”说明当前设备支持 BitLocker 设备加密
「设置」>「隐私和安全性」>「设备加密」> 关闭
关闭快速启动
Windows + R打开「运行」对话框,输入control panel,点击Enter打开「控制面板」
「硬件和声音」—— ...
Python相关使用
内存管理psutilpsutil.virtual_memory()可以查看本机的内存使用,其中total表示总的物理内存,available表示可以立即分配给进程而无需系统进入交换的内存。(但我认为他讲的也没有特别清楚,比如available与free之间的关系)
具体实现:
1234567891011121314151617import psutilimport osif __name__ == '__main__': mem = psutil.virtual_memory() # 系统总计内存 zj = float(mem.total) / 1024 ...
