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

【AI学习从零至壹】Numpy基础知识

PyTorch基础知识

  • Numpy基础
    • NumPy 基本数据类型
    • Numpy数组
  • NumPy 基础数组创建
  • Numpy特殊数组创建
  • Numpy数组的访问
  • NumPy数组的遍历
  • Numpy数组的常用属性
    • 比较常用的属性有:
  • Numpy数组的基本操作
  • Numpy数组的数学操作
    • 加减乘除
  • Numpy线性代数
  • Numpy广播机制

Numpy基础

NumPy(Numerical Python)是 Python 语言中用于科学计算的一个重要基础库,它提供了高性能的多维数组对象,以及用于处理这些数组的各种工具和函数。

NumPy 基本数据类型

  • bool_ 布尔型数据类型(True 或者 False)
  • int_ 默认的整数类型(类似于 C 语言中的 long,int32 或 int64)
  • int8 字节(-128 to 127)
  • int16 整数(-32768 to 32767)
  • int32 整数(-2147483648 to 2147483647)
  • int64 整数(-9223372036854775808 to 9223372036854775807)
  • uint8 无符号整数(0 to 255)
  • uint16 无符号整数(0 to 65535)
  • uint32 无符号整数(0 to 4294967295)
  • uint64 无符号整数(0 to 18446744073709551615)
  • float_ float64 类型的简写
  • float16 半精度浮点数,包括:1 个符号位,5 个指数位,10 个尾数位
  • float32 单精度浮点数,包括:1 个符号位,8 个指数位,23 个尾数位
  • float64 双精度浮点数,包括:1 个符号位,11 个指数位,52 个尾数位
  • complex_ complex128 类型的简写,即 128 位复数
  • complex64 复数,表示双 32 位浮点数(实数部分和虚数部分)
  • complex128 复数,表示双 64 位浮点数(实数部分和虚数部分)
    numpy 的数值类型实际上是 dtype 对象的实例,并对应唯一的字符,包括
    np.bool_np.int32,np.float32,等等。

Numpy数组

  • NumPy 数组是一个多维数组对象。称为 Ndarray,由数组实际数据与描述这些
    数据的元数据组成.
  • ⼀般来说,⼤部分操作仅针对于元数据,⽽不改变底层实际的数据。
    元数据:元数据就是描述数据的数据,比如说数组的形状、数据类型等等实际的数据说的是存储在内存中的实际数据内容,numpy里面的一些操作,比如说切片,他是创建一个新的视图,不是修改原始数据的存储位置
  • 需要注意的是,NumPy 数组的下标起始位 0,同⼀个 NumPy 数组中的所有元素
    类型必须相同,NumPy 数组的创建访问中 () 与 [] 功能没有什么区别。

NumPy 基础数组创建

Numpy数组有很多中创建方式,一般常⽤的⽅式是将 list 转换为 np.array:

import numpy as np
a = [1,2,3]
b = np.array(a)
c = np.array([1,2,3])
print("b:",b)
print("c:",c)# 输出:
b: [1 2 3]
c: [1 2 3]

两种方式输出的内容都是一样的

  • 创建多维数组
a1 = np.array([(1,2,3),(4,5,6),(7,8,9)])
a1
# 跟C语言多维数组一个理解方式
# 输出
array([[1, 2, 3],[4, 5, 6],[7, 8, 9]])

Numpy特殊数组创建

NumPy 提供了⼀些使⽤占位符创建数组的函数,这些数组在机器学习中是⽐较常⻅的。在创建过程中我们同样可以使⽤ dtype = int 指定元素类型:

  • 创建一个全是0的数组
a2 = np.zeros((5,3),dtype=int) #创建一个五行三列的数组,元素类型是int
a2
#输出
array([[0, 0, 0],[0, 0, 0],[0, 0, 0],[0, 0, 0],[0, 0, 0]])
  • 创建一个全是1的数组
a3 = np.ones((3,3),dtype=float)#创建一个三行三列,元素类型为float的数组
a3
#输出
array([[1., 1., 1.],[1., 1., 1.],[1., 1., 1.]])
  • 创建等差数列
a4 = np.arange(1,11,2)#创建一个从1开始,11结束,差值为2的等差数列
a4
array([1, 3, 5, 7, 9])
  • 创建单位矩阵(矩阵的乘法中,有⼀种矩阵起着特殊的作⽤,如同数的乘法中的 1,这种矩阵被称为单位矩阵。它是个⽅阵,从左上⻆到右下⻆的对⻆线(称为主对⻆线)上的元素均为 1)
a = np.eye(4) #创建一个四行四列的单位矩阵
a
array([[1., 0., 0., 0.],[0., 1., 0., 0.],[0., 0., 1., 0.],[0., 0., 0., 1.]])
  • [0,1)之间的随机数组
a5 = np.random.random(5)#生成指定长度,在[0,1)之间平均分布的随机数组
a5
#输出
array([0.53019882, 0.70241453, 0.08357814, 0.69802226, 0.85959921])
  • 生成指定长度,符合正态分布的随机数组
a6 = np.random.normal(0,0.1,5)#生成其均值为0,标准差为0.1的随机数组
a6
#输出
array([-0.15249953, -0.0443617 , -0.20765963,  0.05754567,  0.05691443])

Numpy数组的访问

和 list 的访问形式基本⼀致,⽀持切⽚操作,我们可以切⽚每⼀个维度,索引每⼀个维度

a7 = np.array([(1,3,4),(5,8,7),(8,9,7)])
a7[:2]#输出array数组的前两个数组
#输出
array([[1, 3, 4],[5, 8, 7]])
a7[:,2]#输出每一行的第三个元素,组成一个数组
#输出
array([4, 7, 7])
a7[:,:2]#输出每一行每一列的前两个元素,组成一个数组
#输出
array([[1, 3],[5, 8],[8, 9]])

NumPy数组的遍历

一维数组的遍历我们大家都知道

a = np.array([1,2,3,4])
for i in a:print(i)
  • 多维数组的遍历
a8 = np.array([(1,2,3),(3,4,5)])
i,h,k = a8[0]#可以使用直接赋值遍历
for i,j,k in a8:print(i*j*k)

Numpy数组的常用属性

比较常用的属性有:

ndarray.ndim : 数组的维度(数组轴的个数),等于秩
ndarray.shape : 数组的⼤⼩。为⼀个表⽰数组在每个维度上⼤⼩的整数元组。例如⼆维数组中,表⽰数组的ʼ ⾏数ʼ 和ʼ 列数ˮ
ndarray.size : 数组元素的总个数,等于 shape 属性中元组元素的乘积
ndarray.dtype : 表⽰数组中元素类型的对象

a8 = np.array([(1,2,3),(3,4,5)])
print("ndim:", a.ndim)
print("shape:", a.shape)
print("size", a.size)
print("dtype", a.dtype)

Numpy数组的基本操作

  • in:检测数值是否在数组中
a9 = np.array([[0,2,3,4]])
print(5 in a9)
print(3 in a9)
#输出
False
True
  • reshape:数组的重排列,例如将一个3维数组转变成1维(元素数一定要保持不变)
a8 = np.array([(1,2,3),(3,4,5)])
a8.reshape(1,6)#把两行三列的数组变成一行六列的
#输出
array([[1, 2, 3, 3, 4, 5]])
  • tanspose:转置(T)
a8 = np.array([(1,2,3),(3,4,5)])
a8.transpose()
a8.T
  • flatten:把多维数组转换成一维数组,注意每个元组的长度是相同的
a8.flatten()
#输出
  • newaxis:增加维度
a = np.array([[1,2,3],[2,3,5]])
a.shape
a = a[np.newaxis]#在前面加一个维度
#输出
#(1, 2, 3)
a = a[:,np.newaxis,:]#在中间加一个维度
#输出
#(2, 1, 3)
a.shape

Numpy数组的数学操作

加减乘除

  • *表示矩阵内各位置对应相乘,点承表示求矩阵内积,二维数组称为矩阵积
a = np.ones((2,2))
b = np.array([(1,1),(3,3,)])
print(a)
print(b)
print(a+b)
print(a-b)
print(a*b)
print(a/b)
print(a.sum())
print(a.prod())```
#输出
[[1. 1.][1. 1.]]
[[1 1][3 3]]
[[2. 2.][4. 4.]]
[[ 0.  0.][-2. -2.]]
[[1. 1.][3. 3.]]
[[1.         1.        ][0.33333333 0.33333333]]
4.0
1.0
  • 平均数,⽅差,标准差,最⼤值,最⼩值
import numpy as np
a = np.array([5,2,1])
print("mean:",a.mean())#平均数
print("var:", a.var())#方差
print("std:", a.std())#标准差
print("max:", a.max())
print("min:", a.min())
  • 最⼤与最⼩值对应的索引值:argmax,argmin。取元素值上限,下限,四舍五⼊:ceil, floor, rint
a = np.array([1.2,2.2,3.5])
print("argmax:",a.argmax())#最大的索引值
print("argmin:",a.argmin())#最小的索引值
print("ceil:",np.ceil(a))#取元素值的上限
print("floor:",np.floor(a))#取元素值的下限
print("rint:",np.rint(a))#四舍五入
#输出
a = np.array([1.2,2.2,3.5])
print("argmax:",a.argmax())#最大的索引值
print("argmin:",a.argmin())#最小的索引值
print("ceil:",np.ceil(a))#取元素值的上限
print("floor:",np.floor(a))#取元素值的下限
print("rint:",np.rint(a))#四舍五入

除了上述函数外,还有很多数据运算操作,它们的使⽤⽅式基本都类似,例如:abs, sign, sqrt, log,log10, exp, sin, cos, tan, arcsin, arccos, arctan, sinh, cosh, tanh, arcsinh, arccosh,arctanh 等等。

Numpy线性代数

矩阵 (matrix) 是 array 的分⽀,matrix 和 array 在很多时候都是通⽤的,⽤哪⼀个都⼀样。官⽅建议⼤家如果两个可以通⽤,那就选择 array,因为 array 更灵活,速度更快。
array 的优势就是不仅仅表⽰⼆维,还能表⽰ 3、4、5… 维,⽽且在⼤部分 Python 程序⾥,array 也是更常⽤的。
dot : 矩阵乘法,对于两个⼀维的数组,计算的是这两个数组对应下标元素的乘积和 (数学上称之为内积);
对于⼆维数组,计算的是两个数组的矩阵乘积;
对于多维数组,它的通⽤计算公式如下,即结果数组中的每个元素都是:数组 a 的最后⼀维上的所有元素与数组 b 的倒数第⼆位上的所有元素的乘积和:dot(a, b)[i,j,k,m]= sum(a[i,j,:] * b[k,:,m])

m1 = np.array([[1,2],[3,4]],dtype = np.float32)
m2 = np.array([[5,6],[7,8]],dtype = np.float32)
result_dot = np.dot(m1,m2)
result_at = m1@m2
print("矩阵 1")
print(m1)
print("矩阵 2")
print(m2)
print("使⽤ np.dot 得到的矩阵乘法结果:")
print(result_dot)
#输出
矩阵 1
[[1. 2.][3. 4.]]
矩阵 2
[[5. 6.][7. 8.]]
使⽤ np.dot 得到的矩阵乘法结果:
[[19. 22.][43. 50.]]

Numpy广播机制

⼴播 (Broadcast) 是 numpy 对不同形状 (shape) 的数组进⾏数值计算的⽅式,对数组的算术运算通常在相应的元素上进⾏。如果两个数组 a 和 b 形状相同,即满⾜ a.shape == b.shape,那么 a*b 的结果就是 a 与 b 数组对应位相乘。这要求维数相同,且各维度的⻓度相同。

a = np.array([(1,2),(4,5),(1,1)])
b = np.array([1,2])# shape(2)→→ shape(1,2) →→ shape(3,2)
a+b
#输出
array([[2, 4],[5, 7],[2, 3]])

相关文章:

【AI学习从零至壹】Numpy基础知识

PyTorch基础知识 Numpy基础NumPy 基本数据类型Numpy数组 NumPy 基础数组创建Numpy特殊数组创建Numpy数组的访问NumPy数组的遍历Numpy数组的常用属性比较常用的属性有: Numpy数组的基本操作Numpy数组的数学操作加减乘除 Numpy线性代数Numpy广播机制 Numpy基础 NumPy…...

Day11,Hot100(贪心算法)

贪心 (1)121. 买卖股票的最佳时机 第 i 天卖出的最大利润,即在前面最低价的时候买入 class Solution:def maxProfit(self, prices: List[int]) -> int:min_price prices[0]ans 0for price in prices:ans max(ans, price - min_price…...

Transformer 代码剖析1 - 数据处理 (pytorch实现)

引言 Transformer 架构自《Attention Is All You Need》论文发表以来,在自然语言处理领域引起了巨大的变革。它摒弃了传统的循环结构,完全基于注意力机制,显著提高了处理序列数据的效率和性能。本文将通过对一个具体的项目代码结构进行详细分…...

Python--模块(下)

3. 内置模块 3.1 os模块 常用功能: os.mkdir("new_dir") # 创建目录 os.listdir(".") # 列出当前目录文件 os.path.join("dir", "file.txt") # 路径拼接 os.path.abspath(__file…...

Android Studio超级详细讲解下载、安装配置教程(建议收藏)

博主介绍:✌专注于前后端、机器学习、人工智能应用领域开发的优质创作者、秉着互联网精神开源贡献精神,答疑解惑、坚持优质作品共享。本人是掘金/腾讯云/阿里云等平台优质作者、擅长前后端项目开发和毕业项目实战,深受全网粉丝喜爱与支持✌有…...

PS画笔工具

画笔工具: 画笔工具(B)(原理:单位笔刷的连续填充,文件格式.abr):圆形矢量笔刷、动态矢量画笔(旧版画笔里有 与压感笔有关)、图案填充画笔 shift画笔&#xff…...

[Java基础] JVM常量池介绍(BeanUtils.copyProperties(source, target)中的属性值引用的是同一个对象吗)

文章目录 1. JVM内存模型2. 常量池中有什么类型?3. 常量池中真正存储的内容是什么4. 判断一个字符串(引用)是否在常量池中5. BeanUtils.copyProperties(source, target)中的属性值引用的是同一个对象吗?6. 获取堆内存使用情况、非堆内存使用情况 1. JVM内…...

1.68M 免安装多格式图片批量转 webp 无广告软件推荐

软件介绍 今天要给大家分享一款超实用的图片处理工具,它能实现多格式图片向 webp 格式的转换,无论是 jpg、png、tif、gif 还是 webp 格式自身的图片,都能批量且借助多线程技术进行转换。 直接打开就能用,体积小巧,仅 …...

LeetCode 1472.设计浏览器历史记录:一个数组完成模拟,单次操作均O(1)

【LetMeFly】1472.设计浏览器历史记录:一个数组完成模拟,单次操作均O(1) 力扣题目链接:https://leetcode.cn/problems/design-browser-history/ 你有一个只支持单个标签页的 浏览器 ,最开始你浏览的网页是 homepage &#xff0c…...

[笔记.AI]AI知识科普提纲

仅供参考 1.AI基础认知 1.1什么是什么AI 1.2核心概念 1.2.1机器学习、深度学习、神经网络 1.2.2模型:模型、大模型、模型参数 1.2.3多模态 1.2.4生成式AI & 判别式AI 1.3发展与现状 2.大模型 2.1主流大模型 2.1.1分类 2.1.2各…...

学习知识的心理和方法杂记-01

前言: 1 学习新知识要讲究方法,“知识未学 方法先行”,写本系列文章是为了给自己加深大脑“条件反射”的,因为我自己学习新知识的过程中老会被不科学的“杂念”干扰,导致学习效率低下。 2 关于天才和普通人&#xff…...

网页制作10-html,css,javascript初认识の适用XHTML

一、简介: Xhtml是extensible hypertext markup language的缩写。它是由国际W3C组织制定并公布发行的。是一个过渡技术,结合了部分xml的强大功能及大多数html的简单特性。 Advantage. Xhtml提倡更简洁规范的代码。 Xhtml.文档在旧的基于的浏览器中&…...

C++ 中 cin 和 cout 教程

一、概述 在 C 里&#xff0c;cin 和 cout 是标准库 <iostream> 中用于输入输出操作的重要对象&#xff0c;它们基于流的概念&#xff0c;为开发者提供了方便且类型安全的输入输出方式。cin 是标准输入流对象&#xff0c;主要用于从标准输入设备&#xff08;一般是键盘&…...

Qt for Android下QMessageBox背景黑色、文字点击闪烁

最近在基于Qt开发安卓应用的时候,在红米平板上默认QMessageBox出现之后,背景黑色,并且点击提示文字会出现闪烁,影响用户体验。 问题分析 1、设置QMessageBox样式,设置背景色、文字颜色,如下所示: QMessageBox {background: white;color: white; } 尝试之后,问题仍存…...

C++20的指定初始化器(Designated Initializers)

文章目录 指定初始化器的使用条件语法嵌套结构体的初始化数组的指定初始化注意事项优势 C20引入了**指定初始化器&#xff08;Designated Initializers&#xff09;**这一特性&#xff0c;允许在初始化结构体、联合体或类的对象时&#xff0c;明确指定成员变量的初始化值&#…...

Windows 11【1001问】删除Win11左下角小组件的6种方法

在Windows 11中&#xff0c;左下角的小组件功能虽然提供了天气、新闻等实用信息&#xff0c;但对于一些用户来说可能显得多余或干扰视线。因此&#xff0c;微软提供了多种方式让用户能够自定义是否显示这些小组件。以下是 6 种常见的设置方法来隐藏或关闭Windows 11左下角的小组…...

kotlin的函数标准库使用

摘要说明 函数标准库常用的有&#xff1a; 1、apply&#xff1a; apply函数作为一个配置函数&#xff0c;可以传入一个接收者&#xff0c;然后调用一系列函数来配置它以方便使用&#xff0c;如果提供lambda给apply函数执行&#xff0c;它会返回配置好的接收者 使用介绍&#x…...

深入剖析:自定义实现C语言中的atoi函数

在C语言的标准库中&#xff0c; atoi 函数是一个非常实用的工具&#xff0c;它能够将字符串形式的数字转换为对应的整数。然而&#xff0c;当我们深入探究其实现原理时&#xff0c;会发现其中蕴含着许多有趣的编程技巧和细节。本文将详细讲解如何自定义实现一个类似 atoi 功能的…...

Kubernetes (K8S) 核心原理深度剖析:从架构设计到运行机制

Kubernetes(K8S)作为容器编排领域的“操作系统”,其设计和实现原理是开发者进阶的必修课。本文将从架构设计、核心组件协作、关键机制实现三个维度,结合源码逻辑与实战场景,分享 K8S 的底层运行原理。 一、Kubernetes 架构设计 1. 声明式 API 与控制器模式 K8S 的核心设…...

springboot做接口限流

目录 1. 依赖全局配置2. 注解配置 1. 依赖全局配置 引入依赖 <dependency><groupId>com.github.taptap</groupId><artifactId>ratelimiter-spring-boot-starter</artifactId><version>1.2</version></dependency>appl…...

Visual Studio Code 跨平台安装与配置指南(附官方下载链接)

一、软件定位与核心功能 Visual Studio Code&#xff08;简称VS Code&#xff09;是微软开发的开源跨平台代码编辑器&#xff0c;支持超过50种编程语言的智能补全、调试和版本控制功能。2025版本新增AI辅助编程模块&#xff0c;可自动生成单元测试代码和API文档注释。 二、下载…...

TaskBuilder设置排序条件

在整个向导的最后一步&#xff0c;可以设置是否按指定字段的值对查询结果进行排序&#xff0c;支持正序和倒序两种排序方式。如果没有设置任何排序字段&#xff0c;则默认按数据库里现有数据记录的实际存储的先后顺序排序。如果设置了多个排序条件&#xff0c;则按这些条件从上…...

挖src实用脚本开发(二)

文章目录 技术原理代码实现一代码实现二总结 这篇文章记录cms识别脚本。 技术原理 1.使用在线平台识别&#xff0c;比如whatcms&#xff0c;fofa等 2.自己写脚本识别&#xff0c;但是指纹库麻烦&#xff0c;需要耗费大量精力 代码实现一 这里我使用的是whatcms接口&#xff0…...

[ISP] AE 自动曝光

相机通过不同曝光参数&#xff08;档位快门时间 x 感光度 x 光圈大小&#xff09;控制进光量来完成恰当的曝光。 自动曝光流程大概分为三部分&#xff1a; 1. 测光&#xff1a;点测光、中心测光、全局测光等&#xff1b;通过调整曝光档位使sensor曝光在合理的阈值内&#xff0…...

DeepSeek-R1:通过强化学习激发大语言模型的推理能力

注&#xff1a;此文章内容均节选自充电了么创始人&#xff0c;CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》&#xff08;人工智能科学与技术丛书&#xff09;【陈敬雷编著】【清华大学出版社】 文章目录 DeepSeek大模型技术系列三DeepSeek大模型技术系列三》DeepSeek-…...

002 docker安装rocketmq

docker search rocketmq#拉取镜像 docker pull foxiswho/rocketmq:server-4.3.2 docker pull foxiswho/rocketmq:broker-4.3.2 #创建nameserver容器 docker create -p 9876:9876 --name rmqserver \ -e "JAVA_OPT_EXT-server -Xms128m -Xmx128m -Xmn128m" \ -e "…...

算法训练(leetcode)二刷第三十七天 | *300. 最长递增子序列、674. 最长连续递增序列、*718. 最长重复子数组

刷题记录 *300. 最长递增子序列674. 最长连续递增序列基础解法&#xff08;非动规&#xff09;动态规划 718. 最长重复子数组滚动数组 *300. 最长递增子序列 leetcode题目地址 dp数组含义&#xff1a; dp[i]表示以nums[i]结尾的最长递增子序列长度&#xff0c;即以nums[i]结尾…...

LSTM长短期记忆网络-原理分析

1 简介 概念 LSTM&#xff08;Long Short-Term Memory&#xff09;也称为长短期记忆网络&#xff0c;是一种改进的循环神经网络&#xff08;RNN&#xff09;&#xff0c;专门设计用于解决传统RNN的梯度消失问题和长程依赖问题。LSTM通过引入门机制和细胞状态&#xff0c;能够更…...

Java 面试题 20250227

Java 中序列化与反序列化是什么&#xff1f; 序列化&#xff1a;将 Java 对象转化成可传输的字节序列格式&#xff08;字节流、JSON、XML&#xff09;&#xff0c;以便于传输和存储。 反序列化&#xff1a;将字节序列格式数据转化成 Java 对象的过程。 1、为什么需要序列化和…...

Spring事务失效六大场景

引言 Spring事务一般我们采用注解实现&#xff0c;但是我们构造事务实现的时候常常没察觉失效的情况&#xff0c;本篇文章总结事务失效的六大情况&#xff0c;帮助我们深刻理解事务失效的边界概念 1. 方法自调用 这个主要是针对声明式事务的&#xff0c;经过前面的介绍&…...

C++和OpenGL实现3D游戏编程【连载23】——几何着色器和法线可视化

欢迎来到zhooyu的C++和OpenGL游戏专栏,专栏连载的所有精彩内容目录详见下边链接: 🔥C++和OpenGL实现3D游戏编程【总览】 1、本节实现的内容 上一节课,我们在Blend软件中导出经纬球模型时,遇到了经纬球法线导致我们在游戏中模型光照显示问题,我们在Blender软件中可以通过…...

Python游戏编程之赛车游戏6-2

3.2 move()方法的定义 Player类的move()方法用于玩家控制汽车左右移动&#xff0c;当玩家点击键盘上的左右按键时&#xff0c;汽车会相应地进行左右移动。 move()方法的代码如图7所示。 图7 move()方法的代码 其中&#xff0c;第20行代码通过pygame.key.get_pressed()函数获…...

Vxe UI 根据vxe-tabs 绑定不同的值,渲染生成不同的 tabls(页签)内容

VxeUI tabs控件&#xff0c;根据绑定不同的内容&#xff0c;动态渲染不同的表格数据放置在不同的 tab 页 效果图如下&#xff1a; 代码实现 <template><vxe-tabs :options"detailTabList"><vxe-tab-pane v-for"(item, index) in detailTabList&…...

Element Plus中el-select选择器的下拉选项列表的样式设置

el-select选择器&#xff0c;默认样式效果&#xff1a; 通过 * { margin: 0; padding: 0; } 去掉内外边距后的样式效果&#xff08;样式变丑了&#xff09;&#xff1a; 通过 popper-class 自定义类名修改下拉选项列表样式 el-select 标签设置 popper-class"custom-se…...

YOLOv11-ultralytics-8.3.67部分代码阅读笔记-train.py

train.py ultralytics\models\yolo\detect\train.py 目录 train.py 1.所需的库和模块 2.class DetectionTrainer(BaseTrainer): 1.所需的库和模块 # Ultralytics &#x1f680; AGPL-3.0 License - https://ultralytics.com/licenseimport math import random from copy…...

PR 安装包 2018-2024(Win,Mac)文中为使用技巧和教程

下载链接&#xff1a;https://pan.baidu.com/s/1LLv1tSXJxUcv6iOlcAHJEg?pwd1234 导语&#xff1a;Adobe Premiere Pro以98%的行业覆盖率和跨平台协作能力&#xff0c;稳居2025年视频剪辑工具榜首。本文涵盖基础配置、核心剪辑、高级调色、效率革命、企业级实战五大模块&…...

请求Geoserver的WTMS服务返回200不返回图片问题-跨域导致

今天碰到个奇怪问题&#xff0c;改了个页面标题再打包布署GeoServer发现调用WTMS服务失败&#xff0c;请求返回状态码200&#xff0c;返回包大小0&#xff0c;使用postman模拟请求是可以正常返回图片的。 跟之前版本对比如下&#xff1a; 正常Response请求: HTTP/1.1 200X-Fr…...

TCP基本入门-简单认识一下什么是TCP

部分内容来源&#xff1a;小林Coding TCP的特点 1.面向连接 一定是“一对一”才能连接&#xff0c;不能像 UDP 协议可以一个主机同时向多个主机发送消息&#xff0c;也就是一对多是无法做到的 2.可靠的 无论的网络链路中出现了怎样的链路变化&#xff0c;TCP 都可以保证一个…...

计算机科学技术领域的内卷现状与应对措施分析

计算机科学技术领域的内卷现状与应对措施分析 李升伟 整理 ### 计算机科学技术领域的内卷现状与应对措施分析 #### 一、内卷现状分析 1. **教育与升学内卷** 计算机科学与技术相关专业&#xff08;如计算机科学与技术、人工智能、大数据等&#xff09;已成为考研竞争最…...

The First项目报告:VANA如何重塑数据所有权与AI训练

在当今的数字化时代&#xff0c;数据已成为比黄金更为珍贵的资源。科技巨头们通过收集和分析用户的个人数据&#xff0c;获得巨大的商业利益&#xff0c;而用户却往往没有从中得到应有的回报。这种数据的不对等交易和隐私侵犯现象&#xff0c;成为了现代社会的一个严重问题。 …...

pnpm的基本用法

以下是 pnpm 的核心命令和使用指南&#xff0c;涵盖从安装依赖到项目管理的常见操作&#xff1a; 1. 基础命令 (1) 安装依赖 pnpm install # 安装 package.json 中的所有依赖 pnpm install <包名> # 安装指定包&#xff08;自动添加到 dependencies&#xf…...

机试刷题_从上往下打印二叉树【python】

从上往下打印二叉树 # class TreeNode: # def __init__(self, x): # self.val x # self.left None # self.right None # # 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可 # # # param root …...

转化率(漏斗分析)——mysql计算过程

转化率(漏斗分析)——mysql计算过程 问题&#xff1a;有一张表&#xff0c;记录了不同用户的用户id&#xff0c;浏览页面时间&#xff0c;加入购物车时间&#xff0c;下单时间&#xff0c;支付时间&#xff0c;算出每天的各个环节的转化率 创建表info(含用户id&#xff0c;浏…...

《AI和人工智能和编程日报》

OpenAI&#xff1a;将深度研究扩展到 ChatGPT Plus、Team、Edu 和 Enterprise 用户&#xff0c;每月 10 次查询&#xff1b;Pro 用户每月有 120 次查询&#xff0c;ChatGPT 语音模式向免费用户开放。DeepSeek&#xff1a;R1 大模型宣布降价&#xff0c;调用价格将至四分之一&am…...

自然语言处理:稀疏向量表示

介绍 大家好&#xff0c;我是博主。今天又来和大家分享自然语言处理领域的知识了。原本我计划这次分享NLP中文本表示的相关内容&#xff0c;不过在整理分享计划的过程中&#xff0c;发现这部分知识里包含一些涉及复杂数学原理和抽象概念的内容。对于刚接触NLP的小伙伴们来说&a…...

矩阵 trick 系列 题解

1.AT_dp_r Walk&#xff08;矩阵图论&#xff09; 题意 一个有向图有 n n n 个节点&#xff0c;编号 1 1 1 至 n n n。 给出一个二维数组 A 1... n , 1... n A_{1...n,1...n} A1...n,1...n​&#xff0c;若 A i , j 1 A_{i,j}1 Ai,j​1 说明节点 i i i 到节点 j j j …...

视频字幕识别和翻译

下载的视频很多不是汉语的&#xff0c;我们需要用剪映将语音识别出来作为字幕压制到视频中去。 剪映6.0以后语音识别需要收费&#xff0c;但是低版本还是没有问题。 如果想要非汉语字幕转成中文&#xff0c;剪映低版本不提供这样功能。但是&#xff0c;用剪映导出识别字幕&am…...

C++ 快速学习教程

文章目录 一、基础语法篇1. 开发环境搭建2. 程序结构3. 基础数据类型4. 流程控制 二、面向对象编程1. 类与对象2. 构造函数与析构函数3. 继承与多态4. 运算符重载 三、高级特性1. 模板编程2. 异常处理3. 命名空间4. 类型推导&#xff08;auto/decltype&#xff09; 四、标准库与…...

LlamaFactory-webui:训练大语言模型的入门级教程

LlamaFactory是一个开源框架&#xff0c;支持多种流行的语言模型&#xff0c;及多种微调技术&#xff0c;同时&#xff0c;以友好的交互式界面&#xff0c;简化了大语言模型的学习。 本章内容&#xff0c;从如何拉取&#xff0c;我已经搭建好的Llamafactory镜像开始&#xff0…...

ros安装rqt_joint_trajectory_controller

有时候&#xff0c;我们可以看到别人的代码里面有这个&#xff0c;但是这个是需要安装的。 <node name"gui_controller" pkg"rqt_joint_trajectory_controller" type"rqt_joint_trajectory_controller" />sudo apt-get install ros-noeti…...