- 博客(17)
- 收藏
- 关注
原创 PyTorch中的movedim、transpose与permute
movedim是把指定维度移动到新的维度位置,其他未移动的的维度保持相对位置不变。对于 source_tensor.movedim(d1, d2):如果 d1,d2 是连续的,则效果等同于 source_tensor.transpos(d1, d2)如果 d1 < d2,则移动后,原始维度中(d1, d2] 范围内的维度左移一位;如果 d1 > d2,则移动后,原始维度中(d1, d2] 范围内的维度右移一位;torch.tranpose 是用于交换两个维度,且只能交换两个维度。
2025-01-26 19:18:41
1118
原创 C++ 的值类别、auto与decltype
C++11开始引入了decltype关键字,和auto一样,它也是用于获取和推断对象和表达式类型的。它们两者在类型推断上,有什么不同呢?
2024-09-22 16:30:52
1199
原创 C/C++ 宏定义、嵌套宏的展开、可变参数宏
只有覆盖宏定义的作用域是从定义处到文件结尾处(与之对比🆚,using、typedef 等的作用域,则与变量定义的作用域相同)对于带参数的宏定义,宏定义内容部分中出现的参数,其前后必须出现分隔符(字母、数字、下划线以外的符号,比如 空格、‘-’ ‘:’ 等) 才会被预处理当做参数,否则会被当做普通字符串原样保留。
2024-09-19 22:54:26
3495
原创 C/C++中的预定义宏
预定义宏是由编译器自动定义的标识符,它们包含了编译器、操作系统、文件名、行号等编译时信息。开发者可以直接在代码中使用这些宏,而无需手动定义。C语言/C++中的预定义宏LINE描述:当前源代码行号。return 0;FILE描述:当前源文件名。return 0;DATE描述:编译的日期。return 0;TIME描述:编译的时间。return 0;STDC描述:如果定义了该宏,则表明编译器符合ANSI C标准。
2024-09-18 22:38:49
704
原创 C++ 中的位操作:从基本运算到bitset的全面应用
通过位掩码,你可以有效地设置、清除或切换多个位。要切换某个位的值(从0到1或从1到0),你可以将1左移到该位的位置,然后使用按位异或操作。要将某个位清除(置0),你可以将1左移到该位的位置,取反后按位与目标数。要获取某个位的值,你可以将该位右移到最低位,然后与1进行按位与运算。要将某个位设置为1,你可以将1左移到该位的位置,然后使用按位或运算。要清除多个位,你可以使用位掩码的反码,并进行按位与操作。通过位掩码和按位异或操作,你可以切换多个位。你可以通过位掩码同时设置多个位。
2024-09-18 22:19:45
1109
原创 C++ 引用折叠、万能引用与右值引用
如果一个函数模板形参的类型为T&&,并且T需要被推导得知,或者如果一个对象被声明为auto&&,这个形参或者对象就是一个通用引用。如果类型声明的形式不是标准的type&&,或者如果类型推导没有发生,那么type&&代表一个右值引用。通用引用,如果它被右值初始化,就会对应地成为右值引用;如果它被左值初始化,就会成为左值引用。
2024-09-18 17:25:39
1242
原创 C++ const 与 函数重载
大部分情况下,const修饰形参本身并不直接影响函数重载的判定,因为const修饰的是形参的 ,不影响参数类型; 但是,如果 const 修饰的是指针或者引用,那么如果是 底层const 会影响参数的类型,从而导致重载。简单区分一下 顶层const 和 底层const:顶层const:顶层 表示指针本身是个常量, 被修饰的变量本身无法改变;底层const:底层 表示指针所指的对象是一个常量。const 对普通函数的重载的影响值传递的形参,是否加const 不构成重载顶层const指针传递的形
2024-09-15 23:44:49
821
原创 C++中的类型别名定义: using vs typedef
C++11新增了using关键字。 typedef 不能直接用于模板,using 可以直接用于模板NOTE]注意📢:typedef 不可以定义模板类型的别名;但是对于模板类的类型参数已经推演过或者确定typedef不支持模板化,但别名声明(using)支持。使用别名模板可以避免使用 ::type 后缀和在模板中频繁使用 typename 前缀来引用 typedef。C++14 为所有 C++11 类型特性转换提供了别名模板的支持。
2024-08-04 23:22:07
947
原创 C++线程对象std::thread之join和detach
C++11 之后有了标准的线程库:std::thread。Linux环境下,C++的库底层是对pthread的封装。一旦一个std::thread绑定了一个函数(如通过有参构造函数构造了一个std::thread对象),则此对象就会立刻开始执行传递进来的函数。
2023-07-23 17:34:31
1320
原创 CPMBee 10b beam_search代码解读
在常见的序列搜索算法中,贪心搜索(greedy search)的复杂度属于最低的那一档。贪心搜索的思想是每一步都直接选取概率最大的那个token,再把从第一个时间步到现在所生成的所有token作为输入送给下一个时间步的decoder,知道生成结束的标志(eos_id)。很明显,这样做复杂度从遍历词汇表所有词汇指数级别的复杂大降低到了与长度线性相关的复杂度;但缺点也很明显:每一步只选择一个当前概率最大的词汇(token),丢掉了其他的可能性的输出,整体输出结果未必是最优的。
2023-07-22 14:39:07
247
原创 解决Windows10/11系统桌面背景或者IDE背景出现的莫名其妙的方框/格子
最近疫情,在家远程办公。突然间发现,不知道从什么时候开始,桌面背景,浏览网页时候的背景,甚至vscode 深色主题下,都出现了莫名其妙的正片连在一起的方块和方框□,如下图所示:尝试过以下解决办法:1. 重启2. 切换显卡(独显/集显)3. 重装显卡驱动4. 切换账号登录笔记本电脑均无效,一度放弃。后来偶然间关闭了远程办公用的VPN软件 easyConnect,这些方框□神奇的全部消失了,背景恢复正常。 然后重新打开这个软件,之前的那些方框方格有重新出现,所以基本断定是..
2022-06-05 00:32:12
4332
原创 C++ Tips
1. C++智能指针中引用计数的实现为什么不用static int count这种形式?答:C++ 中shared_ptr是一个模板类,其 引用计数使用的是私有的指针 int* count,所有实例通过共同的指针来对 引用计数count实现增减。之所以没有使用 static int count这种形式,是因为 静态成员变量为所有类实例共享,这在有些情况下会导致引用计数发生错误,比如:SmartPointer<int> a;// ...SmartPointer<int>
2022-01-19 21:02:27
731
原创 Python Tips
1.Python import 报错:"ModuleNotFoundError: No module named xxxx.yyyy"如果是从 site-pacakges里import ,请确认你已经安装了这个库,或者安装了正确的版本。 如果是导入当前Python目录中的某些代码,请把对应的路径加入到 sys.path中:sys.path.insert(0, 'your_path')。 有一种情况是你 site-packages中安装的某个库和你要从当前代码目录导入的文件充满,也会导致 Module
2022-01-05 10:33:56
527
原创 windows10上利用 VSCode+MinGW + CMake安装编译openCV
本文主要介绍在windows10上基于VSCode打造OpenCV开发环境,以及用MinGW编译安装OpenCV中遇到的一些报错。
2020-05-01 21:33:37
2013
原创 人体姿态检测网络 stacked hourglass 官方pytorch实现 运行步骤
内容介绍本文主要介绍如何在自己的PC电脑上搭建官方pytorch stacked hourglass 运行环境。官方stacked hourglass 地址:https://github.com/princeton-vl/pytorch_stacked_hourglass参考网址论文地址:https://arxiv.org/abs/1711.06753v4论文翻译:...
2020-04-10 20:57:53
4071
19
原创 Git命令
参考文档:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html一.查看信息# 显示当前工作区变化状态$ git status# 显示当前分支的提交历史$ git log# 显示具体某一文件的提交变更历史$ git log --follow file-name# 显示某次提交发生变化的文件$ git show --name-only ...
2018-02-11 15:05:47
241
原创 工作中遇到的Linux命令
1.打开文件夹: cdcd 是打开某个路径的命令,也就是打开某个文件夹,并跳转到该处。$ cd path ### path是要打开的文件夹的路径其中 path 有绝对路径和相对路径之分,绝对路径强调从/起,一直到所在路径。相对路径则相对于当前路径来说,假设当前家目录有etc文件夹(绝对路径应为/home/username/etc),如果直接cd etc则进入此文件夹,但若是cd /...
2018-02-09 15:33:07
153
C++ 定义宏函数报错
2024-09-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人