Yet Another 何榜文's Blog
  • 首页
  • 标签
  • 归档
  • 分类
  • 标签
  • 友链
  • 待办事项
  • 联系我

Effective STL - 05 - Functor

Functor条款38:把仿函数类设计为用于值传递C 中的 qsort 使用的 函数指针 就是指针的拷贝,因此是一个默认的值传递。 因为函数对象以值传递和返回,你的任务就是确保当那么传递(也就是拷贝)时你的函数对象行为良好。这暗示了两个东西。第一,你的函数对象应该很小。否则它们的拷贝会很昂贵。第二,你的函数对象必须单态(也就是,非多态)——它们不能用虚函数。 不是所有的仿函数都是小的、单态的。
2024-03-17
Effective STL
#C++ #STL #Functor

Effective STL - 04 - Algorithms

Algorithms条款30:确保目标区间足够大123456789101112131415vector<int> v = {0, 1, 2, 3, 4, 5, 6, 7};cout << v << endl;// 对于使用区间的函数, 注意预先分配空间vector<int> v2;v2.reserve(v.size());tran
2024-03-17
Effective STL
#C++ #STL #Algorithms

Effective STL - 03 - Iterator

Iterator条款26:尽量用iterator代替const_iterator,reverse_iterator和const_reverse_iterator graph A[iterator] --> B[const_iterator] A[iterator] --> C[reverse_iterator] C[reverse_iterator] --> D[const_
2024-03-17
Effective STL
#C++ #STL #Iterator

Effective STL - 02 - Vector and String

Vector and String条款13:尽量使用vector和string来代替动态分配的数组无论何时,你发现你自己准备动态分配一个数组(也就是,企图写“new T[…]”),你应该首先考虑使用一个vector或一个string。 坦白地说,我想到了一个(也是唯一一个)用vector或string代替动态分配数组会出现的问题,而且它只关系到string。很多string实现在后台使用了引用计数
2024-03-17
Effective STL
#C++ #STL #Vector #String

Effective STL - 01 - Containers

Containers条款 1 仔细选择你的容器 vector是一种可以默认使用的序列类型,当很频繁地对序列中部进行插入和删除时应该用list,当大部分插入和删除发生在序列的头或尾时可以选择deque这种数据结构 连续内存容器(也叫做基于数组的容器)在一个或多个(动态分配)的内存块中保存它们的元素。如果一个新元素被查入或者已存元素被删除,其他在同一个内存块的元素就必须向上或者向下移动来为新元素提
2024-03-17
Effective STL
#C++ #STL #Effective STL #Containers

使用zerotier实现免费上网

原理本文提到的操作需要使用一台机器进行中转,这个机器可以是服务器,也可以是自己工位上的 Windows 机器。同时,这个机器上还必须打开了 Clash、V2Ray、SSR 之类的代理,并拥有一个端口号。 基本原理:假设我们在宿舍有一台笔记本,称为 Alice,简称为 A;在工位上有一台电脑,称为 Bob,简称为 B。A 只能访问校园网的网站,例如 csu.edu.cn;B 能够访问互联网,例如 b
2024-03-14

llama2

LLaMa2Transformer IntroductionArchitecturetransformer 最主要的结构就是这张图: 在纯 Encoder 或者纯 Decoder 的架构中,会变成只有左边的 transformer block 的结构,但是区别在于 Multi-Head Attention 是否存在 mask。Encoder-only 架构为了获取每一个 token 的完整上下
2024-03-13
#Transformer #LLaMa2

Caffe2 中 float32 与 float16 的转换

generated by Copilot and translated by DeepL 这段 C++ 代码是一个名为 cpu_float2half_rn 的函数,用于将单精度浮点数(32 位)转换为半精度浮点数(16 位)。该函数将浮点数作为参数,并返回一个 float16 对象。转换过程涉及多个步骤,包括处理 NaN 和无穷大等特殊情况,从输入中提取符号、指数和尾数,以及四舍五入到最接近的偶
2024-03-12

ORT 模型部署

Deploy ORT modelonnxruntime-inference-examples/mobilenet.ipynb at main · microsoft/onnxruntime-inference-examples 详细记录YOLACT实例分割ncnn实现 真正部署模型,不应该把后处理包括在模型推理中,这会影响模型在GPU上的部署,性能也不一定会好。这里的后处理,不
2024-03-12

MNN GPU float16 使用原理

我观察到 MNN 在使用 GPU OpenCL 时,会默认使用 float16 的格式,导致模型评测时时间不同,如图。因此查看了 MNN 的源码,发现了一些有趣的东西。 MNN 使用 MNN::BackendConfig::Precision_Low 时,会根据 GPU 的实际情况判断是否使用 float16 的数据格式。代码随附。 当导出的模型可以使用 float32 或者 float16 保
2024-03-11
123

搜索

Hexo Fluid
总访问量 次 总访客数 人