pytorch-notes pytorch-notes channles_last 内存格式 https://juejin.cn/post/7155302838636118047 一般是NCHW 格式内存排列,当数据为 (10x3x16x16) 时,对应的 stride 为 (768, 256, 16, 1),不同颜色的通道是分开的,一个颜色对应着一张图 而 channels_last 是 NHWC 格式内存排列,对应的 2024-07-31 pytorch
ref-qualifier ref-qualifier https://en.cppreference.com/w/cpp/language/member_functions Member functions with ref-qualifier An implicit object member function can be declared with no ref-qualifier, with an lvalue r 2024-07-31 cpp
smart_ptr std::shared_ptr 引用计数是原子的, 大多数解释是 shared_ptr 本身是线程安全的,但是对指向对象的读写不是线程安全的。 本身是线程安全的是什么意思呢,理解为在多线程中对shared_ptr 的读、复制和当引用计数大于 1 时的写是线程安全的。特别注意的引用计数大于 1 时的写,可以是该shared_ptr 本身的析构,也可以是赋值为其他的 shared_ptr,因为引用计数 2024-07-26 智能指针
image_preprocess 标准化和归一化 标准化(Standardization):将一组数据变换为均值为0,标准差为1的分布(该分布并非一定符合正态分布) 公式: (x - mean)/ std bgr 图像常用的均值和标准差值为: mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375] 归一化(Normalization):将一组数据变化到某个固定区 2024-07-26 图像预处理
network_communication socket 编程 大端序和小端序 PC 上是小端序(低位在低地址,高位在高地址,易于计算机处理) 网络传输是大端序(低位在高地址,高位在低地址,符合人类的阅读习惯) 发送端总是把要发送的数据转化为大端字节序数据后再发送 socket 地址 通用socket 地址 sockaddr 1234struct sockaddr { sa_family_t sa_family; ch 2024-07-08 network network
taskflow-analysis taskflow主要的类 Executor An executor manages a set of worker threads to run one or multiple taskflows using an efficient work-stealing scheduling algorithm. 顾名思义,taskflows 的执行实体,包括线程的创建和调度,默认创建cpu 核数量的线程 2024-06-26
vi_usage 以普通用户身份打开,以 root 用户身份保存 :w !sudo tee % :w - 这是写入命令。由于没有给出参数,vim 将把整个文件写入标准输出; !sudo - 将 sudo 命令作为 shell 命令而不是 vim 命令运行; tee - tee命令用于读取标准输入并将其写入标准输出或文件; % - vim 将其替换为您正在编辑的当前文件的名称。 :w 命令将整个文件写入 STDOUT 2024-04-24
测试磁盘读写速度 dd-测试硬盘写入速度 dd bs=1M count=128 if=/dev/zero of=test conv=fdatasync iostat 查看设备IO 参考链接 2024-04-18
cuda-notes 杂记 1.可以在kernel 里设置同步点进行数据间的同步,__syncthreads()通常用于调整在相同块之间的线程通信 2.一个批处理中每一个多处理器可以处理多少个块,取决于每个线程中分配了多少个寄存器和已知内核中每 个时钟需要多少的共享内存 3.warp是硬件层面中SM对应执行线程的单位。 线程束Wrap是GPU的基本执行单元,目前cuda的warp的大小为32。 同在一个warp的线程执 2024-01-31 cuda
tensorrt_tutorial sample 编译 https://github.com/NVIDIA/TensorRT/tree/release/8.0?tab=readme-ov-file#prerequisites github 上下载对应仓库,然后根据对应的 cuda 版本选择对应的tag进行下载。 比如选择 release/8.0,如果有 docker 环境,可以利用官方提供的 docker 镜像进行;裸机的话需要安 2024-01-19