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

[paddle] 矩阵相关的指标

行列式 det

行列式定义参考

d e t ( A ) = ∑ i 1 , i 2 , ⋯ , i n ( − 1 ) σ ( i 1 , ⋯ , i n ) a 1 , i 1 a 2 , i 2 , ⋯ , a n , i n det(A) =\sum_{i_1,i_2,\cdots,i_n } (-1)^{\sigma(i_1,\cdots,i_n)} a_{1,i_1}a_{2,i_2},\cdots, a_{n,i_n} det(A)=i1,i2,,in(1)σ(i1,,in)a1,i1a2,i2,,an,in
i 1 , ⋯ , i n i_1,\cdots,i_n i1,,in 1 , ⋯ , n 1,\cdots,n 1,,n 的排列.

参数
x (Tensor):输入一个或批量矩阵。x 的形状应为 [*, M, M],其中 * 为零或更大的批次维度,数据类型支持 float32、float64。

返回
Tensor,输出矩阵的行列式值 Shape 为 [*] 。

多个方阵的行列式

import paddle
paddle.seed(2023)
x =  paddle.randn([4,3,3])
A = paddle.linalg.det(x)
print(A)

常用方阵的行列式:

import paddle
paddle.seed(2023)
x =  paddle.randn([3,3])
A = paddle.linalg.det(x)
print(A)

矩阵的范数 norm

矩阵的算子范数

矩阵的算子范数(也称为矩阵范数或诱导范数)是衡量矩阵作为线性算子作用在向量上的“放大”程度的一种度量。算子范数依赖于向量范数的定义,常见的算子范数包括以下几种:

  1. 2-范数(谱范数)
    矩阵的2-范数是矩阵最大奇异值或最大特征值的绝对值。对于矩阵 A A A ,2-范数定义为:
    ∥ A ∥ 2 = σ max ⁡ ( A ) \|A\|_2 = \sigma_{\max}(A) A2=σmax(A)
    其中 σ max ⁡ ( A ) \sigma_{\max}(A) σmax(A) 是矩阵 A A A 的最大奇异值。2-范数也是矩阵作为线性算子在欧几里得空间中最大“拉伸”效果的度量。
  2. 1-范数
    矩阵的1-范数是矩阵列向量1-范数的最大值。对于矩阵 A A A ,1-范数定义为:
    ∥ A ∥ 1 = max ⁡ ∥ x ∥ 1 = 1 ∥ A x ∥ 1 \|A\|_1 = \max_{\|x\|_1 = 1} \|Ax\|_1 A1=x1=1maxAx1
    这实际上是矩阵列向量的绝对和的最大值。
  3. ∞ \infty -范数(无穷范数)
    矩阵的 ∞ \infty -范数是矩阵行向量1-范数的最大值。对于矩阵 A A A ∞ \infty -范数定义为:
    ∥ A ∥ ∞ = max ⁡ ∥ x ∥ ∞ = 1 ∥ A x ∥ ∞ \|A\|_{\infty} = \max_{\|x\|_{\infty} = 1} \|Ax\|_{\infty} A=x=1maxAx
    这实际上是矩阵行向量的绝对和的最大值。
  4. p-范数
    更一般地,可以定义矩阵的p-范数。对于矩阵 A A A ,p-范数定义为:
    ∥ A ∥ p = max ⁡ ∥ x ∥ p = 1 ∥ A x ∥ p \|A\|_p = \max_{\|x\|_p = 1} \|Ax\|_p Ap=xp=1maxAxp
    其中 p p p 是一个正实数。当 p = 2 p = 2 p=2 时,就是2-范数(谱范数)。
    算子范数的性质:
  • 正定性:对于任意矩阵 A A A,都有 ∥ A ∥ ≥ 0 \|A\| \geq 0 A0,且 ∥ A ∥ = 0 \|A\| = 0 A=0 当且仅当 A = 0 A = 0 A=0
  • 齐次性:对于任意矩阵 A A A 和标量 c c c,都有 ∥ c A ∥ = ∣ c ∣ ∥ A ∥ \|cA\| = |c| \|A\| cA=c∣∥A
  • 三角不等式:对于任意矩阵 A A A B B B,都有 ∥ A + B ∥ ≤ ∥ A ∥ + ∥ B ∥ \|A + B\| \leq \|A\| + \|B\| A+BA+B
  • 相容性:对于任意矩阵 A A A B B B,都有 ∥ A B ∥ ≤ ∥ A ∥ ∥ B ∥ \|AB\| \leq \|A\| \|B\| ABA∥∥B

矩阵的核范数

矩阵的核范数(Nuclear Norm)是矩阵理论中的一个重要概念,特别是在低秩矩阵恢复和压缩感知等领域。核范数是矩阵奇异值之和,它可以看作是矩阵的秩的一种凸近似。
对于任意矩阵 A ∈ R m × n A \in \mathbb{R}^{m \times n} ARm×n,其核范数定义为:
∥ A ∥ ∗ = ∑ i = 1 min ⁡ ( m , n ) σ i ( A ) \|A\|_* = \sum_{i=1}^{\min(m,n)} \sigma_i(A) A=i=1min(m,n)σi(A)
其中, σ i ( A ) \sigma_i(A) σi(A)表示矩阵 A A A 的第 i i i 个奇异值,奇异值是矩阵 A A A 的奇异值分解(SVD)中的非负对角元素。
核范数的一些重要性质包括:

  1. 凸性:核范数是矩阵秩的凸包络,这意味着它是秩函数的最小凸近似。在优化问题中,使用核范数可以使得问题变得可解,因为秩函数是非凸的,而核范数是凸的。
  2. ** lipschitz连续性**:核范数是 lipschitz连续的,这意味着对于任意两个矩阵 A A A B B B,存在常数 L L L 使得:
    ∥ A ∥ ∗ − ∥ B ∥ ∗ ∥ ≤ L ∥ A − B ∥ F \|A\|_* - \|B\|_* \| \leq L \|A - B\|_F ABLABF
    其中 ( | \cdot |_F ) 表示 Frobenius 范数。
  3. 矩阵逼近:在给定矩阵的核范数约束下,最优的低秩逼近可以通过矩阵的奇异值软阈值化实现。这意味着核范数在低秩矩阵逼近问题中起着关键作用。

矩阵的Frobenius范数

矩阵的F范数,也称为Frobenius范数,是矩阵元素平方和的平方根。它将矩阵视为一个长向量,并计算其欧几里得范数。对于任意矩阵 A ∈ R m × n A \in \mathbb{R}^{m \times n} ARm×n,其Frobenius范数定义为:
∥ A ∥ F = ∑ i = 1 m ∑ j = 1 n ∣ a i j ∣ 2 \|A\|_F = \sqrt{\sum_{i=1}^{m} \sum_{j=1}^{n} |a_{ij}|^2} AF=i=1mj=1naij2
其中, a i j a_{ij} aij 表示矩阵 A A A 的第 i i i 行第 j j j 列的元素。
Frobenius范数的一些重要性质包括:

  1. 与核范数的关系:对于任意矩阵 A A A,有 ∥ A ∥ ∗ ≤ ∥ A ∥ F \|A\|_* \leq \|A\|_F AAF,其中 ∥ A ∥ ∗ \|A\|_* A表示矩阵的核范数。
  2. 与2-范数的关系:对于矩阵 A A A ,其Frobenius范数等于其向量化的2-范数,即 ∥ A ∥ F = ∥ v e c ( A ) ∥ 2 \|A\|_F = \|vec(A)\|_2 AF=vec(A)2,其中 v e c ( A ) vec(A) vec(A) 表示将矩阵 A A A 按列堆叠成向量。

paddle.linalg.norm(x, p=None, axis=None, keepdim=False, name=None)

将计算给定 Tensor 的矩阵范数(Frobenius 范数, Nuclear 范数或 p 范数)和向量范数(向量 1 范数、2 范数、或者通常的 p 范数)。

该函数计算的是向量范数还是矩阵范数,确定方法如下: - 如果 axis 是 int 类型,计算向量范数 - 如果 axis 是二维数组,计算矩阵范数 - 如果 axis 为 None,x 会被压缩成一维向量然后计算向量范数

Paddle 支持以下范数:

参数
x (Tensor) - 输入 Tensor。维度为多维,数据类型为 float32 或 float64。

p (int|float|string,可选) - 范数(ord)的种类。目前支持的值为fro(Frobenius范数) 、 nuc(核范数)、inf、-inf、0、1、2,和任何实数 p 对应的 p 范数。默认值为 None。

axis (int|list|tuple,可选) - 使用范数计算的轴。如果 axis 为 None,则忽略 input 的维度,将其当做向量来计算。如果 axis 为 int 或者只有一个元素的 list|tuple,norm API 会计算输入 Tensor 的向量范数。如果 axis 为包含两个元素的 list,API 会计算输入 Tensor 的矩阵范数。当 axis < 0 时,实际的计算维度为 rank(input) + axis。默认值为 None 。

keepdim (bool,可选) - 是否在输出的 Tensor 中保留和输入一样的维度,默认值为 False。当 keepdim 为 False 时,输出的 Tensor 会比输入 input 的维度少一些。

name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。

返回
Tensor,在指定 axis 上进行范数计算的结果,与输入 input 数据类型相同。

import paddle
x = paddle.arange(24, dtype="float32").reshape([2, 3, 4]) - 12
print(x)# compute frobenius norm along last two dimensions.
out_fro = paddle.linalg.norm(x, p='fro', axis=[0,1])
print(out_fro)# compute 2-order vector norm along last dimension.
out_pnorm = paddle.linalg.norm(x, p=2, axis=-1)
print(out_pnorm)# compute 2-order  norm along [0,1] dimension.
out_pnorm = paddle.linalg.norm(x, p=2, axis=[0,1])
print(out_pnorm)# compute inf-order  norm
out_pnorm = paddle.linalg.norm(x, p=float("inf"))
print(out_pnorm)out_pnorm = paddle.linalg.norm(x, p=float("inf"), axis=0)
print(out_pnorm)# compute -inf-order  norm
out_pnorm = paddle.linalg.norm(x, p=-float("inf"))
print(out_pnorm)out_pnorm = paddle.linalg.norm(x, p=-float("inf"), axis=0)
print(out_pnorm)

条件数 cond

c o n d ( A , p ) = sup ⁡ x ≠ 0 ∥ A ∥ p ∥ A − 1 ∥ p \mathrm{cond}(A,p) =\sup_{x\neq 0} \frac{\|A\|_p}{\|A^{-1}\|_p} cond(A,p)=x=0supA1pAp
其中 ∥ ⋅ ∥ p \| \cdot \|_p p 是矩阵的 p p p 范数。

根据范数种类 p 计算一个或一批矩阵的条件数,也可以通过 paddle.cond 来调用。

参数
x (Tensor):输入可以是形状为 (, m, n) 的矩阵 Tensor, * 为零或更大的批次维度,此时 p 为 2 或 -2;也可以是形状为 (, n, n) 的可逆(批)方阵 Tensor,此时 p 为任意已支持的值。数据类型为 float32 或 float64 。

p (float|string,可选):范数种类。目前支持的值为 fro(Frobenius范数) 、 nuc(核范数) 、 1 、 -1 、 2 、 -2 、 inf 、 -inf。默认值为 None,即范数种类为 2 。

name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。

返回
Tensor,条件数的计算结果,数据类型和输入 x 的一致。

import paddle
paddle.seed(2023)
x = paddle.to_tensor([[1., 0, -1], [0, 1, 0], [1, 0, 1]])# compute conditional number when p is None
out = paddle.linalg.cond(x)
print(out)# compute conditional number when order of the norm is 'fro'
out_fro = paddle.linalg.cond(x, p='fro')
print(out_fro)# compute conditional number when order of the norm is 'nuc'
out_nuc = paddle.linalg.cond(x, p='nuc')
print(out_nuc)# compute conditional number when order of the norm is 1
out_1 = paddle.linalg.cond(x, p=1)
print(out_1)# compute conditional number when order of the norm is -1
out_minus_1 = paddle.linalg.cond(x, p=-1)
print(out_minus_1)# compute conditional number when order of the norm is 2
out_2 = paddle.linalg.cond(x, p=2)
print(out_2)# compute conditional number when order of the norm is -1
out_minus_2 = paddle.linalg.cond(x, p=-2)
print(out_minus_2)# compute conditional number when order of the norm is inf
out_inf = paddle.linalg.cond(x, p=float("inf"))
print(out_inf)# compute conditional number when order of the norm is -inf
out_minus_inf = paddle.linalg.cond(x, p=-float("inf"))
print(out_minus_inf)a = paddle.randn([2, 4, 4])
print(a)a_cond_fro = paddle.linalg.cond(a, p='fro')
print(a_cond_fro)b = paddle.randn([2, 3, 4])
print(b)b_cond_2 = paddle.linalg.cond(b, p=2)
print(b_cond_2)

矩阵的秩

线性无关性的定义

一组向量被称为线性无关,如果其中没有任何一个向量可以表示为其他向量的线性组合, 例如
α 1 = ∑ i = 2 n k i α i \alpha_1 = \sum_{i=2}^n k_i\alpha_i α1=i=2nkiαi
矩阵的行向量组和列向量组
给定一个 m × n m \times n m×n 矩阵 A A A ,它包含 m m m 个行向量和 n n n 个列向量。
极大线性无关组
在一组向量中,极大线性无关组是指包含最多线性无关向量的子集。添加任何额外的向量都会使该组变得线性相关。

矩阵的秩的定义

矩阵 A A A 的秩是指其行向量组或列向量组中极大线性无关组的大小。
矩阵的行秩等于其列秩,统称为矩阵的秩。

import paddlea = paddle.eye(10)
b = paddle.linalg.matrix_rank(a)
print(b)c = paddle.ones(shape=[3, 4, 5, 5])
d = paddle.linalg.matrix_rank(c, tol=0.01, hermitian=True)
print(d)

相关文章:

[paddle] 矩阵相关的指标

行列式 det 行列式定义参考 d e t ( A ) ∑ i 1 , i 2 , ⋯ , i n ( − 1 ) σ ( i 1 , ⋯ , i n ) a 1 , i 1 a 2 , i 2 , ⋯ , a n , i n det(A) \sum_{i_1,i_2,\cdots,i_n } (-1)^{\sigma(i_1,\cdots,i_n)} a_{1,i_1}a_{2,i_2},\cdots, a_{n,i_n} det(A)i1​,i2​,⋯,in​…...

docker部署SpringBoot项目简单流程

一、docker基础命令理解学习 1、常见命令 docker启动之前要关闭防火墙systemctl stop firewalld # 关闭防火墙systemctl disable firewalld # 禁止开机启动防火墙systemctl start docker # 启动docker服务systemctl stop docker # 停止docker服务systemctl restart docker # …...

Python学习——函数参数详解

Python中的函数参数传递机制允许多种灵活的参数类型&#xff0c;可以根据需求灵活配置参数&#xff0c;这使得函数具有更强大的扩展性和适应性。以下是对各类参数类型的详细说明&#xff1a; 1. 定义函数的不同参数类型 1.1 位置参数 定义方式&#xff1a;def func(a, b2) 特…...

Chromium132 编译指南 - Android 篇(一):编译前准备

1. 引言 欢迎来到《Chromium 132 编译指南 - Android 篇》系列的第一部分。本系列指南将引导您逐步完成在 Android 平台上编译 Chromium 132 版本的全过程。Chromium 作为一款由 Google 主导开发的开源浏览器引擎&#xff0c;为众多现代浏览器提供了核心驱动力。而 Android 作…...

.Net / C# 繁体中文 与 简体中文 互相转换, 支持地方特色词汇

版本号 Nuget 搜索 “OpenCCNET”, 注意别找错, 好多库的名字都差不多 支持 “繁,简” 的互相转换, 支持多个地区常用词汇的转换, 还支持 日文的新旧转换. OpenCC 在 .Net 中的实现 https://github.com/CosineG/OpenCC.NET <PackageReference Include"OpenCCNET"…...

Java泛型深度解析(JDK23)

第一章 泛型革命 1.1 类型安全的进化史 前泛型时代的类型转换隐患 代码的血泪史&#xff08;Java 1.4版示例&#xff09;&#xff1a; List rawList new ArrayList(); rawList.add("Java"); rawList.add(Integer.valueOf(42)); // 编译通过// 灾难在运行时爆发…...

【贪心算法篇】:“贪心”之旅--算法练习题中的智慧与策略(一)

✨感谢您阅读本篇文章&#xff0c;文章内容是个人学习笔记的整理&#xff0c;如果哪里有误的话还请您指正噢✨ ✨ 个人主页&#xff1a;余辉zmh–CSDN博客 ✨ 文章所属专栏&#xff1a;贪心算法篇–CSDN博客 文章目录 一.贪心算法1.什么是贪心算法2.贪心算法的特点 二.例题1.柠…...

AJAX XML

AJAX XML 引言 随着互联网技术的不断发展,Web应用对用户交互性和实时性的要求越来越高。AJAX(Asynchronous JavaScript and XML)技术的出现,为Web应用开发提供了强大的支持。AJAX技术允许Web应用在不重新加载整个页面的情况下,与服务器进行异步通信。XML作为数据传输格式…...

踏入编程世界的第一个博客

我&#xff0c;一个双非一本大一新生&#xff0c;普通的不能再普通了&#xff0c;面对宏伟庞大的计算机世界仍显得举手无措&#xff0c;我自以为自身仍有些许骨气&#xff0c;不想普普通通&#xff0c;甚是浑浑噩噩的度过四年大学&#xff0c;经历了高考的打击&#xff0c;双非…...

2025年1月22日(网络编程 udp)

系统信息&#xff1a; ubuntu 16.04LTS Raspberry Pi Zero 2W 系统版本&#xff1a; 2024-10-22-raspios-bullseye-armhf Python 版本&#xff1a;Python 3.9.2 已安装 pip3 支持拍摄 1080p 30 (1092*1080), 720p 60 (1280*720), 60/90 (640*480) 已安装 vim 已安装 git 学习…...

数据结构与算法之栈: LeetCode 641. 设计循环双端队列 (Ts版)

设计循环双端队列 https://leetcode.cn/problems/design-circular-deque/description/ 描述 设计实现双端队列。 实现 MyCircularDeque 类: MyCircularDeque(int k) &#xff1a;构造函数,双端队列最大为 k 。boolean insertFront()&#xff1a;将一个元素添加到双端队列头部…...

从零开始学 HTML:构建网页的基本框架与技巧

系列文章目录 01-从零开始学 HTML&#xff1a;构建网页的基本框架与技巧 文章目录 系列文章目录前言一、HTML 文档的基本框架1.1 <!DOCTYPE html>、<html>、<head>、<body> 标签解析1.1.1 <!DOCTYPE html> 标签1.1.2 <html> 标签1.1.3 &l…...

一些杂记2

1.#define 1.1定义 #define 是一个预处理指令&#xff0c;用于定义宏 宏&#xff0c;是预处理阶段&#xff08;在编译之前&#xff09;由预处理器处理的代码片段 1.2使用 1.2.1 #define 可以定义常量 #define PI 3.14159 1.2.2 #define 可以定义宏函数 #define SQUARE(x) ((…...

C语言 --- 分支

C语言 --- 分支 语句分支语句含义if...else语句单分支if语句语法形式 双分支 if-else 语句语法形式 悬空else含义问题描述 多分支 if-else 语句语法形式 switch...case语句含义语法形式 总结 &#x1f4bb;作者简介&#xff1a;曾与你一样迷茫&#xff0c;现以经验助你入门 C 语…...

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.10 ndarray内存模型:从指针到缓存优化

2.10 ndarray内存模型&#xff1a;从指针到缓存优化 目录 #mermaid-svg-p0zxLYqAnn59O2Xe {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-p0zxLYqAnn59O2Xe .error-icon{fill:#552222;}#mermaid-svg-p0zxLYqAnn59O…...

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.6 广播机制核心算法:维度扩展的数学建模

2.6 广播机制核心算法&#xff1a;维度扩展的数学建模 目录/提纲 #mermaid-svg-IfELXmhcsdH1tW69 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-IfELXmhcsdH1tW69 .error-icon{fill:#552222;}#mermaid-svg-IfELXm…...

K8S极简教程(4小时快速学会)

1. K8S 概览 1.1 K8S 是什么 K8S官网文档&#xff1a;https://kubernetes.io/zh/docs/home/ 1.2 K8S核心特性 服务发现与负载均衡&#xff1a;无需修改你的应用程序即可使用陌生的服务发现机制。存储编排&#xff1a;自动挂载所选存储系统&#xff0c;包括本地存储。Secret和…...

系统URL整合系列视频二(界面原型)

视频 系统URL整合系列视频二&#xff08;界面原型&#xff09; 视频介绍 &#xff08;全国&#xff09;大型分布式系统Web资源URL整合需求界面原型讲解。当今社会各行各业对软件系统的web资源访问权限控制越来越严格&#xff0c;控制粒度也越来越细。安全级别提高的同时也增加…...

虚幻浏览器插件 UE与JS通信

温馨提示&#xff1a;本节内容需要结合插件Content下的2_Communication和Resources下的sample.html 一起阅读。 1. UE调用JS 1.1 JS脚本实现 该部分共两步: 导入jstote.js脚本实现响应函数并保存到 ue.interface 中 jsfunc 通过json对象传递参数&#xff0c;仅支持函数名小…...

OpenAI深夜反击:o3-mini免费上线,能否撼动DeepSeek的地位?

还在为寻找合适的 AI 模型而烦恼吗&#xff1f;chatTools 平台为您精选 o1、GPT4o、Claude、Gemini 等顶尖 AI 模型&#xff0c;满足您不同的 AI 应用需求。立即体验强大的 AI 能力&#xff01; 深夜反击&#xff0c;OpenAI祭出o3-mini 在DeepSeek异军突起&#xff0c;搅动AI行…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

k8s从入门到放弃之HPA控制器

k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率&#xff08;或其他自定义指标&#xff09;来调整这些对象的规模&#xff0c;从而帮助应用程序在负…...

CppCon 2015 学习:Reactive Stream Processing in Industrial IoT using DDS and Rx

“Reactive Stream Processing in Industrial IoT using DDS and Rx” 是指在工业物联网&#xff08;IIoT&#xff09;场景中&#xff0c;结合 DDS&#xff08;Data Distribution Service&#xff09; 和 Rx&#xff08;Reactive Extensions&#xff09; 技术&#xff0c;实现 …...