腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
返回腾讯云官网
Python机器学习算法说书人
专栏成员
举报
166
文章
262338
阅读量
27
订阅数
订阅专栏
申请加入专栏
全部文章(166)
python(69)
编程算法(60)
机器学习(12)
神经网络(11)
深度学习(11)
php(10)
http(10)
html(9)
网站(9)
存储(9)
java(7)
人工智能(7)
scipy(7)
xml(6)
数据库(6)
sql(6)
django(6)
网络安全(6)
windows(6)
c++(5)
numpy(5)
面向对象编程(5)
https(5)
索引(5)
tensorflow(4)
c 语言(4)
node.js(4)
linux(4)
游戏(4)
爬虫(4)
pytorch(4)
rpc(4)
数据结构(4)
其他(3)
云数据库 SQL Server(3)
ide(3)
api(3)
nginx(3)
容器(3)
正则表达式(3)
gui(3)
tcp/ip(3)
scikit-learn(3)
腾讯云开发者社区(3)
二进制(3)
计算机(3)
数组(3)
javascript(2)
bootstrap(2)
android(2)
sqlite(2)
flask(2)
打包(2)
git(2)
github(2)
容器镜像服务(2)
开源(2)
二叉树(2)
markdown(2)
anaconda(2)
数据可视化(2)
decimal(2)
self(2)
效率(2)
压缩(2)
指针(2)
云服务器(1)
对象存储(1)
官方文档(1)
数据挖掘(1)
react(1)
css(1)
json(1)
云数据库 Redis®(1)
postgresql(1)
sqlalchemy(1)
matlab(1)
文件存储(1)
腾讯云可观测平台(1)
访问管理(1)
命令行工具(1)
文字识别(1)
腾讯云测试服务(1)
图像处理(1)
webpack(1)
缓存(1)
jdk(1)
jdbc(1)
监督学习(1)
决策树(1)
selenium(1)
单元测试(1)
socket编程(1)
uml(1)
无监督学习(1)
ntp(1)
微信(1)
安全(1)
机器人(1)
虚拟化(1)
验证码(1)
bi(1)
cat(1)
chat(1)
copy(1)
dataframe(1)
line(1)
max(1)
model(1)
pandas(1)
size(1)
split(1)
tensor(1)
变量(1)
队列(1)
工具(1)
连接(1)
数据(1)
数学(1)
算法(1)
网络(1)
性能(1)
搜索文章
搜索
搜索
关闭
SciPy 稀疏矩阵(6):CSC
索引
性能
压缩
存储
scipy
上回说到,CSR 格式的稀疏矩阵基于程序的空间局部性原理把当前访问的内存地址以及周围的内存地址中的数据复制到高速缓存或者寄存器(如果允许的话)来对 LIL 格式的稀疏矩阵进行性能优化。但是,我们都知道,无论是 LIL 格式的稀疏矩阵还是 CSR 格式的稀疏矩阵全都把稀疏矩阵看成有序稀疏行向量组。然而,稀疏矩阵不仅可以看成是有序稀疏行向量组,还可以看成是有序稀疏列向量组。我们完全可以把稀疏矩阵看成是有序稀疏列向量组,然后模仿 LIL 格式或者是 CSR 格式对列向量组中的每一个列向量进行压缩存储。然而,模仿 LIL 格式的稀疏矩阵格式 SciPy 中并没有实现,大家可以尝试自己去模仿一下,这一点也不难。因此,这回直接介绍模仿 CSR 格式的稀疏矩阵格式——CSC 格式。
不可言诉的深渊
2024-06-25
174
0
SciPy 稀疏矩阵(5):CSR
scipy
数据
数组
索引
缓存
上回说到 LIL 格式的稀疏矩阵的 rows 属性和 data 属性是一个其元素是动态数组的数组。其在内存中的存储方式为一个外围定长数组的元素是指向对应动态数组的基地址的指针。这一回,我们需要把这样的指针给消去。然而,仅仅是为什么要消去就是一个很复杂的问题,复杂到完全不能直接回答。因此,首先我需要针对 CPU 访问内存数据的过程外加上程序的局部性原理这两个基础的背景知识进行讲解。
不可言诉的深渊
2024-06-13
166
0
SciPy 稀疏矩阵(4):LIL(下)
scipy
连接
算法
网络
数据结构
上回说到,LIL 通过把稀疏矩阵看成是有序稀疏向量组,通过对稀疏向量组中的稀疏向量进行压缩存储来达到压缩存储稀疏矩阵的目的。这一回从图数据结构开始!
不可言诉的深渊
2024-05-06
152
0
Chat with RTX:定制聊天机器人体验!一键安装+离线模式设置,畅聊不停歇!
机器人
chat
model
变量
工具
在基于 NVIDIA GPU 的强大云端服务器支持下,聊天机器人已经深入到全球数百万人的日常生活中。这些开创性的工具不仅提供了便利的沟通方式,还大大提升了信息获取和处理的效率。而现在,这些先进的 AI 技术将进一步拓展其应用场景,搭载在 NVIDIA RTX 的 Windows PC 上。这不仅实现了本地化的 AI 运算,还为用户带来了更快速、更个性化的生成式 AI 服务。无论是商务沟通、学习辅助还是娱乐互动,搭载 NVIDIA RTX 的 Windows PC 都将为用户提供更高效、更精准的 AI 支持。
不可言诉的深渊
2024-02-26
1.7K
0
SciPy 稀疏矩阵(4):LIL(上)
索引
效率
压缩
存储
scipy
上回说到,无论是 COO 格式的稀疏矩阵还是 DOK 格式的稀疏矩阵,进行线性代数的矩阵运算的操作效率都非常低。至于如何优化线性代数的矩阵运算的操作效率,继续改进三元组的存储方式可能不好办了,需要换一种存储方式。至于存储方式也不需要我们去实现,SciPy 已经实现了这样的稀疏矩阵存储方式,它就是另一个板块,这个板块共有 4 种稀疏矩阵格式,分别是{BSR, CSC, CSR, LIL},这一回先介绍 LIL 格式的稀疏矩阵!
不可言诉的深渊
2024-01-12
242
0
SciPy 稀疏矩阵(3):DOK
存储
数据结构
scipy
数组
索引
散列表(Hash Table)是一种非常重要的数据结构,它允许我们根据键(Key)直接访问在内存存储位置的数据。这种数据结构是一种特殊类型的关联数组,对于每个键都存在一个唯一的值。它被广泛应用于各种程序设计和应用中,扮演着关键的角色。散列表的主要优点是查找速度快,因为每个元素都存储了它的键和值,所以我们可以直接访问任何元素,无论元素在数组中的位置如何。这种直接访问的特性使得散列表在处理查询操作时非常高效。因此,无论是进行数据检索、缓存操作,还是实现关联数组,散列表都是一种非常有用的工具。这种高效性使得散列表在需要快速查找和访问数据的场景中特别有用,比如在搜索引擎的索引中。散列表的基本实现涉及两个主要操作:插入(Insert)和查找(Lookup)。插入操作将一个键值对存储到散列表中,而查找操作则根据给定的键在散列表中查找相应的值。这两种操作都是 O(1) 时间复杂度,这意味着它们都能在非常短的时间内完成。这种时间复杂度在散列表与其他数据结构相比时,如二分搜索树或数组,显示出显著的优势。然而,为了保持散列表的高效性,我们必须处理冲突,即当两个或更多的键映射到同一个内存位置时。这是因为在散列表中,不同的键可能会被哈希到同一位置。这是散列表实现中的一个重要挑战。常见的冲突解决方法有开放寻址法和链地址法。开放寻址法是一种在散列表中解决冲突的方法,其中每个单元都存储一个键值对和一个额外的信息,例如,计数器或下一个元素的指针。当一个元素被插入到散列表中时,如果当前位置已经存在另一个元素,那么下一个空闲的单元将用于存储新的元素。然而,这个方法的一个缺点是,在某些情况下,可能会产生聚集效应,导致某些单元过于拥挤,而其他单元过于稀疏。这可能会降低散列表的性能。链地址法是一种更常见的解决冲突的方法,其中每个单元都存储一个链表。当一个元素被插入到散列表中时,如果当前位置已经存在另一个元素,那么新元素将被添加到链表的末尾。这种方法的一个优点是它能够处理更多的冲突,而且不会产生聚集效应。然而,它也有一个缺点,那就是它需要更多的空间来存储链表。总的来说,散列表是一种非常高效的数据结构,它能够快速地查找、插入和删除元素。然而,为了保持高效性,我们需要处理冲突并采取一些策略来优化散列表的性能。例如,我们可以使用再哈希(rehashing)技术来重新分配键,以更均匀地分布散列表中的元素,减少聚集效应。还可以使用动态数组或链表等其他数据结构来更好地处理冲突。这些优化策略可以显著提高散列表的性能,使其在各种应用中更加高效。
不可言诉的深渊
2023-09-12
378
0
SciPy 稀疏矩阵(2):COO
容器
存储
scipy
数组
索引
上回说到,计算机存储稀疏矩阵的核心思想就是对矩阵中的非零元素的信息进行一个必要的管理。然而,我们都知道在稀疏矩阵中零元素的分布通常情况下没有什么规律,因此仅仅存储非零元素的值是不够的,我们还需要非零元素的其他信息,具体需要什么信息很容易想到:考虑到在矩阵中的每一个元素不仅有值,同时对应的信息还有矩阵的行和列。因此,将非零元素的值外加上其对应的行和列构成一个三元组(行索引,列索引,值)。然后再按照某种规律存储这些三元组。
不可言诉的深渊
2023-08-28
326
0
SciPy 稀疏矩阵(1):介绍
图像处理
存储
官方文档
scipy
计算机
SciPy 是一个利用 Python 开发的科学计算库,其中包含了众多的科学计算工具。其中,SciPy 稀疏矩阵是其中一个重要的工具。相比于常规的矩阵,稀疏矩阵主要的特点是它的数据大部分都是 0 ,而非 0 的数据只有少数。这种特点可以在存储和计算上节省大量的时间和空间。SciPy 提供了多种格式的稀疏矩阵,包括 COO、CSR、CSC 等多种格式。在实际应用中,SciPy 稀疏矩阵被广泛应用于图像处理、网络分析、文本处理等领域。例如,在图像处理中,为了压缩存储图像,可以将彩色图像转化为三个单色图像,然后使用稀疏矩阵存储。另外,在网络分析中,线性代数中的稀疏矩阵常被用来表示网络拓扑结构。因此,学习和掌握 SciPy 稀疏矩阵是非常有必要的。
不可言诉的深渊
2023-08-28
292
0
惊!你知道PyTorch浮点数上溢问题居然会导致这些结果?!
存储
pytorch
tensor
二进制
计算机
当我们在使用 PyTorch 中的浮点数时,我们都知道它们并不能占满整个实数集 R。这主要是由于两个原因:精度和表示范围。对于计算机处理浮点数而言,精度不够的情况一般会选择截断,而超出表示范围的情况则通常会返回无穷大。然而,一旦 PyTorch 中的浮点数变成无穷大,将会出现非常奇怪的报错。因此,我们需要思考一下如何解决 PyTorch 中浮点数超出表示范围的问题。
不可言诉的深渊
2023-08-28
1.2K
0
相对分数和绝对分数
编程算法
CLICK ON THE BLUE WORDS ABOVE TO FOLLOW US
不可言诉的深渊
2022-11-11
714
0
torch.autograd.Function 用法及注意事项
pytorch
众所周知,作为深度学习框架之一的 PyTorch 和其他深度学习框架原理几乎完全一致,都有着自动求导机制,当然也可以说成是自动微分机制。有些时候,我们不想要它自带的求导机制,需要在它的基础之上做些扩展,这个时候我们只需借用 PyTorch 框架中的 Function 类就可以实现了。
不可言诉的深渊
2022-11-11
1.3K
0
稀疏矩阵之 toarray 方法和 todense 方法
numpy
编程算法
在 SciPy 稀疏矩阵中,有着 2 个经常被混为一谈的方法:toarray() 方法以及 todense() 方法。事实上,我在才开始接触 SciPy 稀疏矩阵的时候也曾经把这 2 个方法之间画上等号。但是,两者之间还是存在着很大的不同,具体有哪些不同之处我们就首先从返回值类型开始说明。
不可言诉的深渊
2022-11-11
3.8K
0
k 阶奇异值分解之图像近似
pytorch
numpy
tensorflow
编程算法
我们都知道,一般情况下,一张图像在计算机中的存储格式是三个矩阵(RGB 格式),当然也有四个矩阵(RGBA 格式)或者一个矩阵(灰度图)的情形。然而,进行数据传输的过程中如果直接从发送方把数据原封不动的传给接收方会非常浪费传输带宽,传输时延也会随之增加。在不改变通信条件的情况下,要想减少带宽占用和传输时延,只能对数据进行压缩。稍微想一下,对图像的压缩不就是对矩阵的压缩吗?矩阵压缩有很多种方法,在这里我采用 k 阶奇异值分解方法。
不可言诉的深渊
2021-11-30
1K
0
单 Win10 系统(无虚拟机)安装 PyTorch 和 TensorFlow(都是 GPU 版本)
深度学习
tensorflow
pytorch
python
看到标题,可能很多人会不太可能实现,因为 PyTorch 官网和 TensorFlow 官网最新版本的框架对 GPU 版本的 CUDA 版本的要求不一样,即使使用 Python 虚拟环境也是不可能把不同版本的 CUDA 做隔离,因为 CUDA 和 Python 虚拟环境没有一点关系!即使如此,我们还是可以把两个框架的 GPU 版本都装上,只不过不能安装两个框架的最新版本!
不可言诉的深渊
2021-11-02
966
0
数据结构(6):串(下)
编程算法
子串的定位操作通常称为串的模式匹配,它求的是子串(常称模式串)在主串中的位置。下面给出一种不依赖于其他串操作的暴力匹配算法。
不可言诉的深渊
2021-07-01
553
0
数据结构(6):串(上)
存储
编程算法
c++
字符串简称串,计算机上非数值处理的对象基本都是字符串数据。我们常见的信息检索系统(如搜索引擎)、文本编辑程序(如 Word)、问答系统、自然语言翻译系统等,都是以字符串数据作为处理对象的。本文详细介绍字符串的存储结构及相应的操作。
不可言诉的深渊
2021-04-16
613
0
数据结构(5):数组
编程算法
数组是由 n(n≥1)个相同类型的数据元素构成的有限序列,每个数据元素称为一个数组元素,每个元素在 n 个线性关系中的序号称为该元素的下标,下标的取值范围称为数组的维界。
不可言诉的深渊
2021-04-16
964
0
数据结构(4):队列(下)
编程算法
二叉树
在信息处理中有一大类问题需要逐层或逐行处理。这类问题的解决方法往往是在处理当前层或当前行时就对下一层或下一行做预处理,把处理顺序安排好,待当前层或当前行处理完毕,就可以处理下一层或下一行。使用队列是为了保存下一步的处理顺序。下面用二叉树(如图所示)层次遍历的例子,说明队列的应用。下表显示了层次遍历二叉树的过程。
不可言诉的深渊
2021-04-16
389
0
数据结构(4):队列(上)
max
self
size
队列
指针
队列(Queue)简称队,也是一种操作受限的线性表,只允许在表的一端进行插入,而在表的另一端进行删除。向队列中插入元素称为入队或进队;删除元素称为出队或离队。这和我们日常生活中的排队是一致的,最早排队的也是最早离队的,其操作特性是先进先出(First In Last Out,FIFO)。
不可言诉的深渊
2021-04-16
571
0
数据结构(3):栈(下)
编程算法
假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序任意即 ([]()) 或 [([][])] 等均为正确的格式,[(]) 或 ([()) 或 (()] 均为不正确的格式。
不可言诉的深渊
2021-04-16
611
0
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档