Windows下编译并测试OpenCV

注1:以下若不做说明默认将opencv下载编译到我本机 C:\\Users\\HuntZou\\Downloads\\ 目录下,您需根据您自己的情况做一些替换。 注2:以下若不做说明则都是我自己试过的方法 编译 下载cmake https://cmake.org/download/ 下载opencv源码 …

输入输出对模型回传梯度的影响

TL;DR: 输入会影响梯度,输出基本上也都会有影响 输入 如果是线性网络的话,输入其实就是梯度,例如对于函数 y = kx+b 来说,forward时,输入x求y,backward时,求k的梯度,其实就是x。 而目前大部分的网络其最内部的函数就是线性函数(网络模型可以看作多层的嵌套函数) 输出 如果单从一个线性函数 y=kx+b 来说,求k的梯度确实没用到 …

对C++引用库的理解

情景 创建两个静态库 libA 和 libB,libB依赖libA。创建一个程序App引用 libB 关系为:App -> libB -> libA 一般做法是: 创建完libA后编译生成静态库,创建libB时引用该静态库并将libA的头文件复制到libB项目中进行引用。 App对libB的引用也是导入它的静态库和头文件。 可不可以不用头文件? 可以,头文件 …

C++、Qt编译相关概念

问题描述 使用vs2022创建了一个静态库,欲在qt程序中使用,结果报 undefined reference to xxx 错误,这里的xxx就是静态库中定义的方法。可以保证: 已经正确配置依赖并添加头文件 在vs中创建一个示例程序并引入该lib发现可以正常使用 由于对c++生态不太熟,做此记录 问题原因 vs使用的是msvc编译器,而qtcreator中 …

我对程序员行业持悲观态度

我记得电影《大空头》中,主角一行人之所以能预测房市泡沫即将破裂,是因为他们发现当时的房贷很容易得到。由于当时房地产市场被炒得火热,他们调查发现,就算一个妓女手上也有很多房产。银行被房市冲昏了头,使得房贷极易获得。他们想去走访某个申请了房贷的用户,结果发现该用户只是某个人家中一条狗的名字——银行贷款条件宽松到根本不会做任何调查了。 我觉得目前程序员行业也有点类 …

Visual Studio 2022程序打包方法

从打包方式来看,分为debug和release包(项目构建方式) 从依赖方式来看,分为静态链接和动态链接(处理项目依赖的方式) 从程序用途来看,分为exe、lib、dll(最终生成产物) 它们之间互相交叉组合打包 Step 1:配置库依赖(若项目中有依赖第三方的库,NuGet的不需要) Step 2:配置管理器中选择编译类型(默认是debug,打出来的就只有 …

.h/.cpp/.hpp/.c/.o/.obj/.lib/.dll/.a/.so/.exe傻傻分不清

这些都是c/c++编译运行时期所产生的文件,作为一个没用过这门语言的人很容易搞混。 简单分类 简单分三类,也就是三个过程需要的文件 .h/.cpp/.hpp/.c:代码源文件 .o/.obj/.lib/.a:编译过程需要的文件 .dll/.so/.exe:运行过程需要的文件 源代码 cpp 与 c .cpp和.c分别为c++和c的源代码文件。早期都只用.c文 …

docker中的用户解惑

发生了什么? 普通用户(在docker用户组中)通过docker创建了一个文件,结果显示该文件的所有者却是root,且该普通用户已无权删除该文件: 接着,我又使用root用户在宿主机直接创建一个文件: 然后切换回普通用户,再使用docker去删除该文件: 再回头看该文件: 发现该文件已经被删除了。 是不是有种细思极恐的感觉:普通用户只要通过docker就能以 …