numpy存储特征:消耗内存和计算速度测试

这篇博客探讨了在大规模数据中,计算汉明距离与欧氏距离的时间效率。通过创建10w*512的浮点数矩阵和10*512的int8矩阵,实验结果显示,汉明距离的计算时间明显长于欧氏距离。对于100次运算,汉明距离耗时约32.6秒,而欧氏距离则为5.97秒。这表明在大尺寸矩阵中,欧氏距离的计算更为高效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建一个10w * 512 的浮点数矩阵,和一个10 * 512 的int8矩阵。

import numpy as np
m = np.random.rand(100000, 512)
np.save("data/feature/512.npy", m)

n = np.ones((3, 3),dtype = "int8")
np.save("data/feature/hash512.npy", n)

在这里插入图片描述
在这里插入图片描述
首先测试一下汉明距离计算速度
矩阵大小:100000 * 512
feature:1 * 512

import time
start = time.time()
for i in range(100):
    d = distance.cdist(n,a,metric = 'hamming')
end = time.time()
print("cost time:{}".format(end - start))
cost time:32.6211576461792

如果是一次的话大约花费0.2s

我佛了,汉明距离计算时间比欧氏距离慢。。。。。。。。。。。。。。。。尬住了

import numpy as np
from scipy.spatial import distance

m = np.random.rand(100000, 512)
#np.save("data/feature/hash512.npy", n)
n = np.random.rand(1, 512)

import time
start = time.time()
for i in range(100):
    d = distance.cdist(m, n,metric = "euclidean")
    print(d)
end = time.time()
print("cost time:{}".format(start - end))
cost time:5.971029758453369
在这里插入代码片
[2 5 1 0 3 4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值