强化学习
这里记录一下整理的ChatGPT输出的关于强化学习的公式。
强化学习公式
1. MDP 与回报
一个 一个无限/有限时域的马尔可夫决策过程(MDP)定义为:
M=(S,A,P,r,γ)\mathcal{M} = (\mathcal{S},\mathcal{A},P,r,\gamma)
M=(S,A,P,r,γ)
轨迹概率为:
pθ(τ)=ρ(s0)∏t=0T−1πθ(at∣st) P(st+1∣st,at)p_\theta(\tau)=\rho(s_0) \prod_{t=0}^{T-1} \pi_\theta(a_t\mid s_t)\,P(s_{t+1}\mid s_t,a_t)
pθ(τ)=ρ(s0)t=0∏T−1πθ(at∣st)P(st+1∣st,at)
折扣回报:
Gt=∑k=0∞γkrt+kG_t = \sum_{k=0}^\infty \gamma^k r_{t+k}
Gt=k=0∑∞γkrt+k
优化目标:
J(θ)=Eτ∼pθ[G0]J(\theta)=\mathbb{E}_{\tau\sim p_\theta}[G_0]
J(θ)=Eτ ...
KL 散度
来自chatgpt
KL散度(Kullback-Leibler Divergence)
1. 简介
KL散度是用来衡量两个概率分布之间差异的一种方法,描述了用一个分布近似另一个分布时所损失的信息。它在信息论、机器学习、贝叶斯推断、变分推理等领域有广泛应用。
KL散度不是对称的,因此不是严格意义上的“距离”,但可以理解为一种“从一个分布到另一个分布的相对熵”。
2. 数学定义
设 P(x)P(x)P(x) 和 Q(x)Q(x)Q(x) 是定义在同一支持集上的两个概率分布,KL散度定义如下:
离散形式:
DKL(P∥Q)=∑xP(x)logP(x)Q(x)D_{\text{KL}}(P \parallel Q) = \sum_{x} P(x) \log \frac{P(x)}{Q(x)}
DKL(P∥Q)=x∑P(x)logQ(x)P(x)
连续形式:
DKL(P∥Q)=∫P(x)logP(x)Q(x) dxD_{\text{KL}}(P \parallel Q) = \int P(x) \log \frac{P(x)}{Q(x)} \, dx
DKL(P∥Q)=∫ ...
gaussian splatting 中的数学公式
gaussian splatting 中的数学公式
这里主要标记一部分cuda代码,和一些参数的说明。
参考资料
https://zhuanlan.zhihu.com/p/680669616
EWA Splatting
3D Gaussian Splatting for Real-Time Radiance Field Rendering
splatting 的流程
Gaussian 球表示的三维模型,具有颜色(球谐参数),世界系下的位置 means3D ,姿态 rotations(四元数), 沿着轴的尺度 scales。渲染过程会先计算每个 Gaussian 球在像素平面下的投影,计算投影的覆盖区域,然后建立每个像素点和覆盖它的高斯球的索引,最后对每个像素点进行渲染的计算过程。
12345678910111213141516171819202122232425262728// Forward rendering procedure for differentiable rasterization// of Gaussians.int CudaRasterizer::Rast ...
jetson orin 64G 编译安装pytorch
jetson orin 64G 编译安装pytorch 历史记录不完善自用
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788安装conda python=3.10pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/simple写入.bashrcexport CUDA_VERSION=12.6export PATH=/usr/local/cuda-12/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATHexport CUDA_HOME=$CUDA_HOME:/usr/local/cuda-12.6export TORCH_CUDA_ARCH_ ...
camera
相机变换
摘录自
《视觉SLAM14讲》
https://blog.csdn.net/qq_41623632/article/details/138285193
https://www.songho.ca/opengl/gl_projectionmatrix.html
https://zhuanlan.zhihu.com/p/718895401
投影变换
Z(uv1)=(fx0cx0fycy001)(XYZ)=defKPZ\begin{pmatrix}u \\ v\\ 1 \end{pmatrix}=\begin{pmatrix}f_x &0&c_x\\0&f_y&c_y\\0&0&1 \end{pmatrix}\begin{pmatrix}X\\Y\\Z\end{pmatrix}\overset{def}{=}\bold{KP}
Z⎝⎛uv1⎠⎞=⎝⎛fx000fy0cxcy1⎠⎞⎝⎛XYZ⎠⎞=defKP
fx=fdXf_x=\frac{f}{dX}fx=dXf
fff单位m,ccc单位像素, ...
Fisherrf activate mapping
环境配置
habitat
https://github.com/facebookresearch/habitat-lab?tab=readme-ov-file#installation
123conda create -n habitat python=3.9 cmake=3.14.0conda activate habitatconda install habitat-sim withbullet -c conda-forge -c aihabitat
Note, for newer features added after the most recent release, you may need to install aihabitat-nightly. See Habitat-Sim’s installation instructions for more details.
pip install habitat-lab stable version.
123git clone --branch stable https://github.com/facebookresea ...
realsense l515
Jetson Orin 上给 L515 安装 Librealsense
https://github.com/IntelRealSense/librealsense/releases/tag/v2.54.2
https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md
https://blog.csdn.net/muguang629/article/details/142150257
12345cmake ../ -DFORCE_LIBUVC=true -DCMAKE_BUILD_TYPE=release -DBUILD_PYTHON_BINDINGS:bool=true -DPYTHON_EXECUTABLE=/usr/bin/python3 -DBUILD_EXAMPLES=TRU -DBUILD_WITH_CUDA=truesudo make -j$(($(nproc)-1)) && sudo make installecho 'PYTHON ...
remove snap
摘录自 https://www.zhihu.com/question/580286026/answer/3281762866
列出包
1sudo snap list
卸载所有snap包
1sudo snap remove
禁用snap的所有服务,tab补全一下
1systemctl disable snapd.
卸载snap
1sudo apt purge snapd
firefox 改地址
1sudo vim /etc/apt/preferences.d/firefox-no-snap
123Package: firefox*Pin: release o=Ubuntu*Pin-Priority: -1
添加 ppa 并安装deb形式的firefox
123sudo add-apt-repository ppa:mozillateam/ppasudo apt updatesudo apt install firefox
输入法脚踏板
背景
在进行中文输入的过程中,我们可能需要穿插一些英文单词和字母。特别是在使用Latex输入公式时,一下中文一下英文,需要来回按下 shift 切换输入法,否则会被一些中文符号打断思路。与此同时,普通的输入切换按键,例如shift、ctrl+space等等按键也不在常规字母输入的区域,需要移动手腕降低打字体验。能不能有一个更爽的方式来丝滑地在中英文来回滑动,不打破输入的节奏,甚至有一种飙车的快感呢?
当然有,上网搜索就能发现英雄所见略同,用脚切换中英文输入法的可行性已经被网友所验证[2],但是对我来说似乎还少了点什么。
网友的智慧
网友最初的构想是踏板踏下相当按下F13,再实现一个键盘映射当检测到 F13 被按下时,自动发送 Ctrl + Space,当检测到 F13 被松开时,自动发送Ctrl + Space来切换。后来万能的淘宝店家表示甚至可以直接在硬件上完成检测和发送Ctrl + Space。
整个事情就这样解决了吗?
切换的困境
并没有,因为Ctrl + Space只能切换输入法,但不能将输入法固定到中文和英文,这就意味着必须在第一脚踩下去前将输入法调整到想要的状态而不能 ...
ros2 debug
ROS2 CPP 功能包使用 VScode/clion 进行 debug
开启 debug
在 CMakeLists.txt 添加 target 之前中添加
1set(CMAKE_BUILD_TYPE Debug)
或者编译选项
1-DCMAKE_BUILD_TYPE=Debug
编译
1colcon build --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
先 source install/setup.bash后打开 IDE 进行调试
vscode 配置
task.json
12345678910111213141516171819202122232425262728293031323334353637383940414243444546{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, vi ...




