代码阅读笔记

odrive代码阅读笔记 【代码】odrive代码阅读笔记。 阅读详情

1. 强制类型转换 不提示warning方法

/* Casts 'pointer' to 'type' and issues a compiler warning if the cast changes

 * anything other than an outermost "const" or "volatile" qualifier.
 *
 * The cast to int is present only to suppress an "expression using sizeof
 * bool" warning from "sparse" (see
 * http://permalink.gmane.org/gmane.comp.parsers.sparse/2967). */
#define CONST_CAST(TYPE, POINTER)                               \
    ((void) sizeof ((int) ((POINTER) == (TYPE) (POINTER))),     \

     (TYPE) (POINTER))


2. 找出整型数中最低位为“1”的位置,等同于(x-x&(x-1))/2,那个效率高呢?

static int
raw_ctz(uint32_t n)
{
    unsigned int k;
    int count = 31;


#define CTZ_STEP(X)                             \
    k = n << (X);                               \
    if (k) {                                    \
        count -= X;                             \
        n = k;                                  \
    }
    CTZ_STEP(16);
    CTZ_STEP(8);
    CTZ_STEP(4);
    CTZ_STEP(2);
    CTZ_STEP(1);
#undef CTZ_STEP


    return count;
}

Robot Framework 源代码阅读笔记 之 一 从源代码里应该可以帮我解答一些问题: 1. 这些关键字怎么定义的,然后怎么对应到具体的库来执行的 2. 框架的逻辑组织架构是什么样的,能学到哪些东西 3. 有没有一些可以改进的地方 4. 用到了哪些语言特性和技巧 5. 其他一些思考 安装完之后的入口robot文件如下: https://github.com/robotframework/robotframework/tree 阅读详情

相关推荐

Semantic Fusion代码阅读笔记

semantic fusion是基于elastic fusion,结合FCN和CRF的语义SLAM开源框架。最近在看语义SLAM,觉得这篇文章不错,代码也有开源,就读了代码,力求搞懂代码流程,参考其程序的组织实现方式。 目前只看了src部分,elastic fusion部分的论文还没有读,读过之后再来读代码。不过其中接口封装的比较好,难度倒不是很大。 项目网站 我注释后的代码 一、程序框架 项目分...

pikachu_777的专栏 2404

fg代码阅读笔记1

fg代码阅读笔记

天高任鸟飞海阔凭鱼跃的专栏 659

GraphSage 代码阅读笔记

relation也就是边 没有embedding supervised_train.py 是用节点分类的label来做loss训练,不能输出节点embedding unsupervised_train.py 是用节点和节点的邻接信息做loss训练,训练好可以输出节点embedding ...

开卷有益 1533

代码阅读笔记——vl_nncrop

大师兄让我看代码,可是最近眼睛疼,在电脑上做笔记实在费事。而且还得省着点眼睛写实验报告,就把代码打印出来一边读一点做笔记。做了笔记又怕丢了找不着,索性拍成照片传上来,聊做备份。

休语栓的专栏 1006

ss524v100 调试cvbs输出

启用视频层3 dev2 对应 layer3在vdec与vo绑定的时候(不需要经过vpss),不能绑定错误,以下是绑定的程序。

2116

DeepLearningTool-深度学习分类-和HALCON的详细过程

损失函数:衡量预测误差,用于模型优化。混淆矩阵:评估分类模型性能,提供详细预测结果分析。两者结合使用,可以全面评估和优化模型。过拟合:模型过于复杂,捕捉了噪声,表现为训练集误差低,测试集误差高。欠拟合:模型过于简单,无法捕捉数据模式,表现为训练集和测试集误差都高。调整参数过拟合:简化模型、增加数据、使用正则化、早停、Dropout。欠拟合:增加模型复杂度、特征工程、增加训练时间、调整学习率、使用集成方法。通过合理调整参数和方法,可以有效避免过拟合和欠拟合,提升模型性能。

weixin_36672036的博客 6193

EGOPlanner—Prometheus代码阅读笔记汇总

Prometheusv2中的EGOSwarm代码阅读笔记,个人学习用。 参考了较多知乎CK1201大佬的EGOSwarm代码阅读笔记。 目前还在补充,欢迎大家交流!

qq_33401810的博客 2043

FreeFEM++下载安装和使用

最近要利用机器学习求解一些偏微分方程,对于一些复杂的偏微分方程,需要一些精度比较高的参考解,导师推荐了FreeFEM++软件。首次使用,特此记录一下,以备以后查阅。 1、FreeFEM++简介 FreeFEM是开源的有限元模拟系统,有法国利翁斯实验室、埃尔和玛丽居里大学共同开发,在世界范围内广泛使用。 2、FreeFEM++去何处下载? 下载地址:https://freefem.org/ 点击Download,然后会跳转到 https://github.com/FreeFem/FreeFem-source

夜晓岚的博客 1万+

大创项目笔记,代码阅读部分

萝卜丝儿皮尔 629

传感器模块的电路艺术:从引脚定义到系统集成的设计哲学

本文深入探讨传感器模块的电路设计艺术,从引脚定义到系统集成的完整设计哲学。重点解析电源管理、信号处理及I2C通信协议等核心电路原理,分享多模块协同中的电源架构、信号完整性和接地策略,为硬件工程师提供实用的系统级设计思维与实战案例。

o1p2q3r的博客 223

基于Dify1.9知识库流水线模板的思考——图像和表格数据处理

本文探讨了Dify1.9知识库流水线中LLM节点对文档图像/表格增强处理的优化方案。针对当前仅在内容后追加说明的简单做法,提出了结构化标注的改进方法:通过唯一ID和注释块标记图像/表格及其描述,确保内容可精准对齐。文章详细阐述了该方案的解析处理流程、数据结构化表示方法,以及在RAG检索和文档还原中的具体应用。关键经验包括:必须结构化标注非文本内容、LLM增强的必要性、语义向量化处理等。该方案解决了原始方法在内容重排、相似元素区分和检索精度等方面的问题。

roseey的专栏 1438

梦断代码阅读笔记07

《梦断代码》 在前段时间粗略地阅读了《梦断代码》这本书,初读这本书感觉还是非常有意思的,下面是我做的一些阅读笔记和个人心得。 第0章 软件时间 作者并不是像其他作者一样,中规中矩,开头就是以第0章命名,这是因为0代表程序员的思维方式,因为计算机从0开始计数。 作者开始迷恋于一个开放代码并可以由游戏玩家更改程序的一个游戏,并为在它的基础上创新和增添一些功能而乐此不疲。 文中写到“Hello...

weixin_30451709的博客 148

锐浪报表 Grid++Report 子报表 Delphi

锐浪报表 Grid++Report 是国内较好的报表控件,本人一直使用它,做出很多特色的报表。可以说你的报表设计出来,它基本上能做出来。 但是它帮助文件上,说的不深,近期因为要做一个有关社工的报表,大表中,嵌套2个子表。可以说,一个表到三个数据集,分别打印。 在认真看了帮助的基础上,网上探索,基本无此类,特别是Delphi的帮助,几乎为零。经二天摸索,做出来了。 一、设计思路 1、大表和二个小表,可以设计为三个表,分别使用三个GridppReport控件,取名...

lyhoo163的专栏 9075

STORM代码阅读笔记

默认的 分辨率是 [160,240] ,基于 Transformer 的方法不能做高分辨率。

qq_41623632的博客 751

【即插即用模块】卷积篇 | TCSVT 2025 | MFACB:多尺度膨胀融合,快速扩大感受野,多尺度特征精准捕捉!

本文提出了一种新型多尺度融合膨胀卷积模块MFACB,用于增强语义分割任务中的特征表达能力。该模块通过三分支串联膨胀卷积结构快速扩大感受野,采用双路径融合机制(基础信息路径+多尺度信息路径)实现高效上下文聚合。相比传统卷积块,MFACB在保持轻量化的同时显著提升了多尺度特征捕捉能力,实验表明其性能优于基础残差块。该模块支持自定义膨胀率和步长调整,可灵活嵌入不同网络阶段,适用于需要特征增强的视觉任务。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 311

【AI Agent 记忆共享实战】【下篇】多 Agent 会话 Session 统一共享实战:全链路工程落地、采集归一、MCP 服务、私有化部署、源码级实战

中篇我们已经锁定最终最优架构方案: 非侵入式、外部旁路采集、只读归一、中心化存储、MCP 按需检索注入。摒弃「改 Agent 源码」「软链接互通」「原生 Session 互导」等不现实方案。本篇直接落地可上线、可简历复用、可个人私有化部署多 Agent 异构 Session专属采集器(Claude/CODex/DSH/OpenCode/Kimi/WorkBuddy/ 豆包)统一消息归一化解析层(解决所有 Schema 异构)增量同步、去重、时间戳对齐核心逻辑。

十年老程序猿,AI 疯狂研究专家,前沿硬核知识分享 483

ros1导航代码阅读笔记

ros1导航代码阅读笔记 官网地址 https://github.com/ros-planning/navigation

zy806235948的博客 245

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

《代码阅读方法与实践之读书笔记之一》

《代码阅读方法与实践之读书笔记之一》 阅读代码是程序员的基本技能,同时也是软件开发、维护、演进、审查和重用过程中不可或缺的组成部分。《代码阅读方法与实践之读书笔记之一》这本书围绕代码阅读,详细论述了相关的知识与技能。我希望通过...

dijieyi3539的博客 150

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

ego-planner代码个人阅读笔记

multi_node.launch:控制多个无人机节点iris0,1,2,这是命名空间,实际上是px4ctrl_0才是节点名字,重映射话题防止话题重复from="odom" to="mavros/local_position/odom"后odom这个话题就变成/iris_0/mavros/local_position/odom,在这个命名空间下启动mavros的话题。run_mavros_gazebo.launch:在仿真环境下的单架无人机,软件在环 (SITL):在软件上模拟无人机飞控。

weixin_62742821的博客 435

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

MAML-Pytorch代码阅读笔记

正在更新中。。。。。。 参考博客: https://www.mutepad.com/2019/05/24/maml-%E8%AE%BA%E6%96%87%E5%8F%8A%E4%BB%A3%E7%A0%81%E9%98%85%E8%AF%BB%E7%AC%94%E8%AE%B0/ 代码:https://github.com/dragen1860/MAML-Pytorch MAML-pytorch: 首先看下网络结构: config = [(‘conv2d’, [32, 3, 3, 3, 1, 0]),(‘r

binger520886的博客 1万+

VGG 代码阅读笔记

VGG 代码阅读笔记 论文链接: https://arxiv.org/abs/1409.1556v6 论文阅读笔记可以查看这篇博客 一、 网络结构 VGG的网络结构具体如下所示: import torch import torch.nn as nn from torchvision.models import vgg16 cfg = { 'A' : [64, 'M', 128, 'M', 256, 256, 'M', 512, 512, 'M', 512, 512, 'M'], 'B'

Tianchao龙虾 280

代码阅读笔记(1)

21年9月13日——代码阅读笔记 首先看模型部分: root_dir_train = 'dataset\\train\\' root_dir_test = 'dataset\\test\\' 训练集与测试集的根目录 def get_im_cv2(paths, img_rows, img_cols, color_type=3, normalize=True): ''' 参数: paths:要读取的图片路径列表 img_rows:图片行 img_

qq_44705887的博客 325

DS-SLAM代码阅读笔记

在构造Frame时调用了ProcessMovingObject函数,根据光流初步筛选动态点,这是为了后续剔除动态特征点时不需要全图遍历,可以从这些点来判断是否存在动态对象。为了保证主干代码清晰,删除了一些参数验证、文件验证等验证性代码,计算运行时间的代码,部分功能性函数的具体实现,部分参数的定义等。这篇笔记用于理解代码的运行流程,以及明确代码中可以改动的地方、不需要进行改动的地方。该文件中DS-SLAM的修改部分主要为使用了ROS。该文件中的修改部分主要为创建了一个额外的分割线程。

qingyu666666的博客 664

代码阅读笔记(2)

21年9月13日——代码阅读笔记(2) test的部分: def plot_matrix(y_true, y_pred, labels_name, title=None, thresh=0.8, axis_labels=None): 该函数用于建立矩阵,稍后在建立混淆矩阵时使用,具体代码省略。 def getimagedataandlabels(root_dir): def custom_gabor(shape, dtype=None): def squeeze_excitation_layer(x, o

qq_44705887的博客 152

ffmpeg 代码阅读笔记2/2

本文分析了FFmpeg 4.4的转码主流程。核心函数transcode()分为初始化(transcode_init)和循环处理(transcode_step)两部分。transcode_step通过process_input读取输入包并解码,然后通过reap_filters获取过滤后的帧进行编码输出。重点剖析了过滤器系统的实现机制:当首次解码音频/视频帧时,会动态配置AVFilterGraph,随后通过av_buffersink_get_frame_flags获取过滤后的帧,

hjjdebug的专栏 787
上一篇: 转自谋百科 子网
下一篇: signal(SIGPIPE, SIG_IGN)
BlueSy2008
博客等级 码龄20年 26粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值