当前位置: 首页 > news >正文

吴恩达深度学习复盘(6)神经网络的矢量化原理

矢量化基础是线性运算,这里先简单复习一下。线性基本运算基本没什么,大量使用的有点乘和叉乘。

基本例子

 1. 矩阵的基本概念

- 矩阵可以看作是一个块或者二维数组,这是对矩阵的一个在计算机计算的直观描述。

2. 向量的点积(内积)

- 例子:以向量(1, 2)和向量(3, 4)为例

- 计算过程

1×3 + 2×4 = 3 + 8 = 11

- 总结:

对于向量\vec{a}和向量\vec{w}

假设\vec{a}=(a_1, a_2, \cdots, a_n)

\vec{w}=(w_1, w_2, \cdots, w_n)

它们的点积Z的计算方式是Z = a_1×w_1 + a_2×w_2 + \cdots + a_n×w_n,也就是将对应元素相乘后再把所有乘积相加。

- 等价表示:

向量\vec{a}通常可以用列向量表示,通过取\vec{a}的转置(即将列向量变为行向量,记为\vec{a}^T),可以得到点积的另一种等价表示形式。

例如,若\vec{a}是一2x1的列向量,转置后\vec{a}^T是一个1×2的行向量。此时,\vec{a}\vec{w}(\vec{w}为2×1列向量)的点积就等于\vec{a}^T乘以\vec{w},即Z = \vec{a}^T \vec{w}。这种表示方式在理解矩阵乘法时非常有用,因为它将向量的点积与矩阵乘法联系了起来。


3. 向量与矩阵的乘法

- 设定向量和矩阵:

设向量\vec{A} = \begin{bmatrix}2 & 3 & 4\end{bmatrix}
设矩阵W是一个3 \times 2的矩阵,W = \begin{bmatrix}5 & 6 \\ 7 & 8 \\ 9 & 10\end{bmatrix}

- 计算乘积矩阵的元素:

这里n = 3m = 2,我们来计算\vec{A}W

结果矩阵的第一个元素:用向量\vec{A}与矩阵W的第一列向量做点积,即2×5 + 3×7 + 4×9\)\(= 67

结果矩阵的第二个元素:用向量\vec{A}与矩阵W的第二列向量做点积,即2×6 + 3×8 + 4×10\)\(= 76

所以,\vec{A}W = \begin{bmatrix}67 & 76\end{bmatrix}

 - python点乘例子

import numpy as np# 定义向量 A
A = np.array([[2, 3, 4]])# 定义矩阵 W
W = np.array([[5, 6],[7, 8],[9, 10]])# 计算向量与矩阵的乘积
result = np.dot(A, W)print("向量与矩阵的乘积结果:", result)

4. 矩阵与矩阵的乘法

设矩阵A = \begin{bmatrix}1 & 2 & 3\\ 4 & 5 & 6\end{bmatrix},这是一个2\times3的矩阵;矩阵B = \begin{bmatrix}7 & 8\\ 9 & 10\\ 11 & 12\end{bmatrix},这是一个3\times2的矩阵。

根据矩阵乘法的规则,因为A的列数(3列)等于B的行数(3行),所以A和B可以相乘,结果矩阵C = AB的行数等于A的行数(2行),列数等于B的列数(2列),即C是一个2\times2的矩阵。

接下来计算C中各个元素的值:

  • c_{11}(C的第一行第一列元素): A的第一行元素与B的第一列元素对应相乘再相加,即c_{11}=1\times7 + 2\times9 + 3\times11\)\(= 58
  • c_{12}(C的第一行第二列元素): A的第一行元素与B的第二列元素对应相乘再相加,即c_{12}=1\times8 + 2\times10 + 3\times12\)\(= 64
  • c_{21}(C的第二行第一列元素): A的第二行元素与B的第一列元素对应相乘再相加,即c_{21}=4\times7 + 5\times9 + 6\times11\)\(= 139
  • c_{22}(C的第二行第二列元素): A的第二行元素与B的第二列元素对应相乘再相加,即c_{22}=4\times8 + 5\times10 + 6\times12\)\(= 154

所以,矩阵C = AB = \begin{bmatrix}58 & 64\\ 139 & 154\end{bmatrix}

NumPy 库来验证:

import numpy as npA = np.array([[1, 2, 3],[4, 5, 6]])
B = np.array([[7, 8],[9, 10],[11, 12]])C = np.dot(A, B)
print(C)

转向矩阵\vec{A}^T W通用例子

设向量\vec{A}n\times1的列向量\vec{A}=\begin{bmatrix}a_1 \\ a_2 \\ \vdots \\ a_n\end{bmatrix},矩阵W为n\times m的矩阵

W = \begin{bmatrix}w_{11} & w_{12} & \cdots & w_{1m}\\ w_{21} & w_{22} & \cdots & w_{2m}\\ \vdots & \vdots & \ddots & \vdots\\ w_{n1} & w_{n2} & \cdots & w_{nm}\end{bmatrix}

根据向量与矩阵乘法规则(用向量转置后的行向量与矩阵相乘),\vec{A}^T W得到的结果是一个1\times m的矩阵(行向量)。

计算过程如下:

\vec{A}^T W=

\begin{bmatrix}a_1 & a_2 & \cdots & a_n\end{bmatrix}\begin{bmatrix}w_{11} & w_{12} & \cdots & w_{1m}\\ w_{21} & w_{22} & \cdots & w_{2m}\\ \vdots & \vdots & \ddots & \vdots\\ w_{n1} & w_{n2} & \cdots & w_{nm}\end{bmatrix}

=

\begin{bmatrix}a_1w_{11}+a_2w_{21}+\cdots+a_nw_{n1} & a_1w_{12}+a_2w_{22}+\cdots+a_nw_{n2} & \cdots & a_1w_{1m}+a_2w_{2m}+\cdots+a_nw_{nm}\end{bmatrix}

5. 笔者注:

无论是向量与矩阵相乘,还是矩阵与矩阵相乘,本质上都涉及到很多向量之间的点积运算,并且是按照一定的顺序来构建结果矩阵(如Z)的元素,一次计算一个元素。其实是规则的嵌套,函数的函数。

矢量化展开的原理和例子

 1.简介

- 以矩阵A,说明其转置A^T表示,即把A的列变为行。在NumPy中,除了常规的转置理解方式外,还可以使用A_T = A.T这样的函数来计算转置,该函数会将矩阵的列横向排列。

- 给出矩阵W,通过Z = np.dot(A_T, W)(np指NumPy库)这样的代码计算矩阵Z(Z = A^T W)。python在一些代码中可能会看到Z = AT @ W这种写法,这也是计算矩阵乘法的另一种方式,使用np.dot更清晰。

2.矢量化原理

假设输入特征值为 [2, 17],我们将其看作矩阵 A 的转置 A_T,这是一个 1x2 的矩阵。

设权重矩阵 W 是一个 2x3 的矩阵,偏置矩阵 B 是一个 1x3 的矩阵,具体数值如下:

A_T = [2, 17]
W = [[1, 2, 3],[4, 5, 6]]
B = [[10, 20, 30]]

计算 Z = A^T W + B

  • 计算 A^T W
    • A^T W的第一个元素:2\times1 + 17\times4 = 2 + 68 = 70
    • A^T W的第二个元素:2\times2 + 17\times5 = 4 + 85 = 89
    • A^T W的第三个元素:2\times3 + 17\times6 = 6 + 102 = 108
    • 所以 A^T W = [70, 89, 108]
  • 再加上偏置矩阵 B:
    • Z 的第一个元素:70 + 10 = 80
    • Z 的第二个元素:89 + 20 = 109
    • Z 的第三个元素:108 + 30 = 138
    • 所以Z = [80, 109, 138]

应用激活函数 g

假设激活函数 g 是 sigmoid 函数,其公式为g(x)=\frac{1}{1 + e^{-x}}

  • g(80)\approx1
  • g(109)\approx1
  • g(138)\approx1

所以最终的输出矩阵 a = [1, 1, 1]

3.代码例子

import numpy as np# 定义 sigmoid 激活函数
def sigmoid(x):return 1 / (1 + np.exp(-x))# 输入特征值矩阵 A 的转置
A_T = np.array([[2, 17]])# 权重矩阵 W
W = np.array([[1, 2, 3],[4, 5, 6]])# 偏置矩阵 B
B = np.array([[10, 20, 30]])# 计算 Z = A^T W + B
Z = np.dot(A_T, W) + B# 应用激活函数 g 得到输出矩阵 a
a = sigmoid(Z)print("Z 的值:", Z)
print("a 的值:", a)    

4.矢量化实现的优势

只需要几行代码就能在神经网络中实现一个问题,并且能获得巨大的速度提升。原因是现代计算机擅长高效地实现矩阵乘法(如`np.dot`对应的操作),利用快速硬件可以非常有效地完成大规模矩阵乘法运算。

笔者注:用纯cpu集群训练理论是可以的,但是是不现实的。

相关文章:

吴恩达深度学习复盘(6)神经网络的矢量化原理

矢量化基础是线性运算,这里先简单复习一下。线性基本运算基本没什么,大量使用的有点乘和叉乘。 基本例子 1. 矩阵的基本概念 - 矩阵可以看作是一个块或者二维数组,这是对矩阵的一个在计算机计算的直观描述。 2. 向量的点积(内积…...

ISIS多区域配置

一、什么是ISIS多区域 ISIS(Intermediate System to Intermediate System)多区域是指网络被划分为多个逻辑区域(Areas),不同区域之间通过特定的ISIS路由器(Level-1-2)进行路由交互。多区域设计提…...

The emulator process for AVD xxx has terminated

问题描述 离线环境下部署Android虚拟机,启动时报错The emulator process for AVD xxx has terminated,其中xxx为虚拟机名称。 解决过程 可先在C:\Users\admin\AppData\Local\Google\AndroidStudio2024.3\log目录下找到idea.log文件,其中记录…...

Haskell语言的区块链扩展性

Haskell语言的区块链扩展性研究 引言 区块链技术近年来在金融、供应链、物联网等多个领域取得了显著的进展。作为一种分布式账本技术,区块链的核心在于其去中心化、不可篡改和透明性。然而,随着应用的不断深入,区块链面临着可扩展性、性能、…...

第11/100节:三点估算

第11/100节:三点估算 三、完成某信息系统集成项目中的一个最基本的工作单元 A 所需的时间,乐观的估计需 8 天,悲观的估计需 38天,最可能的估计需 20 天,按照三点估算方法进行估算,项目的工期应该为&#xf…...

Tourists

一道圆方树恶心题,*3200,不知道为什么不评黑。 这道题很容易直接想到圆方树:因为两个操作如果在树上,都需要树链剖分 线段树维护。而将这么一个普通图转化为一棵树,也就只有圆方树这种形式了。 于是就可以综合使用圆…...

【动态规划】深入动态规划:连续子结构的算法剖析

文章目录 前言例题一、最大子数组和二、环形子数组的最大和三、 乘积最大子数组四、乘积为正数的最长子数组五、等差数列划分六、最长湍流子数组七、单词拆分八、环绕字符串中唯一的子字符串 结语 前言 什么是是动态规划连续子数组、子串系列算法问题? 连续子数组问题通常聚焦…...

结肠镜3D视频数据集-C3VD论文中文版

文章目录 标题作者摘要一、介绍1.1. 相关工作1.1.1. 内镜重建数据集1.1.2. 注册真实和虚拟内窥镜图像1.1.3. 2D-3D注册1.2. 贡献 二、方法2.1. 幻影模型生产2.2. 数据采集2.3. 注册流程概述2.3.1. 数据预处理2.3.2. 目标深度估计2.3.3. 渲染深度帧2.3.4. 边缘损失和优化 2.4. 模…...

封装自己的api签名sdk

api平台接口调用,需要通过签名去核对是不是有效的用户,,一般会给两个key,acceeKey 和 secretKey,第一个相当于用户名,第二个相当于密钥,,,前端通过一定的算法,&#xff0…...

ASP.NET Core Web API 中 HTTP状态码的分类及对应的返回方法

文章目录 前言一、HTTP状态码分类及常用方法二、具体返回方法示例1&#xff09; 2xx 成功类2&#xff09;4xx 客户端错误3&#xff09;5xx 服务器错误4&#xff09;其他特殊状态码 三、高级返回方式1&#xff09;使用 IActionResult 与 ActionResult<T>2&#xff09;统一…...

函数和模式化——python

一、模块和包 将一段代码保存为应该扩展名为.py 的文件&#xff0c;该文件就是模块。Python中的模块分为三种&#xff0c;分别为&#xff1a;内置模块、第三方模块和自定义模块。 内置模块和第三方模块又称为库内置模块&#xff0c;有 python 解释器自带&#xff0c;不用单独安…...

LeetCode 1817 查找用户活跃分钟数

深入剖析 LeetCode 用户活跃分钟数统计问题 一、题目详情 给定用户在 LeetCode 的操作日志&#xff0c;日志以二维整数数组logs表示&#xff0c;其中每个logs[i][IDi, timei]&#xff0c;意味着 ID 为IDi的用户在timei分钟时执行了某个操作。多个用户能够同时执行操作&#x…...

matlab从pytorch中导入LeNet-5网络框架

文章目录 一、Pytorch的LeNet-5网络准备二、保存用于导入matlab的model三、导入matlab四、用matlab训练这个导入的网络 这里演示从pytorch的LeNet-5网络导入到matlab中进行训练用。 一、Pytorch的LeNet-5网络准备 根据LeNet-5的结构图&#xff0c;我们可以写如下结构 import…...

网络:华为HCIA学习笔记:ICMP协议

ICMP&#xff08;Internet Control Message Protocol&#xff09;Internet控制消息协议 前言ICMPICMP重定向ICMP差错监测ICMP错误报告ICMP数据包格式ICMP消息类型和编码类型ICMP应用-PingICMP应用-Tracert 总结 前言 Internet控制消息协议ICMP (Internet Control Message Prot…...

Visio | 将(.vsdx)导出为更清楚/高质量的图片(.png) | 在Word里面的visio图

此时大家在用Visio画完图直接复制到word里面后&#xff0c;如果后期需要重新保存高清图片&#xff0c;但是此时图片在word&#xff0c;是不是很多人会选择直接crtlA截图复制&#xff0c;这样出来的图又不清晰又小&#xff0c;完全不符合你导的审美&#xff0c;接下来跟着我&…...

算法设计学习8

实验目的及要求&#xff1a; 通过深入学习树&#xff08;Tree&#xff09;和二叉树&#xff08;Binary Tree&#xff09;这两种重要的数据结构&#xff0c;掌握它们的基本概念、性质和操作&#xff0c;提高对树形结构的理解和应用能力。通过本实验&#xff0c;学生将深化对树和…...

Dive into Deep Learning - 2.4. Calculus (微积分)

Dive into Deep Learning - 2.4. Calculus {微积分} 1. Derivatives and Differentiation (导数和微分)1.1. Visualization Utilities 2. Chain Rule (链式法则)3. DiscussionReferences 2.4. Calculus https://d2l.ai/chapter_preliminaries/calculus.html For a long time, …...

kotlin中const 和val的区别

在 Kotlin 中&#xff0c;const 和 val 都是用来声明常量的&#xff0c;但它们的使用场景和功能有所不同&#xff1a; 1. val: val 用于声明只读变量&#xff0c;也就是不可修改的变量&#xff08;类似于 Java 中的 final 变量&#xff09;。它可以是任何类型&#xff0c;包括…...

Webpack中loader的作用。

文章目录 前言1. 处理样式文件2. 处理 JavaScript 文件3. 处理其他文件总结 前言 在 Webpack 中&#xff0c;Loader 是用于对模块的源代码进行转换的工具&#xff0c;它能够将不同类型的文件&#xff08;如 CSS、图片、字体、TypeScript 等&#xff09;转换为有效的 JavaScrip…...

C++ 极简常用内容

C 极简常用内容 1. 类与对象 定义&#xff1a;封装数据&#xff08;成员变量&#xff09;和行为&#xff08;成员函数&#xff09;的自定义类型。 Demo&#xff1a; class Car { public:string brand;void drive() { cout << brand << " is moving." …...

如何在windows 环境、且没有显卡的情况下用python跑通从ModelScope下载的大模型的调用

文章目录 背景介绍源代码&#xff1a;安装调试过程1.设置第三方镜像源2.预先安装&#xff1a;3.在python中创建代码&#xff1a;4.最终修改程序,将device_map从“cuda”改成“auto”&#xff0c;大模型调用1.5B&#xff08;1___5B)的5.最终跑出结果解释&#xff1a;示例&#x…...

MINIQMT学习课程Day10

开始获取股票数据课程的学习&#xff1a; 获取qmt账号的持仓情况后&#xff0c;我们进入下一步&#xff0c;如何获得当前账号的委托状况 还是之前的步骤&#xff0c;打开qmt&#xff0c;选择独立交易&#xff0c; 之后使用pycharm&#xff0c;编写py文件 导入包&#xff1a…...

如何彻底关闭Windows 10中的Xbox游戏栏

一、打工人的困扰&#xff1a;不速之客“Game Bar” 在日常工作中&#xff0c;许多使用Windows 10的用户常常被一个不起眼却频频打扰的系统功能困扰&#xff0c;那就是“Xbox游戏栏”&#xff08;Game Bar&#xff09;。当你正在专注处理紧急的Excel表格或准备PPT汇报&#xf…...

26考研资料分享考研资料合集 百度网盘(仅供参考学习)

考研资料分享考研资料合集 百度网盘&#xff08;仅供参考学习&#xff09; 通过网盘分享的文件&#xff1a;2026考研英语数学政治最新等3个文件 链接1: https://pan.baidu.com/s/1JXBI9ROng4KAWHoaUHpkug?pwdjydb 提取码: jydb 链接2:https://pan.baidu.com/s/1a…...

59.基于ssm和vue学生考试成绩管理系统

目录 1.系统的受众说明 2.系统关键技术 2.1 java技术 2.2 MYSQL数据库 2.3 B/S结构 3.系统分析 3.1 可行性分析 3.1.1 技术可行性 3.1.2经济可行性 3.2 系统性能分析 3.3 系统功能分析 3.5系统流程分析 3.5.1登录流程 3.5.2注册流程 3.5.3添加信息流程 3.5.4删…...

常见的ETL工具分类整理

一、开源ETL工具 ‌Kettle&#xff08;Pentaho Data Integration&#xff09;--Spoon‌ 设计及架构&#xff1a;面向数据仓库建模的传统ETL工具。使用方式&#xff1a;C/S客户端模式&#xff0c;开发和生产环境需要独立部署&#xff0c;任务编写、调试、修改都在本地。底层架构…...

【leetcode100】数组中的第K个最大元素

1、题目描述 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入: [3,2,…...

markdown语法学习

三化markdown语法 研究对象系统化全局化结构化markdown语法富文本字体样式*斜体*&#xff0c;主题样式#&#xff0c;表格样式||&#xff0c;代码块样式&#xff0c;待办样式- [ ]样式之间互相协作&#xff0c;互不冲突 待办 斜体 加粗 标题 删除线 public class{ //代码块 …...

Linux_4

开始学习ssh工具 在做开发的时候,肯定不止一台服务器,那么假设每台服务器都是Linux服务器,要在服务器上操作就需要登入终端,即Terminal。ssh的作用就是可以通过一个服务器登陆上其他的服务器。 登陆到哪个服务器看到的就是哪个服务器的终端terminal。 ssh登陆 ssh user@…...

Netty——连接超时 与 断开重连

文章目录 1. 处理连接超时和断开重连的原因2. 处理连接超时和断开重连的方法2.1 处理连接超时2.1.1 步骤一&#xff1a;配置连接超时时间2.1.2 步骤二&#xff1a;监听连接结果 2.2 处理断开重连2.2.1 步骤一&#xff1a;监听连接断开事件2.2.2 步骤二&#xff1a;实现重连逻辑…...

linux 进程/线程设置核亲和性

1&#xff0c;线程绑定内核 #include <pthread.h> #include <stdio.h> #include <stdlib.h> // 定义一个函数&#xff0c;用于设置线程的CPU亲和性 void set_thread_affinity(pthread_t thread, int cpu_id) { cpu_set_t cpuset; int s; // 清空CPU集…...

前端页面鼠标移动监控(鼠标运动、鼠标监控)鼠标节流处理、throttle、限制触发频率(setTimeout、clearInterval)

文章目录 使用lodashjs库手动实现节流&#xff08;通过判断之前设定的定时器setTimeout是否存在&#xff09; 使用lodashjs库 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Com…...

【MySQL基础-21】MySQL事务机制详解:原理、实现与最佳实践

在现代数据库系统中&#xff0c;事务机制是确保数据一致性和完整性的核心技术。MySQL作为最流行的开源关系型数据库之一&#xff0c;其事务实现机制对于开发者而言至关重要。本文将深入探讨MySQL的事务机制&#xff0c;包括核心概念、实现原理、隔离级别以及实际应用中的最佳实…...

Transformer+BO-SVM时间序列预测(Matlab)

TransformerBO-SVM时间序列预测&#xff08;Matlab&#xff09; 目录 TransformerBO-SVM时间序列预测&#xff08;Matlab&#xff09;效果一览基本介绍程序设计参考资料 效果一览 基本介绍 普通的单变量时序已经用腻了&#xff0c;审稿人也看烦了&#xff0c;本期推出一期高创…...

Python循环控制语句

1. 循环类型概述 Python提供两种主要的循环结构&#xff1a; while循环 - 在条件为真时重复执行for循环 - 遍历序列中的元素 2. while循环 基本语法 while 条件表达式:循环体代码示例 count 0 while count < 5:print(f"这是第{count1}次循环")count 13. f…...

4.4日西南竞篮,欧篮联,NBA,全扫盘

欧篮联扫盘 301奥林匹亚 vs 阿尔巴 &#xff08;11.5&#xff09;&#xff0c;总分167.5&#xff1a;阿尔巴有伤病&#xff0c;点差11.5大&#xff0c;可能是接近比赛&#xff0c;总分较低&#xff0c;预测阿尔巴赢盘&#xff0c;总分低于167.5。 302埃菲斯 vs 贝红星 (-1.5)&a…...

面试可能会遇到的问题回答(嵌入式软件开发部分)

写在前面&#xff1a; 博主也是刚入社会的小牛马&#xff0c;如果下面有写的不好或者写错的地方欢迎大家指出~ 一、四大件基础知识 1、计算机组成原理 &#xff08;1&#xff09;简单介绍一下中断是什么。 ①回答&#xff1a; ②难度系数&#xff1a;★★ ③难点分析&…...

AI平台初步规划实现和想法

要实现一个类似Coze的工作流搭建引擎&#xff0c;可以结合SmartEngine作为后端工作流引擎&#xff0c;ReactFlow作为前端流程图渲染工具&#xff0c;以及Ant Design作为UI组件库。以下是实现的步骤和关键点&#xff1a; ### 1. 后端工作流引擎&#xff08;SmartEngine&#xf…...

软件工程面试题(二十七)

1、j a v a 对象初始化顺序 1.类的初始化(initialization class & interface) 2.对象的创建(creation of new class instances) 顺序:应为类的加载肯定是第一步的,所以类的初始化在前。大体的初始化顺序是: 类初始化 -> 子类构造函数 -> 父类构造函数 -&g…...

CCF GESP C++编程 六级认证真题 2025年3月

C 六级 2025 年 03 月 题号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 答案 D B A B B B B A A A A A B C A 一、单选题 第 1 题 在面向对象编程中&#xff0c;类是一种重要的概念。下面关于类的描述中&#xff0c;不正确的是&#xff08; &#xff09;。 A. 类是一个抽象的概念&a…...

Cortex-M 上编写汇编函数

在 ARM Cortex-M 系列单片机中使用汇编语言编写函数时,需要特别注意寄存器的使用、栈管理、调用约定以及与 C 语言的兼容性。以下是关键注意事项和示例说明: 1. 遵循 AAPCS 调用约定 ARM 定义了 AAPCS(ARM Architecture Procedure Call Standard),规定了函数调用时寄存器…...

Spring 核心技术解析【纯干货版】- XXII:Spring 扫描效率提升模块 Spring-Context-Indexer 模块精讲

在 Spring 应用 中&#xff0c;组件扫描&#xff08;Component Scan&#xff09; 是 Spring 容器启动时的关键任务之一。默认情况下&#xff0c;Spring 通过 反射扫描整个类路径 来找到所有 Component、Service、Repository 等注解的类&#xff0c;并将其注册为 Spring Bean。但…...

jetson AGX orin--ARM64 换源报错Packages 404 Not Found [IP: 2402:f000:1:400::2 443]

问题 原因&#xff1a; ARM64结构不能使用X86结构的源&#xff0c;清华源不完全支持ARM64。使用下面这个源 sudo vim /etc/apt/sources.list 删掉原来的&#xff0c;改成这个 # ARM64 架构专用源 deb [archarm64] http://ports.ubuntu.com/ubuntu-ports focal main restrict…...

对备忘录模式的理解

对备忘录模式的理解 一、场景1、题目【[来源](https://kamacoder.com/problempage.php?pid1095)】1.1 题目描述1.2 输入描述1.3 输出描述1.4 输入示例1.5 输出示例 2、理解需求 二、不采用备忘录设计模式1、代码2、问题3、错误的备忘录模式 三、采用备忘录设计模式1、代码1.1 …...

ngx_ssl_init

定义在 src\event\ngx_event_openssl.c ngx_int_t ngx_ssl_init(ngx_log_t *log) { #if OPENSSL_VERSION_NUMBER > 0x10100003Lif (OPENSSL_init_ssl(OPENSSL_INIT_LOAD_CONFIG, NULL) 0) {ngx_ssl_error(NGX_LOG_ALERT, log, 0, "OPENSSL_init_ssl() failed")…...

Roo Code(前身为 Roo Cline)一个 AI 驱动的自主编码代理

Roo Code&#xff08;前身为 Roo Cline&#xff09; Roo Code 是一个 AI 驱动的自主编码代理&#xff0c;它存在于您的编辑器中。它可以&#xff1a; 用自然语言沟通直接在您的工作区读写文件运行终端命令自动化浏览器操作与任何 OpenAI 兼容或自定义的 API/模型集成通过自定…...

每日一题洛谷P8649 [蓝桥杯 2017 省 B] k 倍区间c++

P8649 [蓝桥杯 2017 省 B] k 倍区间 - 洛谷 (luogu.com.cn) #include <iostream> #include <vector> using namespace std; #define int long long signed main() {int n, k;cin >> n >> k;vector<int> a(n 1);vector<int> sum(n 1);vec…...

CLion安装、配置及使用

目录 1 CLion是什么 2 CLion安装 3 系统环境变量配置 4 CLion配置 4.1 编辑器选择 4.2 编辑器配置 4.3 新建项目 5 总结 1 CLion是什么 CLion 是 JetBrains 推出的一款跨平台集成开发环境&#xff08;IDE&#xff09;&#xff0c;专为 C 和 C 开发设计&#xff0c;支…...

UE5把动画导出为视频格式

UE5把动画导出为视频格式 步骤一 点击渲染视频或图片按钮旁边的三个圆点按钮 步骤二 点击渲染视频或图片按钮 步骤三 1是修改输出视频的帧率格式 2输出视频的路径 3点击等待视频渲染完成 以上是基本方法 最新的输出视频方法请看这位大佬的视频...

SQL语句(三)—— DQL

目录 基本语法 一、基础查询 1、查询多个字段 2、字段设置别名 3、去除重复记录 4、示例代码 二、条件查询 1、语法 2、条件列表常用的运算符 3、示例代码 三、分组查询 &#xff08;一&#xff09;聚合函数 1、介绍 2、常见的聚合函数 3、语法 4、示例代码 &…...