SelectionTree在Clangd的Tweak系统中的作用
Clangd的SelectionTree是一个实用工具,用于将编辑器选择(或光标位置)映射到相应的AST节点。它被clangd的Tweak(code action)系统大量使用。当请求code action时,clangd会为请求的范围构建一个SelectionTree,并通过Tweak::Selection输入提供它。这允...
Read More
在网上翻了很久都没有找到可以处理包含自由变量的实现,索性就自己手搓了一个。记录一下:
#include <iostream>
#include <vector>
using namespace std;
// 高斯消元法求解方程组
vector<vector<double>> solveEquations(vector<vector...
Read More
一个体现CPU基本运算流程的demo。
#include <stdio.h>
// CSA
int fullAdder(int a, int b, int carryIn, int* carryOut) {
int sum = a ^ b ^ carryIn; // 异或操作,计算和
*carryOut = (a & b) | (carryIn &a...
Read More
机器学习中层规范化的快速介绍,以及PyTorch示例代码。
导语
训练机器学习算法是一项颇具挑战性的任务,尤其是在使用来自现实世界的数据集时。在人们可能遇到的众多问题中,中间激活层统计量的稳定性问题是非常常见的一个。这篇文章中,我们将简要讨论保证统计量稳定性的常用方法之一:层规范化。
到底什么是层规范化?
遇到的问题
正如你所知道的,训练一个机器学习模型是一个随机化的过程。...
Read More
使用内联函数在头文件中实现模板是目前使用它们的唯一通用方式。
对于一个模板,它的声明和实现不能分开置于头文件和源文件(即 .cpp)中。要解释这一点,我们需要先大致了解C++源代码是如何编译和链接的。
C++源代码的编译和链接
只有源文件会被编译,而头文件不会被直接编译。
(1) 在进行编译之前,C++编译器会对源代码进行预处理,其中就包括将源文件中的...
Read More
“中级语言”
C语言虽然具备完整的高级语言特性,但更多特性的设计是针对CPU和硬件设计的,因为设计C语言的原始目的是为了代替汇编语言开发操作系统。
在设计C语言的那个年代,RISC并不流行,为了提升低主频CPU的性能,增强单条指令的功能,提供更多的指令和指令寻址方式,是更为常用的方法,也就是CISC的思路,从8086/8088开始的x86就是典型的例子。实际上,CISC和RISC孰优孰劣直...
Read More
要理解scanf和printf的第0个参数,也就是所谓的格式化字符串,首先就要理解什么是格式化字符串。
什么是格式化字符串
格式化字符串,顾名思义,就是对相应内容的格式进行规定的字符串,放在scanf / printf里,就是对要输入/输出的内容应该是什么形式进行说明的一个模板。
知道了格式化字符串的概念,那么格式化字符串在scanf和printf有什么作用呢?下面我们就逐个讨论。
sca...
Read More
第一篇博客呀 :-)
环境
Visual Studio 2022
Python 3.9 64bit
代码
import numpy as np
import torch
from sklearn import datasets
import torch.nn as nn
from sklearn.model_selection import...
Read More