自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

记录知识、锤炼自我

Spring、Spring Boot、Spring Cloud、DevOps、Redis、Mysql、微服务、云原生、大数据.....你想要的这里都有

  • 博客(779)
  • 资源 (2)
  • 收藏
  • 关注

原创 NumPy 2.x 完全指南【二十六】掩码数组

在许多情况下,数据集可能不完整或受到无效数据的污染。例如,传感器可能未能记录数据,或者记录了无效的值。numpy.ma 模块通过引入掩码数组(MaskedArray)提供了一个便捷的解决方案,是一个支持带有掩码的数组。

2025-06-11 11:00:15 1084

原创 NumPy 2.x 完全指南【二十五】记录数组

基于便利性考虑,NumPy 提供了 numpy.recarray 记录数组,它也是 ndarray 的子类,是一种特殊的结构化数组,允许通过属性访问结构化数组的字段,而不仅仅是通过索引。

2025-06-11 10:38:52 471

原创 NumPy 2.x 完全指南【二十四】结构化数组

需要注意的是还有个数组标量类型不要搞混淆了,NumPy 提供多种标量类型(如 int32, float64, complex128 等),用于描述数组元素的原子数据类型,它们的顶级父类是 numpy.generic ,不是 numpy.dtype 对象。

2025-06-04 11:03:42 1087

原创 NumPy 2.x 完全指南【二十三】数据类型对象

需要注意的是还有个数组标量类型不要搞混淆了,NumPy 提供多种标量类型(如 int32, float64, complex128 等),用于描述数组元素的原子数据类型,它们的顶级父类是 numpy.generic ,不是 numpy.dtype 对象。

2025-06-04 11:01:51 871

原创 NumPy 2.x 完全指南【二十二】数组标量

Python 只定义了特定数据类的单一类型,在一般的编程场景中,不需要关注数据如何在计算机中表示,但是在在科学计算中,通常需要更多的控制。NumPy 在基础 Python 类型的基础上提供了 24 种新的不同类型的标量,这些类型描述符大多基于 C 语言中的类型(CPython 是用 C 语言编写的),并且有几个类型与 Python 类型兼容。

2025-05-29 15:28:59 980

原创 NumPy 2.x 完全指南【二十一】元素重排操作

numpy.flip: 沿指定轴翻转数组元素顺序,返回视图,共享原数组内存。

2025-05-29 15:28:17 594

原创 NumPy 2.x 完全指南【二十】维度操作函数

Numpy 提供了一系列强大的函数,帮助开发者灵活调整数组维度、适配广播规则,并简化复杂计算:

2025-05-26 14:17:02 670

原创 NumPy 2.x 完全指南【十九】广播机制

广播(Broadcasting)机制:在满足特定条件的情况下,较小的数组会在较大的数组上进行自动扩展,使它们的形状兼容,从而允许不同形状的数组之间进行数值运算。

2025-05-26 14:16:38 976

原创 NumPy 2.x 完全指南【十八】数组元素的新增和删除

numpy.insert():在数组的指定轴(维度)的给定索引位置前插入值,返回新数组(原数组不变)。

2025-05-22 11:40:58 852

原创 NumPy 2.x 完全指南【十七】转置操作

在机器学习中转置常用于:调整图像数据的通道顺序。将时间序列数据从 (序列长度, 特征数) 转为 (特征数, 序列长度)。神经网络中的权重矩阵维度匹配。卷积操作中的滤波器方向调整。

2025-05-22 11:38:58 1531

原创 NumPy 2.x 完全指南【十六】分割数组

数组分割是指将一个数组拆分为多个子数组的操作,常用于数据处理、并行计算、分块处理等场景。NumPy 提供了多种分割函数,允许用户沿不同方向(轴)按需分割数组。

2025-05-21 11:02:07 1016

原创 NumPy 2.x 完全指南【十五】合并数组

合并数组是指将多个数组按照特定规则组合成一个新数组的操作。

2025-05-21 10:56:05 791

原创 NumPy 2.x 完全指南【十四】基础操作 & 改变数组形状

NumPy 提供了一系列的数组操作函数或方法,包括形状调整、元素增删、合并拆分、数学运算等,是数据科学、机器学习和科学计算中处理数值数据的核心工具。

2025-05-20 16:31:46 971

原创 NumPy 2.x 完全指南【十三】复制和视图

在操作 NumPy 数组时,可以通过视图直接访问内部数据缓冲区,而无需复制数据。这能确保良好的性能,但如果用户不了解这一机制,可能会导致一些不必要的问题。因此,了解这两个术语的区别,以及哪些操作返回复制,哪些操作返回视图非常重要。

2025-05-20 16:31:25 720

原创 NumPy 2.x 完全指南【十二】内存布局

内存布局(Memory Layout)是指数据或程序在计算机内存中的组织方式,它决定了数据如何存储、访问和解释,存布局的设计会直接影响性能、空间利用率和兼容性。

2025-05-19 16:34:06 798

原创 NumPy 2.x 完全指南【十一】N 维数组对象(ndarray)

在之前的篇章中,有提到 ndarray 是 NumPy 中最重要的一个类,它表示 N 维数组对象,该对象是用于存放同类型元素的多维数组。接下来我们全面的了解一下 ndarray 。

2025-05-19 16:33:46 1068

原创 NumPy 2.x 完全指南【十】基础索引

NumPy 数组支持比 Python 原生列表更强大的索引功能,根据索引对象的类型划分了三种方式。

2025-05-13 14:29:28 802

原创 NumPy 2.x 完全指南【九】常量

NumPy 提供了一系列预定义的数学和科学计算常量,比如像 π 、 e 等经常会用到的常数,在需要使用时可直接通过 numpy 模块访问。

2025-05-13 14:28:43 426

原创 NumPy 2.x 完全指南【八】根据形状创建数组

NumPy 提供了多个基于形状创建数组的函数,通过指定维度结构创建数组,不依赖已有数据内容。形状可以直接指定,也可以通过复制或参照已有数组的结构。

2025-05-12 10:40:01 947

原创 NumPy 2.x 完全指南【七】根据数值范围创建数组

在 Python3 中我们学过 range 函数,它是一个用于生成整数序列的内置函数,广泛用于循环控制和序列生成。range() 返回的是可迭代 range 对象,不预先生成所有元素,而是需要时才生成下一个数。

2025-05-12 10:39:28 1125

原创 NumPy 2.x 完全指南【六】根据现有数据创建数组

根据现有数据创建数组是指将已有的数据(如列表、元组、其他数组、文件数据等)转换为 NumPy 数组,无需手动初始化或填充数据。

2025-05-09 14:18:03 972

原创 NumPy 2.x 完全指南【五】数据类型

一般对于程序员来说编程语言自带的 int、long、float 等类型就已经够用了。但是在机器学习领域,数据量都是非常大的,比如一张 224x224 的 RGB 图片用 float32 类型存储时,就需要占用 588 KB 内存,进行各种运算时会消耗大量的计算机资源。对于一些特定的数据类型 GPU 才支持加速,深度学习框架也会对数据类型有所要求,所以在 AI 领域,数据类型非常重要。

2025-05-09 14:17:13 1008

原创 NumPy 2.x 完全指南【四】数组属性

Numpy 中的数组用于多维数据的存储和计算,是计算机可操作的结构化数据容器,比抽象的高维数学概念更容易理解,其实就是俄罗斯套娃、大肠包小肠…

2025-05-08 09:39:43 1083

原创 NumPy 2.x 完全指南【三】快速入门

对于程序猿来说,关于数组我们再熟悉不过了,它是一个用于存储和检索数据的结构,可以看作是一个空间中的网格,每个单元格存储着一个数据元素。

2025-05-08 09:38:42 870

原创 NumPy 2.x 完全指南【二】搭建基础开发环境

Jupyter Notebook​ 是一个开源的交互式编程环境,专为数据科学、科学计算和教学场景设计,Jupyter 是 ​Julia​、Python​、 ​R​ 三种语言的缩写,但目前实际已支持超过 ​40 种编程语言。

2025-05-07 15:39:30 707

原创 NumPy 2.x 完全指南【一】简介

NumPy 作为一个高效的多维数组科学计算库,广泛应用于人工智能(AI)的各个领域中,提供了基础数据结构、高效计算等能力,几乎贯穿了数据处理、模型训练、算法实现和结果分析的等各个环节,是我们在入门 AI 时必须学习和掌握的一个基础库。

2025-05-07 15:38:48 1098

翻译 Martin Fowler:Inversion of Control Containers and the Dependency Injection

在 Java 社区,出现了一批轻量级容器,它们将来自不同项目的组件组装成一个有机的应用程序。这些容器背后有一个共同的模式,定义了它们如何进行组件装配,这个概念通常被统称为控制反转。

2024-11-13 16:35:32 126 1

翻译 Martin Fowler:Inversion Of Control(控制反转)

控制反转(Inversion of Control)是在扩展框架时常见的一种现象,实际上它通常被视为框架的一个定义性特征。

2024-11-13 15:12:22 115

原创 Redis 7.x 系列【38】缓存预热、缓存雪崩、缓存穿透、缓存击穿

缓存预热是指在服务启动或者流量高峰期之前,提前将数据加载到缓存中。避免因为缓存事先没有数据,大量请求直接落入到数据库中。

2024-08-07 14:52:31 1005

原创 Redis 7.x 系列【37】旁路缓存模式

缓存技术(Cache)通过将热点数据临时存储在查询速度更快的位置,从而提高了系统的响应速度和性能。‌计算机硬件、软件都大量使用了缓存技术,例如 CPU 中三级缓存,作为 CPU 与内存之间临时数据交换区, CPU 会将热点、相同的重复执行指令等数据放入到高速缓存中, CPU 直接从缓存中获取指令、数据,从而提高了整机的响应速度。

2024-08-07 14:51:57 1809

原创 Redis 7.x 系列【36】访问控制表(ACL)

认证和访问控制是实现网络安全的重要措施,Redis 6 引入了ACL(Access Control List)访问控制列表功能,允许限制连接可以执行的命令和可以访问的键。

2024-08-06 13:20:28 1942

原创 Redis 7.x 系列【35】内存管理

支持配置 Redis 服务器能够使用的最大内存量,确保 Redis 使用内存不会无限制增长,从而消耗掉整个系统的所有可用内存,导致系统不稳定或崩溃。

2024-08-06 13:16:04 948

原创 Redis 7.x 系列【34】Spring Boot 集成

直接集成客户端,需要我们自己维护连接配置,获取客户端连接,再执行操作,最后还需要释放资源。Spring 提供了 Spring Data Redis 和 Spring Boot Data Redis Starter ,在 Spring Boot 环境中,可以很方便的连接并操作 Redis。

2024-07-30 09:47:55 1178

原创 Redis 7.x 系列【33】布隆过滤器(Bloom Filter)

在需要判断某个元素是否在集合中时,可以使用链表、散列表将所有元素保存起来,然后通过比较进行判断。但是随着集合中元素的增加,需要的存储空间也会呈现线性增长,最终达到瓶颈,同时检索速度也越来越慢。1970 年,Howard Bloom 提供出了布隆过滤器(Bloom Filter),是一种概率性数据结构,主要用于检测一个元素是否属于某个集合。‌

2024-07-29 09:28:04 1651

原创 Redis 7.x 系列【32】函数(Redis Functions)

Redis v7.0 引入了 Redis Functions (函数),是一种基于脚本的优化方案,提供与脚本相同的核心功能。通过持久化和复制保证可用性,不依赖于客户端,允许通过服务端加载自定义的函数库,并且会进行主从复制和持久化存储。支持多种语言,目前仅支持 LUA ,后续计划支持 JavaScript、Python 等。

2024-07-26 17:37:52 1088

原创 Redis 7.x 系列【31】LUA 脚本

Lua 语言是一种小巧的、高效的、可嵌入的脚本编程语言,由巴西里约热内卢天主教大学的一个研究小组于 1993 年开发。设计目的是为了通过灵活嵌入应用程序中,为应用程序提供灵活的扩展和定制功能。Redis 2.6 版本开始支持用户在服务器上传和执行 Lua 脚本,从而实现复杂的操作逻辑。脚本在 Redis 中是以字符串的形式传递给服务器的,然后服务器会执行这些脚本并返回结果。脚本在 Redis 中由内置的执行引擎执行。目前,仅支持一个脚本引擎,即 Lua 5.1 解释器。

2024-07-26 17:37:22 1414

原创 Redis 7.x 系列【30】集群管理命令

集群管理命令是用于管理和维护 Redis 集群,允许用户执行如查看集群信息、添加或删除节点、重新分片等操作。

2024-07-24 09:33:51 1118

原创 Redis 7.x 系列【29】集群原理之自动故障转移

当 Redis 集群的某些节点出现故障时,可以自动进行故障转移,地将从节点提升为主节点,保证服务的连续性和数据的可用性。

2024-07-24 09:32:53 1506 2

原创 Redis 7.x 系列【28】集群原理之数据分片

数据分片(Data Sharding)技术,通过将数据分散存储到多个物理节点上,来减轻单一节点的负载压力,避免单点故障,同时也提高了整个系统的性能和容错能力,以及安全性和可靠性。

2024-07-23 08:56:35 1448

原创 Redis 7.x 系列【27】集群原理之通信机制

在 Redis 集群中,节点负责存储数据,并管理集群的状态,包括将键映射到正确的节点。集群节点还能够自动发现其他节点,检测非工作节点,并在需要时提升副本节点为主节点,以便在发生故障时继续运行。节点和节点之间,节点和客户端之间,都需要高效安全的通信机制,确保整个集群能如期正常运行。

2024-07-23 08:55:57 1280

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除