首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏AI科技时讯

    乘积量化PQ:将高维向量压缩 97%

    乘积量化(PQ)是一种流行的方法,能够显著压缩高维向量,实现高达97%的内存节省,并在实际测试中将最近邻搜索的速度提高5.5倍。 为什么使用乘积量化乘积量化(Product Quantization, PQ)主要用于减少索引的内存占用,这在处理大量向量时尤为重要,因为这些向量必须全部加载到内存中才能进行比较。 第二个重要因素是量化器的训练。量化器需要一个比 k 大几倍的数据集来进行有效的训练。没有乘积量化,这将需要大量的训练数据。 乘积量化是如何工作的 乘积量化是一种高效的数据压缩技术,特别适用于大规模向量数据集。 乘积量化的优势 乘积量化技术通过将高维向量映射到较低维的离散空间,显著降低了内存使用量。

    1.4K10编辑于 2024-07-15
  • 来自专栏奇点大数据

    话说量化5

    钱是越多越好吗?这个问题似乎不用回答,那是肯定的啊。试问在座的各位看客哪位不是在挣钱,挣更多的钱,挣更多更多的钱的路上奔跑着的呢?钱是一种交换物质(当然也可以是精神层面的)的重要工具,对于每个人都很重要。所以狭义来说,钱当然是越多越好。

    49210发布于 2018-09-14
  • 来自专栏AI大模型应用开发炼丹房

    乘积量化解析:高效压缩向量数据的智能方案​

    乘积量化(Product Quantization, PQ)​​:分割向量为子段,为每段创建代码本(codebook),压缩表示。在图像数据库中,PQ减少了存储开销50%,同时保持高召回率。​​

    40910编辑于 2025-08-26
  • 来自专栏计算机视觉理论及其实现

    笛卡尔乘积

    笛卡尔乘积 笛卡尔(Descartes)乘积又叫直积。设A和B是两个集合,A到B的笛卡尔积用A×B表示,它是所有形如(a,b)的有序对作为元素的组合,其中a∈A,b∈B。

    1.7K20编辑于 2022-09-03
  • 来自专栏阿凯的Excel

    乘积求和及符合某个条件的乘积求和

    如何得到两个数组的乘积求和呢??案例如下: 已知每个地市的销售单价和销售数量,需要知道整个表的销售总金额,怎么做??? 英语好的很好理解,英语不好如我的,百度后就可以很好理解 Sum 求和 Product 乘积 合起来就是SumProduct 乘积后求和 后面接的参数就是N个数组相乘就好!

    6.5K90发布于 2018-03-08
  • 来自专栏yuyy.info技术专栏

    乘积尾零

    本文最后更新于 1163 天前,其中的信息可能已经有所发展或是发生改变。 #include<iostream> #include<cmath> using namespace std; int main(){ long long sum=1; int count=0; for(int i=0;i<100;i++){ long long temp; cin>>temp; sum=sum*temp; long long tt=sum; while(1){ cout<

    41310编辑于 2022-06-28
  • 来自专栏AI机器学习与深度学习算法

    机器学习入门 5-4 向量化

    本小节主要介绍使用向量化的方式提升性能。 简单线性回归 先来回归一下简单线性回归优化目标以及通过最小二乘的方式求得的参数a,b的解析解。 ? 在上一个小节中,我们是通过循环的方式来求解分子和分母,前面也说过,使用for循环的这种方式,性能相对是比较低的,如果有办法将for循环的计算变成向量之间的计算的话,得益于numpy模块性能就会大大的提升,这就是向量化运算含义 上面我们将对应元素相乘然后相加的操作看成是向量之间的点乘,这也是为什么在最小二乘求解a的解析解的时候要把式子写成相乘累加的形式,这样就可以将其转换成向量之间的运算,进行向量化运算提升性能。 使用向量化运算实现线性回归算法 前面使用sklearn的思想封装了一个名为"SimpleLinearRegression1"的类,在类中使用for循环的方式来求解参数a的值。 ? ? ? ? 实现向量化的代码只需将for循环部分改成向量点乘即可: ? ? ? ? 为了比较两者的性能,将两种方式导入jupyter中,通过魔法命令来验证性能。 ? ? ? ?

    89420发布于 2019-11-13
  • 来自专栏InvQ的专栏

    求奇数的乘积

    package com.test; import java.util.*; import java.io.*; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int r,result=1; while(sc.hasNextInt()){ r=sc.nextInt()

    91910发布于 2020-09-27
  • 来自专栏尾尾部落

    构建乘积数组

    B[i]的值可以看作图中矩阵第 i 行所有元素的乘积。我们可以先算下三角中的连乘,即我们先算出B[i]中的一部分,然后倒过来按上三角中的分布规律,把另一部分也乘进去。 cdnversion='+~(-new Date()/36e5)];

    74030发布于 2018-09-04
  • 来自专栏软件工程

    构建乘积数组

    B[i]的值可以看作上图的矩阵中每行的乘积。 下三角用连乘可以很容求得,上三角,从下向上也是连乘。

    45220编辑于 2022-05-13
  • 来自专栏数据结构与算法

    乘积最大

    活动中,主持人给所有参加活动的选手出了这样一道题目: 设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积能够为最大。 输  出     结果显示在屏幕上,相对于输入,应输出所求得的最大乘积(一个自然数)。    本次乘相当于用了第i个乘号) 中取一个最大值 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5

    1.4K100发布于 2018-04-13
  • 来自专栏前端小码农

    构建乘积数组

    构建乘积数组 题目描述 给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B 中的元素 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n- 示例: 输入: [1,2,3,4,5] 输出: [120,60,40,30,24] 提示: 所有元素乘积之和不会溢出 32 位整数 a.length <= 100000 思路分析 B[i]的意义是A数组不包括 i位置的所有乘积,分为i左边的元素乘积和i右边的所有的元素乘积。 对称遍历 从左往右遍历累乘,结果保存在数组 B 中,此时 B[i] 表示,A[i] 左边所有元素的乘积 然后从右往左遍历累乘,获取A[i] 右边所有元素的乘积 right,用 B[i]乘以right 两边遍历之后得到的 // 初始化 B[0] = 1, 是因为0左边没有元素, 所以乘积为1 B[0] = 1; for(let i = 1; i < len; i++) {

    50330发布于 2020-07-16
  • 来自专栏技术向

    乘积最大子数组

    题目 给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 解答 首先假设存在某个最大乘积,然后对数组遍历,在经过每个元素的时候,有以下四种情况: 如果该元素为正数: 如果到上一个元素为止的最大乘积也是正数,那么直接乘上就好了,同样的最大乘积也会变得更大 如果到上一个元素为止的最大乘积是负数 ,那么最大乘积就会变成该元素本身,且连续性被断掉 如果该元素为负数: 如果到上一个元素为止的最大乘积也是负数,那么直接乘上就好了,同样的最大乘积也会变得更大 如果到上一个元素为止的最大乘积是正数,那么最大乘积就会不变 ,且连续性被断掉 以上四种情况中说到的最大乘积都是临时最大乘积,每遍历新的元素都需要进行比较来确定真正的最大乘积。 如果要得到乘以当前元素以后的最大乘积,需要记录最大乘积,也要记录最小乘积,因为最小值可能翻身变最大值。

    67920发布于 2020-07-14
  • 来自专栏AI智韵

    YoloV5改进策略:RefConv打造轻量化YoloV5利器

    我们使用RefConv替换YoloV5中的卷积,既能提高精度,又能降低运算量,使得模型更加轻量化! YoloV5官方结果 YOLOv5l summary: 267 layers, 46275213 parameters, 0 gradients, 108.2 GFLOPs c17 230 131 0.992 0.992 0.995 0.797 c5 tu-22 230 98 0.983 1 0.995 0.788 测试结果 YOLOv5l c17 230 131 0.984 1 0.995 0.839 c5

    24810编辑于 2024-10-22
  • 来自专栏Python数据科学

    Python 量化交易神书面世,赠送 5

    前不久,收到清华大学出版社赠送的 《深入浅出Python量化交易实战》 一书,也答应了出版社要写一些读书笔记,今天就来交作业了。 下面是我参考书中内容做的一些简单尝试,仅供学习参考。 这本书对于使用Python玩量化的初学者们,还是很友好的,感兴趣可以考虑入手一本看看。 笔记① 用Python绘制出股价的5日均线和20日均线。 众所周知,5日均线是短线交易的生死线,而20日均线是中长线趋势的分水岭。因此,基于这两条均线,可以设计出一些简单的交易策略。 能够看到最早的数据到2021年的10月8日: 然后我开始添加5日和20日均线 price['ma5'] = price['Adj Close'].rolling(5).mean() price['ma20 fig.add_subplot(111, ylabel='Price') price['Adj Close'].plot(ax=ax1, color='g', lw=2., legend=True) price.ma5.

    92320编辑于 2022-03-11
  • 来自专栏叶子的开发者社区

    【yolov5】onnx的INT8量化engine

    GitHub上有大佬写好代码,理论上直接克隆仓库里下来使用 git clone https://github.com/Wulingtian/yolov5_tensorrt_int8_tools.git 然后在yolov5_tensorrt_int8_tools的convert_trt_quant.py 修改如下参数 BATCH_SIZE 模型量化一次输入多少张图片 BATCH 模型量化次数 height 成功量化后的模型大小只有4MB,相比之下的FP16的大小为6MB,FP32的大小为9MB 再看看检测速度,速度和FP16差不太多 但是效果要差上一些了 那肯定不能忘记送上修改的代码,折腾一晚上的结果如下 cv2 BATCH_SIZE = 1 BATCH = 79 height = 640 width = 640 CALIB_IMG_DIR = '/content/drive/MyDrive/yolov5/ DataLoader() engine_model_path = "runs/train/exp4/weights/int8.engine" calibration_table = 'yolov5_

    1.1K70编辑于 2023-11-13
  • 来自专栏数据结构与算法

    P1018 乘积最大

    活动中,主持人给所有参加活动的选手出了这样一道题目: 设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积能够为最大。 输出格式: 结果显示在屏幕上,相对于输入,应输出所求得的最大乘积(一个自然数)。 还是不太懂为什么从1开始不行,, 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5

    842120发布于 2018-04-13
  • 来自专栏前端小书童

    最大单词长度乘积

    抛砖引玉 传入一个字符串数组,返回数组中两个不含相同字符的字符串元素长度乘积的最大值 思路 先暴力破解一下(暴力 API 工程师 ㄟ( ▔, ▔ )ㄏ  ) 双循环枚举处两两不含相同字符的元素 保留枚举的符合要求元素长度的乘积

    3.2K20发布于 2021-11-26
  • 来自专栏AI那点小事

    算法提高 最大乘积

    问题描述   对于n个数,从中取出m个数,如何取使得这m个数的乘积最大呢? 输出格式   每组数据输出1行,为最大的乘积。 样例输入 1 5 5 1 2 3 4 2 样例输出 48 import java.io.BufferedInputStream; import java.util.Arrays;

    1.2K20发布于 2020-04-20
  • 来自专栏若尘的技术专栏

    77 - 乘积最大子序列

    有一个整数类型的nums,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数) 案例: data = 1, 2, -2, -1, 5, -4 输出20,子序列: -1, 5, 4 ''' nums = [1, 2, -2, -1, 5, -4] i = 3, j = 5 mul(i, j) = mul(0, j) / mul(0, i) 0: 需要重新开始 < 0: 应该找到前面最大的复负数 max_neg = float('-inf') result = max(result, num) return result data = [1, 2, -2, 0, 5, -4] data2 = [0, 0, 0] print(maxMul(data)) print(maxMul(data2)) 5 0

    44665发布于 2021-06-14
领券