记忆填埋场

记录学过的知识、解决过的问题,以及值得留下的生活片段。

大语言模型的推理加速方案

验证码_哔哩哔哩 1. 大语言模型的推理加速方案 1.1. 为什么KV Cache不在training中使用只在inference中使用 回答:因为训练(Training)和推理(Inference)的计算方式完全不同。 ...

2025年11月4日 · 13 分钟 · sun510001

Fuji Lake Hotel

September 29, 2025 3:26 AM September 29, 2025 3:32 AM September 29, 2025 4:06 AM

2025年10月6日 · 1 分钟 · sun510001

internvl3 微调记录

GitHub - OpenGVLab/InternVL: [CVPR 2024 Oral] InternVL Family: A Pioneering Open-Source Alternative to GPT-4o. 接近GPT-4o表现的开源多模态对话模型 Fine-tune on a Custom Dataset — InternVL 环境安装 推理环境安装 # 下载repo git clone https://github.com/OpenGVLab/InternVL.git # conde建一个虚拟环境 conda create -n internvl python==3.10.14 conda activate internvl cd InternVL/ pip install -r requirements.txt pip install flash-attn --no-build-isolation 如果flash-attn==2.3.6安装失败,可能是flash-attn找不到对应nvcc版本。 ...

2025年9月1日 · 4 分钟 · sun510001

Ubuntu 批量压缩文件夹

安装软件 sudo apt-get update sudo apt-get install parallel sudo apt-get install pigz 建立一个可执行文件,如compress_dirs.sh #!/bin/bash # Function to compress a directory using pigz compress_dir() { local dir=$1 tar -cf - "$dir" | pigz > "${dir}.tar.gz" } export -f compress_dir # Check if at least one argument (the root directory) is provided if [ "$#" -lt 1 ]; then echo "Usage: $0 root_directory [exclude_folder1 exclude_folder2 ...]" exit 1 fi # Get the root directory root_directory=$1 shift # Get the folders to exclude exclude_folders=("$@") # Build the find command with exclusion criteria find_command="find \"$root_directory\" -maxdepth 1 -type d -not -path '$root_directory'" for folder in "${exclude_folders[@]}"; do find_command+=" -not -name \"$(basename "$folder")\"" done # Execute the find command and compress the directories using parallel with progress bar and increased parallelism eval "$find_command" | parallel --bar compress_dir 使用方法 ...

2024年6月10日 · 1 分钟 · sun510001

树莓派5 编译安装opencv和gstreamer插件

基于以下文章使用 树莓派4B 安装opencv完整教程基于python3(各种错误解决)-腾讯云开发者社区-腾讯云 下载opencv_4.9.0, opencv_contrib_4.9.0, 在opencv文件夹下建立编译地址 cd opencv mkdir build cd build 修改cmake命令 cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_EXTRA_MODULES_PATH=/home/sun/Desktop/camera/downloads/opencv_contrib/modules \ -D BUILD_EXAMPLES=ON \ -D WITH_LIBV4L=ON \ -D WITH_GSTREAMER=ON \ -D PYTHON3_EXECUTABLE=/usr/bin/python3.11 \ -D PYTHON_INCLUDE_DIR=/usr/include/python3.11 \ -D PYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/libpython3.11.so \ -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \ .. cmake结束的时候会打印出, 要安装的opencv的插件. 安装 make make install 查看安装是否成功 import cv2 print(cv2.__version__) print(cv2.getBuildInformation()) ...

2024年6月1日 · 1 分钟 · sun510001

组装 pc 安装 Windows 和 Ubuntu 双系统可能会遇到的问题

1. 介绍以下配置 这次组机用的是 40 系列显卡 + 7000 系列 AMD 处理器。 2. 安装时遇到的一些问题 2.1. windows 部分 烧录系统镜像的时候,如果用的是 MacOS,需要将 U 盘格式设置成 NTFS 格式。 因为现在 windows 的镜像中的存在大于 4 GB 的文件,所以 FAT32 无法使用。MacOS 需要安装支持 NTFS 的软件,有的需要购买,但是可以试用,用完卸载即可。 安装结束后重启,可能会发现网卡和无线网卡搜索不到信号。 因为驱动没有安装,需要上主板场商的官网下载,注意!一定要对应主板型号,不同型号的驱动大概率是没法驱动硬件的。 ...

2024年3月25日 · 1 分钟 · sun510001

傅里叶变换

B站首发!草履虫都能看懂的【傅里叶变换】讲解,清华大学李永乐老师教你如何理解傅里叶变换,辨清美颜和变声原理,!!_哔哩哔哩_bilibili 1. 傅里叶级数 傅里叶级数可以将 所有周期性函数 转换为 三角函数的组合. 周期性函数可以使用相位, 振幅和频率这三个参数表示. $$ \begin{align*} f(t)&=\frac{a_0}{2}+\sum a_n \cdot \sin(n\omega t+\varphi_n) \\&= \frac{a_0}{2}+\sum a_n\sin n\omega t + \sum b_n\cos n\omega t \\ &\Rightarrow 1\cdot \sin n\omega t \cdot \cos n\omega t \end{align*} $$ 经过变换, 函数就可以用 $1,\sin n\omega t , \cos n\omega t$ 这三个参数表示, 这三个参数互为标准正交基. 2. 傅里叶变换 傅里叶变换可以表示所有函数 (非周期函数可以理解为长度无限长的周期函数), 首先要搞懂欧拉公式 ...

2024年3月7日 · 2 分钟 · sun510001

卡尔曼滤波算法和应用

1. 状态转移矩阵 从当前状态到下一个状态的转换. 例子: 假设跟踪车辆形式 车辆的状态矩阵, 位置变量 $p_t$; 速度变量 $v_t$. $$ x_t=\begin{bmatrix} p_t \\ v_t \end{bmatrix} $$ 假设车辆有加速度变量 $u_t$; 这里 $\Delta t$ 是单位时间; 这里就可以从上一个单位时间的 $p_{t-1}v_{t-1}$ 推导出当前的 $p_tv_t$. $$ \begin{aligned}p_t=&p_{t-1}+v_{t-1}\times\Delta t+u_t\times\frac{\Delta t^2}{2}\\v_t=&v_{t-1}+u_t\times\Delta t\end{aligned} $$ 这里可以发现输出变量是输入变量的线性组合, 所以卡尔曼滤波器是线性滤波器, 只能描述状态与状态之间的线性关系. 由于是线性关系, 所以可以将公式写成矩阵的形式. $$ \left[\begin{array}{c}p_t \\v_t\end{array}\right]=\left[\begin{array}{cc}1 & \Delta t \\0 & 1\end{array}\right]\left[\begin{array}{c}p_{t-1} \\v_{t-1}\end{array}\right]+\left[\begin{array}{c}\frac{\Delta t^2}{2} \\\Delta t\end{array}\right] u_t $$ 提取公式中带时间参数矩阵之后, 就可以简化公式获得卡尔曼滤波器中的状态预测公式. $$ \begin{aligned}&F_t=\left[\begin{array}{cc}1 & \Delta t \\0 & 1\end{array}\right], B_t=\left[\begin{array}{c}\frac{\Delta t^2}{2} \\\Delta t\end{array}\right]\\&\hat{x}_t^{-}=F_t \hat{x}_{t-1}+B_t u_t\end{aligned} \quad\quad \text{(1)} $$ 这里的 $\hat{x}_t^{-}$ 表示, 这个值有 hat 符号是预测值, 并不是真实值; 右上角减号表示这个值是从 t-1 时刻的参数估计而来, 还需要 t 时刻的观测值进行修正. ...

2024年2月13日 · 7 分钟 · sun510001

Notion Mermaid 绘制思维导图流程图

Mermaid 可以画很多类型的图, 详细可以查看官方说明书 About Mermaid | Mermaid 1. 调出 Mermaid 绘制界面 在 Notion 页面中输入/code 插入代码块. 左上角代码类型选择 Mermaid, 右边的 Split 表示代码和思维导图同时表示, 类似于 Markdown 编辑器一边编辑一边预览. ...

2024年2月12日 · 2 分钟 · sun510001

Windows 安装 WSL2 Ubuntu

1. 安装Ubuntu 首先检查windows是否可以更新, 必须保持在可以更新的状态才可以下载ubuntu镜像. 管理员模式打开终端, 查看wsl可以安装的linux版本 PS C:\wsl_ubuntu> wsl --list --online 以下是可安装的有效分发的列表。 请使用“wsl --install -d <分发>”安装。 NAME FRIENDLY NAME Ubuntu Ubuntu Debian Debian GNU/Linux kali-linux Kali Linux Rolling Ubuntu-18.04 Ubuntu 18.04 LTS Ubuntu-20.04 Ubuntu 20.04 LTS Ubuntu-22.04 Ubuntu 22.04 LTS OracleLinux_8_5 Oracle Linux 8.5 OracleLinux_7_9 Oracle Linux 7.9 SUSE-Linux-Enterprise-Server-15-SP4 SUSE Linux Enterprise Server 15 SP4 openSUSE-Leap-15.4 openSUSE Leap 15.4 openSUSE-Tumbleweed openSUSE Tumbleweed 安装ubuntu 如果windows无法更新这里会出现错误代码: 0x80070005. PS C:\wsl_ubuntu> wsl --install -d Ubuntu-20.04 正在安装: Ubuntu 20.04 LTS 已安装 Ubuntu 20.04 LTS。 正在启动 Ubuntu 20.04 LTS… 启动ubuntu 安装完可能出现报错: WslRegisterDistribution failed with error: 0x800701bc 原因: linux内核没有更新. https://github.com/microsoft/WSL/issues/5393 解决方法: 更新linux内核 ...

2024年1月20日 · 5 分钟 · sun510001

不同任务下主干网络的选择

论文PDF: Battle of the Backbones: A Large-Scale Comparison of Pretrained Models across Computer Vision Tasks 爱可可 AI 前沿推介(11.2) 动机 当前计算机视觉系统的构建通常依赖于预训练或随机初始化的特征提取器作为骨干网络, 而选择合适的骨干网络是一个困难的问题, 因此需要一个方法来比较不同的预训练模型, 以帮助从业者做出明智的选择. ...

2023年11月6日 · 2 分钟 · sun510001

对于一些git项目更新的同步方法

对于一些Fork到自己项目的git项目更新的同步方法, 这里使用NotionNext作为例子进行简单介绍. 1. 前置条件 Fork https://github.com/tangly1024/NotionNext 项目, 将自己的NotionNext项目克隆下来. 新建一个分支new_branch git checkout -b new_branch 所有对项目的修改都在这个分支上完成, commit and push. 添加原项目的url到本地. git remote add remote https://github.com/tangly1024/NotionNext.git git remote add [remote名称] [项目克隆url] git remote -v # 可以看到目前仓库的remote信息 ...

2023年10月28日 · 1 分钟 · sun510001