Eigen源码阅读——杂文

2023-11-02

目录

README.md

signature_of_eigen3_matrix_library

eigen3.pc.in

pkg-config配置文件

INSTALL

CTestCustom.cmake.in

CTest测试

COPYING.README

CTestConfig.cmake

COPYING.MPL2

COPYING.MINPACK

COPYING.LGPL

COPYING.GPL

COPYING.BSD

COPYING.APACHE


README.md

**Eigen是一个用于线性代数的C++模板库:矩阵、向量、数值求解器和相关算法。

欲了解更多信息,请访问http://eigen.tuxfamily.org/。

关于***拉动请求***、***bug报告***和***功能请求***,请到https://gitlab.com/libeigen/eigen。


signature_of_eigen3_matrix_library

这个文件只是作为一个签名,帮助识别包含Eigen3的目录。当编写寻找Eigen3的脚本时,只需寻找这个文件。这对帮助消除与Eigen2的歧义特别有用...

signature_of_eigen3_matrix_library 文件是 Eigen3 矩阵库的一个标识文件,用于验证编译器是否能够正确地编译 Eigen3 库。

在编译 Eigen3 库时,编译器需要检查一些条件是否满足,以确保编译过程中没有出现错误。其中之一是检查是否能够正确地编译 signature_of_eigen3_matrix_library 文件。如果编译器能够正确地编译该文件,就说明编译器能够正确地识别和处理 Eigen3 库中的模板代码,因此可以继续编译 Eigen3 库。

因此,signature_of_eigen3_matrix_library 文件并不是库的一部分,只是在编译过程中用于检测编译器是否支持 Eigen3 库的标识文件。

signature_of_eigen3_matrix_library是Eigen库的一个特殊文件,其作用是通过MD5算法计算Eigen库的所有源文件的签名值,并将签名值输出到该文件中。该文件的内容是一个字符串,代表了当前版本的Eigen库的签名值。

这个文件的作用是用于检测Eigen库的正确性和完整性。在Eigen库的构建过程中,会检查该文件中的签名值是否和当前构建所使用的Eigen库的签名值一致,如果不一致,则可能意味着Eigen库的某些文件已经被修改或损坏,需要重新下载或重新安装Eigen库。


eigen3.pc.in

这个文件是一个pkg-config的配置文件模板,用于在安装Eigen3库时生成实际的pkg-config配置文件。

  • prefix: Eigen3库安装的路径前缀,由CMake在安装过程中动态替换。
  • exec_prefix: Eigen3库二进制文件安装路径前缀,由CMake在安装过程中动态替换。
  • Name: Eigen3库的名称。
  • Description: Eigen3库的描述信息,说明它是一个用于线性代数的C++模板库。
  • Requires: Eigen3库的依赖关系,这里为空。
  • Version: Eigen3库的版本号,由CMake在安装过程中动态替换。
  • Libs: Eigen3库的链接选项,这里为空。
  • Cflags: Eigen3库的编译选项,这里包含一个头文件搜索路径,用于告诉编译器在哪里可以找到Eigen3的头文件。

pkg-config配置文件

pkg-config是一个在Linux系统下管理库依赖关系的工具,通常用于构建和安装软件时指定依赖库的版本和路径信息。pkg-config通过读取配置文件来获取这些信息,而配置文件的命名规则通常是“<library>.pc.in”。

这些配置文件以文本格式编写,通常包括库的名称、描述、版本号、安装路径、头文件路径和库文件路径等信息,还可以指定库的依赖关系和编译选项。在编译和链接软件时,pkg-config可以根据这些信息来自动确定库的路径和编译选项。

一个典型的pkg-config配置文件包括以下内容:

  • Name: 库的名称
  • Description: 库的描述
  • Version: 库的版本号
  • Requires: 库的依赖关系
  • Libs: 库文件的路径
  • Cflags: 头文件的路径和编译选项

通过这些信息,pkg-config可以帮助开发者更方便地管理库的依赖关系,避免在构建和安装软件时出现版本不一致或路径错误等问题。


INSTALL

Eigen的安装说明
***********************************

开始前的解释
***************************

Eigen只由头文件组成,因此在使用前不需要编译。此外,这些头文件并不取决于您的 平台,它们对每个人都是一样的。

方法1. 不使用CMake进行安装
****************************************

你可以立即使用Eigen/子目录下的头文件。安装时,只需将Eigen/子目录复制到您喜欢的位置。
如果您还想获得不支持的功能,请复制unsupported/子目录。

方法2. 使用CMake进行安装
********************************

让我们把这个目录称为'source_dir'(这个INSTALL文件就在这里)。在开始之前,创建另一个目录,我们称之为 "build_dir"。

请执行以下操作

  cd build_dir
  cmake source_dir
  进行安装

make install "这一步可能需要管理员权限。

你可以调整安装目的地("前缀")。
你可以通过向 cmake 传递 -DCMAKE_INSTALL_PREFIX=myprefix 选项来调整安装目标("前缀"),正如 cmake 在最后打印的信息中解释的。


CTestCustom.cmake.in

CTestCustom.cmake.in 是 CTest 测试工具的一个配置文件模板,通常在 CMake 项目中使用,用于自定义测试的行为和输出。

该文件中包含的代码片段用于设置 CTest 的一些特定参数,例如最大的警告和错误数量,以及自定义错误异常的列表等。

使用此文件可以使开发者更好地掌控测试过程,自定义测试的输出信息,以便于定位问题和进行调试。

在 CMake 中,当项目使用 add_test() 命令添加了测试用例之后,CTest 工具可以通过运行测试脚本并收集输出信息来进行测试。CTestCustom.cmake.in 文件可以通过在项目的根目录下创建一个名为 CTestCustom.cmake 的文件并按照自己的需要修改其中的内容,以自定义测试的行为和输出。

  • CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS:设置最大允许的警告数量为 2000,超过此数目将被认为是测试失败。
  • CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS:设置最大允许的错误数量为 2000,超过此数目将被认为是测试失败。
  • CTEST_CUSTOM_ERROR_EXCEPTION:这个变量的值可以是一些例外情况,当测试中遇到这些情况时,不会计入错误数量和警告数量中。这个变量在其他地方定义,应该是一个列表。

@EIGEN_CTEST_ERROR_EXCEPTION@这是一个 CMake 配置文件中的变量占位符,具体的值会在配置生成过程中被替换为具体的值。在这个变量中, "@" 符号用来标记占位符的起止位置。例如,如果变量 EIGEN_CTEST_ERROR_EXCEPTION 被定义为字符串 "MyException",那么这个占位符就会被替换为 "MyException"。


CTest测试

CTest是CMake项目的测试驱动工具,用于自动运行测试并生成测试报告。CTest是与CMake集成在一起的,允许您在项目中定义测试,并使用CTest运行这些测试。CTest允许您使用各种测试框架(例如CTest,Google Test,Boost Test等)运行测试。CTest还可以生成测试报告,包括测试通过率,测试失败消息等,这些报告可以用于调试和评估项目的稳定性。

CTest测试的基本步骤如下:

  1. 编写测试程序或测试用例。

  2. 将测试程序添加到CMakeLists.txt文件中。

  3. 使用add_test命令将测试添加到CTest。

  4. 使用CTest运行测试。

  5. 查看CTest生成的测试报告。

  6. 根据测试报告对项目进行调试和评估。

CTest的优点是可以集成在CMake中,从而简化了项目的测试流程,并且可以方便地与其他CMake命令集成。此外,CTest可以与各种测试框架(如Google Test和Boost Test)一起使用,从而可以使用已有的测试用例。最后,CTest可以生成各种格式的测试报告,包括HTML,XML和文本格式。


COPYING.README

Eigen主要是MPL2许可。参见COPYING.MPL2和这些链接:http://www.mozilla.org/MPL/2.0/ http://www.mozilla.org/MPL/2.0/FAQ.html
一些文件包含在BSD或LGPL许可下的第三方代码,因此这里有其他的COPYING.*文件。
所有的LGPL代码要么是只有LGPL 2.1,要么是LGPL 2.1-or-later。由于这个原因,COPY.LGPL文件包含LGPL 2.1文本。
如果你想保证你#including的Eigen代码是根据MPL2和可能的更宽松的许可证(如BSD)授权的,#define这个预处理器符号: 
EIGEN_MPL2_ONLY
例如,对于大多数编译器,你可以在你的项目中加入以下内容 
CXXFLAGS:  -DEIGEN_MPL2_ONLY
如果你#include任何LGPL许可的代码,这将导致产生一个编译错误。

EIGEN_MPL2_ONLY是一个预处理器宏,用于表示Eigen库遵循MPL2开源协议,且不允许在使用Eigen库的代码中使用不兼容MPL2的第三方开源协议。这个宏在Eigen库的源代码中被定义,在不同的条件下会被用于控制一些代码的编译和行为。例如,在存在这个宏的情况下,Eigen库中不会包含使用GPL或LGPL等协议的第三方代码。


CTestConfig.cmake

CTestConfig.cmake 是一个 CMake 脚本文件,用于在使用 CTest 进行测试时设置测试项目的配置选项。该文件一般位于项目根目录下,并由 include(CTest) 命令调用。

CTestConfig.cmake 文件中可以设置的选项包括但不限于:测试项目的名称、测试结果提交方式、测试结果提交的位置、测试的启动时间、测试的超时时间、测试失败的处理方式等等。这些配置选项可以通过修改 CTestConfig.cmake 文件中的相应变量值来进行设置。

CTestConfig.cmake 文件还可以包含其他 CMake 脚本文件,从而实现更加复杂的测试设置。使用 CTest 和 CTestConfig.cmake 文件可以方便地进行自动化测试,并将测试结果上传到各种测试仪表盘中进行展示和分析。

这是一个CTest的配置文件,用于配置CTest测试框架的各种参数。下面逐行解释:

  1. ## This file should be placed in the root directory of your project.

    这行注释表示这个文件应该放在你的项目的根目录下。

  2. ## Then modify the CMakeLists.txt file in the root directory of your project to incorporate the testing dashboard.

    这行注释表示在你的项目的根目录下修改CMakeLists.txt文件以包含测试仪表板。

  3. ## # The following are required to uses Dart and the Cdash dashboard

    这行注释表示使用Dart和Cdash仪表板需要以下内容。

  4. ## enable_testing()

    这行指令启用CTest测试框架。

  5. ## include(CTest)

    这行指令包含CTest测试框架的相关信息。

  6. set(CTEST_PROJECT_NAME "Eigen")

    这行指令设置CTest测试框架的项目名称为"Eigen"。

  7. set(CTEST_NIGHTLY_START_TIME "00:00:00 UTC")

    这行指令设置CTest测试框架的每日测试开始时间为UTC时间的午夜12点。

  8. set(CTEST_DROP_METHOD "http")

    这行指令设置CTest测试框架的测试结果上传方式为HTTP。

  9. set(CTEST_DROP_SITE "my.cdash.org")

  10. 这行指令设置CTest测试框架的测试结果上传服务器为"my.cdash.org"。

  11. set(CTEST_DROP_LOCATION "/submit.php?project=Eigen")

    这行指令设置CTest测试框架的测试结果上传位置为"/submit.php?project=Eigen"。

  12. set(CTEST_DROP_SITE_CDASH TRUE)

    这行指令设置CTest测试框架的测试结果上传服务器是否为Cdash。

  13. #set(CTEST_PROJECT_SUBPROJECTS

    #Official

    #Unsupported

    #)

    这几行注释表示项目可以被分成多个子项目,但在这里没有被使用。


COPYING.MPL2

COPYING.MPL2 是 Mozilla Public License Version 2.0 (MPL 2.0)的版权声明和许可证文本,它详细描述了 MPL 2.0 下软件的版权和使用规则,是一个开源许可证的范本。开发者在使用 MPL 2.0 许可证分发他们的软件时,通常会在软件源代码的根目录下包含 COPYING.MPL2 文件,以便用户在阅读该文件后了解软件使用的规则。

Mozilla Public License Version 2.0,简称MPL 2.0,是一种开放源代码软件许可证,由Mozilla Foundation制定和发布。它是自由软件基金会认可的自由软件许可证之一,也是开放源代码倡议的认证许可证之一。MPL 2.0许可证旨在平衡开发者的自由和用户的权利。该许可证允许开发人员以MPL 2.0发布软件,并允许在许可证下的任何软件源代码被修改和重新分发。它还规定了开发人员和终端用户的责任和义务,例如保持版权和专利问题的准确性。MPL 2.0允许在其他许可证下分发代码,并将MPL 2.0下的代码与其他许可证下的代码组合。


COPYING.MINPACK

COPYING.MINPACK 是 MINPACK 软件包的授权条款。MINPACK 是一个计算非线性方程和最小二乘问题的软件库。它包含多个子例程,可用于计算不同的非线性问题。授权条款规定了 MINPACK 软件包的使用、修改和分发条件。


COPYING.LGPL

COPYING.LGPL 是 GNU Lesser General Public License (LGPL) 的许可证文件。LGPL 是一个自由软件许可证,可以允许开发者将库链接到使用不同许可证的程序中。LGPL 协议的主要目的是允许在一些开源和专有软件的组合中使用开源库,同时保持库的开源性。LGPL 还规定任何以动态链接库的形式分发的代码都必须是免费的,但是可以允许以静态链接库的形式分发的代码包含在商业软件中。


COPYING.GPL

COPYING.GPL 是一份开源协议文本,全称为 GNU General Public License (GNU GPL),是自由软件基金会(FSF)发布的一种使用广泛的自由软件协议。其主要目的是保障自由软件用户的权利,确保任何用户都可以获取、使用、修改和重新发布自由软件。该协议适用于所有基于 GPL 协议的自由软件,其中包括许多著名的自由软件项目,如 Linux 内核、GNU 工具链等。


COPYING.BSD

COPYING.BSD是指BSD许可证。BSD许可证是一个被广泛使用的开源许可证,最初由加州大学伯克利分校开发。BSD许可证允许用户自由地使用、修改和分发代码,但要求用户在发布软件时包含原始许可证和版权声明。BSD许可证被认为是一种宽松的许可证,因为它允许代码被用于商业目的,并且没有强制执行衍生代码的开源发布。


COPYING.APACHE

Apache许可证是一种广泛使用的自由软件许可证,得到了Apache软件基金会的支持和管理。Apache许可证版本2.0(以下简称Apache 2.0)于2004年1月发布,是Apache许可证家族中最新的许可证。

Apache 2.0允许用户在符合以下条件的情况下使用、复制、修改和分发Apache软件或任何基于Apache软件的衍生作品:

  • 必须保留软件中包含的版权、专利、商标和声明信息;
  • 必须以源代码或二进制形式分发该软件;
  • 在分发任何修改后的文件时,必须包含以Apache 2.0许可证形式分发的有关版权、专利、商标和声明信息;
  • 在分发任何二进制文件时,必须提供与之相应的源代码,并提供修改后的代码;
  • 在没有事先获得书面许可的情况下,不得使用Apache软件的名称、商标、图形和其他识别符号。

Apache 2.0的目标是保护自由软件社区中的贡献者和用户,同时为商业实体提供更可接受的条款。它被广泛应用于许多自由软件项目和商业软件产品中。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Eigen源码阅读——杂文 的相关文章

  • matlab入门基础:矩阵操作(一)

    系列笔记目录 第二节 矩阵操作 一 创建特殊矩阵 矩阵的运算 文章目录 系列笔记目录 前言 一 创建特殊矩阵 二 矩阵运算 1 矩阵元素的修改 2 矩阵的变维 3 矩阵的变向 4 矩阵的抽取 练习 三 矩阵的数学运算 总结 前言 MATLA
  • 生成一定相关性的二元正态分布

    生成一定相关性的二元正态分布 摘要 二元正态分布 二元正态分布概率密度函数 二元正态分布随机数的生成 程序实现 多元正态分布的情况 生成服从 N
  • Open3D(C++) 根据索引提取点云

    目录 一 功能概述 1 主要函数 2 源码 二 代码实现 三 结果展示 本文由CSDN点云侠原创 原文链接 爬虫网站自重 把自己当个人 一 功能概述 1 主要函数 std shared ptr
  • 矩阵、行列式

    矩阵 行列式差异 矩阵 行列式 运算结果 可看成一个表格 可看成一个数 行列数 可以不等 必须相等 两个矩阵 或行列式 相等 每个元素对应相等 结果相等即可 相加 各对应元素相加 一行 或列 元素相加 数乘矩阵 常数k乘每个元素 常数k乘一
  • cuBLAS【CUDA专门用来解决线性代数运算的库】

    cuBLAS是CUDA专门用来解决线性代数运算的库 分为三个级别 Lev1向量乘向量 Lev2矩阵乘向量 Lev3矩阵乘矩阵 此外 cuBLAS库还包含一些功能和状态结构函数 学习网站为 参考资料 四 cuBLAS与cuDNN
  • 均值不等式链的几何证明

    均值不等式链的几何证明 这是我们高中时所见到的不等式链的关系 接下来将用几何图形的方法进行证明 首先 做圆 A 直径 BC 在圆上异于 BC 取一点 D 连接 DA DB DC 并做 DE 垂直与 BC 交 BC 与点 E 设 CE a B
  • 应用MATLAB求解线性代数题目(五)——特征值与特征向量

    目录 特征值和特征向量 相似矩阵 orth 将矩阵正交规范化 特征值和特征向量 我们先看一下特征值和特征向量的定义 可见 特征值可以通过特征方程 行列式 求得 则特征值与特征向量只存在于方阵中 根据MATLAB中的帮助文档 help eig
  • (邱维声)高等代数课程笔记:极大线性无关组,向量组的秩

    极大线性无关组 向量组的秩 quad 一般地 设 V V V 是数域 K K K 上的一个线性空间
  • 线性代数 【基础1】

    文章目录 行列式 方阵的行列式公式 矩阵 矩阵的逆 矩阵的秩 伴随矩阵 初等变换与初等矩阵 分块矩阵 向量 正交矩阵 正交化 线性表示 线性无关与线性相关 极大无关组与向量组的秩 线性方程组 解的性质与判定 齐次线性方程组 非齐次线性方程组
  • 线性代数——二次型

    一 通过矩阵研究二次方程 二次型的定义 把含有n个变量的二次齐次函数或方程称为二次型 例如 二次型可以用矩阵来表示 可以表示为 更一般的情况 可以表示为 令 则上式表示为 这就是我们常见的二次型表示方式 在 Linear Algebra a
  • 抖音seo矩阵系统源码搭建开发详解

    抖音SEO矩阵系统是一个用于提高抖音视频在搜索引擎排名的工具 如果你想开发自己的抖音SEO矩阵系统 以下是详细的步骤 开发步骤详解 确定你需要的功能和算法 抖音SEO矩阵系统包含很多功能 比如关键词研究 内容优化 链接建设 社交媒体营销等
  • 线性代数的本质(九)——二次型与合同

    文章目录 二次型与合同 二次型与标准型 二次型的分类 度量矩阵与合同 二次型与合同 二次型与标准型 Grant 二次型研究的是二次曲面在不同基下的坐标变换 由解析几何的知识 我们了解到二次函数的一次项和常数项只是对函数图像进行平移 并不会改
  • 图谱论学习—拉普拉斯矩阵背后的含义

    目录 一 为什么学习拉普拉斯矩阵 二 拉普拉斯矩阵的定义与性质 三 拉普拉斯矩阵的推导与意义 3 1 梯度 散度与拉普拉斯算子 3 2 从拉普拉斯算子到拉普拉斯矩阵 一 为什么学习拉普拉斯矩阵 早期 很多图神经网络的概念是基于图信号分析或图
  • 【MATLAB】字符串的处理及矩阵的初步学习

    欢迎访问我的个人网站 reality2ideal xyz 内容在CSDN和个人网站上同步更新 字符串处理 字符串矩阵 gt gt ch 123456 qwerty ch 2 6 char 数组 123456 qwerty 字符串矩阵的列数要
  • 计算机二级python经典真题

    计算机二级python经典考题 1 键盘输入正整数n 按要求把n输出到屏幕 格式要求 宽度为20个字符 减号字符 右填充 右对齐 带千位分隔符 如果输入正整数超过20位 则按照真实长度输出 例如 键盘输入正整数n为1234 屏幕输出 1 2
  • 问题 D: 稀疏矩阵类型判断

    题目描述 输入一个稀疏矩阵 输出其类型 类型包括 上三角 对角线及其右上方的元素非0 其它元素为0 下三角 对角线及其左下方的元素非0 其它元素为0 对称 沿对角线对称的元素非0且相等 空矩阵 所有元素都为0 其它为普通矩阵 输入 输入包括
  • lyapunov直接法

    文章目录 定义6 6 Lyapunov第一定理 Lyapunov第二定理 用于刻画渐进稳定 内积分析 定义6 6 Lyapunov第一定理 假设 A C A subset C A C是闭的 如果存在A的邻域D和满足下面两条件的连续函数
  • Herriott池的建模

    摘要 在气体光谱学中 为了获得足够灵敏的吸收测量 通常要求具有较长的光程长度 充气体积包裹在反射镜之间的多通道单元是满足这一要求的一种方式 同时在途中控制光束发散 避免了对超大设备的需求 Herriott单元是这种系统的一个例子 其特点是使
  • 短视频账号矩阵系统3年技术独立源头正规开发搭建

    短视频账号矩阵3年技术独立开发打造是一个非常有挑战性和前景的项目 以下是一些建议 帮助你成功打造一个成功的短视频账号矩阵 1 确定目标受众 首先需要明确你的目标受众是谁 了解他们的兴趣爱好 年龄 性别等 以便为他们提供他们感兴趣的内容 2
  • MIT_线性代数笔记:复习二

    目录 第二单元主要内容 例题 第二单元主要内容 正交矩阵 Q 用矩阵形式描述正交性质 投影矩阵 P 最小二乘法 在方程无解时求 最优解 Gram Schmidt 正交化 从任意一组基得到标准正交基 策略是从向量 中减去投影到其它向量方向的分

随机推荐

  • Reactive Streams, flux, mono介绍之白话版

    目录 要解决的问题 解决原理 解决方法 发布者Publisher 订阅者Subscriber 订阅对象Subscription 处理者Processor 源码简析 spring中响应式流的应用 服务端技术栈 响应式Http客户端 服务端修改
  • NodeJs入门(一)

    1 process nextTick callback 它的功能是为事件循环设置一项任务 nodeJs会在下一个事件循环时调用callback Node js是单线程的 除了系统IO之外 在它的事件轮询过程中 同一时间只会处理一个事件 你可
  • windows server2016创建AD域账户并登录

    上篇介绍了Windows Server2016下安装配置AD域 查看文章请点这里 接下来介绍创建AD域账户并登录域账户的流程步骤 创建域账户 1 右键AD服务器 选择Active Directory管理中心 2 右键AD名称 选择新建 组织
  • TCP 通信流程

    1 TCP通信过程 TCP 是一个面向连接的 安全的 流式传输协议 这个协议是一个传输层协议 1 面向连接 是一个双向连接 通过三次握手完成 断开连接需要通过四次挥手完成 2 安全 tcp 通信过程中 会对发送的每一数据包都会进行校验 如果
  • Java中使用JDBC操作Postgresql

    目录 在Rocky Linux上安装postgresql 用IntelliJ创建JavaFx项目 画一个表格 建立数据库访问 在Rocky Linux上安装postgresql Rocky的仓库中自带了postgresql安装包 我们直接用
  • ffmpeg: error while loading shared libraries: libavdevice.so.57

    编译完ffmpeg后 在终端敲ffmpeg 反馈如下 ffmpeg error while loading shared libraries libavdevice so 57 cannot open shared object file
  • 在matlab中寻找曲线上离原点距离最近的点的坐标的思考

    syms y x linspace 2 2 200 n length x g for i 1 n a x i t vpa solve y 1 a 2 y 2 sin a cos y y 3 g g t end 对于这个代码主要是想算出对应x
  • 第六章 存储器层次结构 第一节 存储技术之磁盘存储

    磁盘能比RAM存储更大的信息 但是读取速度上比DRAM慢了10万倍 比SRAM慢了100万倍 1 磁盘构造 磁盘是由盘片 platter 构成 盘片中央有一个可以旋转的主轴 它使得盘片以固定的旋转速率旋转 每个盘片有两面或者称为表面 表面覆
  • JDK开发环境配置

    JRE Java Runtime Environment Java运行环境 用来运行JAVA程序 JDK Java Development Kit Java开发工具包 包含JRE JDK 是整个Java的核心 包括了Java运行环境 Jav
  • 深度神经网络加速库cuDNN简介

    深度神经网络加速库cuDNN简介 简介 NVIDIA CUDA深度神经网络库 cuDNN CUDA Deep Neural Network 是用于深度神经网络的 GPU 加速基元库 它提供了 DNN 应用程序中经常出现的例程的高度调整实现
  • JVM面试题

    JVM相关 jvm详解 GC 堆内存参数调优 春 的博客 CSDN博客 jvm堆内存调优 常见JVM面试题及答案整理 Java程序员 张凯的博客 CSDN博客 jvm面试题 JVM的模块 常见问题 JVM的理解 java8虚拟机和之前的变化
  • 表白代码,HTML

    1 在电脑桌面右击鼠标选择新建 文本文档 2 并命名为 biaobai txt 3 打开并且把一下代码复制并粘贴到biaobai txt
  • 【华为OD机试】TLV解析Ⅰ(C++ Python Java)2023 B卷

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 语言限定 C clang11 C clang 11 Pascal fpc 3 0 2 Java jav
  • coco数据集

    1 win10安装cocoapi pip install git https github com philferriere cocoapi git subdirectory PythonAPI win10安装cocoapi 君莫笑 CSD
  • [计算机毕业设计]MATLAB的人脸识别

    前言 大四是整个大学期间最忙碌的时光 一边要忙着准备考研 考公 考教资或者实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研究生级别难度的 对本科同学来说是充满挑战 为帮助大
  • BIT Python科学计算三维可视化(一)Tvtk库使用

    文章目录 一 课程来源 二 软件安装 三 Tvtk库使用 1 创建长方体数据源 2 Tvtk库中的其他数据源 3 Tvtk库中显示三维对象 4 Tvtk中的管线技术 1 可视化管线 2 图形管线 4 使用ivtk观察管线 5 Tvtk数据集
  • C++STL中set不存在对应元素时set.find的返回值

    先说结论 用find函数查找不存在的元素时 返回和 end 方法一样的迭代器 1 include
  • ArrayList的用法

    最近做个项目 需要用到ArrayList或List
  • 瑟瑟发抖吧~OpenAI刚刚推出王炸——引入ChatGPT插件,开启AI新生态

    5分钟学会使用ChatGPT 插件 ChatGPT plugins ChatGPT生态建设的开端 ChatGPT插件是什么 OpenAI最新官方blog资料表示 已经在ChatGPT中实现了对插件的初步支持 插件是专门为以安全为核心原则的语
  • Eigen源码阅读——杂文

    目录 README md signature of eigen3 matrix library eigen3 pc in pkg config配置文件 INSTALL CTestCustom cmake in CTest测试 COPYING