首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

位图在推荐系统中的妙用

这个还是两年多之前做的需求, 最后选择了位图作为推荐系统的核心数据结构, 过程很有意思, 简单总结一下. 1.业务背景 当初广告对外投放因为整体进线索量不足, 导致很多销售老师很多时间无客户可联系, 但是公海池的线索量多达几百万...既然要求顺序, 核心就是遍历推荐, 随着领取越来越多, 越往后性能下降越明显, 遍历的客户线索条数增加, 如果使用数据库作为扫描对象压力过大...., 在大数据量场景下是非常局限的....image.png 3.3 资源全局位图与销售位图定期同步不能推荐的线索填充 1, 避免在请求中扫描过多失效线索 image.png 3....总结 因为 id 值是单调递增的, 所以这个业务场景实现起来可以直接使用位图 思考如果id值是特别大的话我该怎么实现呢? 留言区交流下吧.

60530

在 Linux 终端调整图像的大小

ImageMagick 是一个方便的多用途命令行工具,它能满足你所有的图像需求。ImageMagick 支持各种图像类型,包括 JPG 照片和 PNG 图形。...调整图像大小 我经常在我的 Web 服务器上使用 ImageMagick 来调整图像大小。例如,假设我想在我的个人网站上发一张我的猫的照片。...我手机里的照片非常大,大约 4000x3000 像素,有 3.3MB。这对一个网页来说太大了。我使用 ImageMagick 转换工具来改变照片的大小,这样我就可以把它放在我的网页上。...但是,如果只提供宽度,ImageMagic 就会为你做计算,并通过调整输出图像的高度比例来自动保留长宽比。...在 Linux 上安装 ImageMagick 在 Linux 上,你可以使用你的包管理器安装 ImageMagick。

4.5K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    高效压缩位图在推荐系统中的应用

    作者:vivo互联网技术-Ke Jiachen 一、背景 用户在浏览游戏中心/应用商店的某些模块内容时,会进行一系列滑屏操作并多次请求游戏推荐业务来进行游戏推荐展示,这段时间我们称之为一个用户session...中作为一个总的过滤集合,在召回打分时就会过滤掉这些黑名单游戏。...现在我们来分析一下在推荐业务中RoaringBitMap是如何帮助我们节省开销的。...三、总结 在文章中我们探讨了在过滤去重的业务中,使用Redis存储的情况下,利用intset,bloom filter 和 RoaringBitMap这三种数据结构保存整数型集合的开销。...其中传统的bloom filter 方式由于对准确率的要求以及短id映射空间节省有限的不足,使得该结构在游戏推荐场景中反而增加了存储开销,不适合在该业务场景下存储数据。

    46920

    使用OpenCV测量图像中物体的大小

    测量图像中物体的大小类似于计算相机到物体的距离——在这两种情况下,我们都需要定义一个比率来测量每个计算对象的像素数。 我将其称为“像素/度量”比率,我将在下面中对其进行更正式的定义。...“单位像素”比率 为了确定图像中对象的大小,我们首先需要使用参考对象执行“校准”(不要与内在/外在校准混淆)。...使用这个比率,我们可以计算图像中物体的大小。 用计算机视觉测量物体的大小 现在我们了解了“像素/度量”比率,我们可以实现用于测量图像中对象大小的Python驱动程序脚本。...0.955 输出如下所示: 可以看到,我们已经成功地计算出了图像中每个对象的大小——我们的名片被正确地报告为3.5英寸x 2英寸。...让我们来看看测量物体大小的第二个例子,这次是测量药丸的尺寸: 在美国20000多种处方药中,近50%是圆形或白色的,因此如果我们能根据药片的尺寸进行筛选,我们就更有可能准确地识别出药物。

    2.7K20

    位图数据结构及其在 Java和 Redis中的应用

    位图的基本介绍 概念 什么是位图?BitMap,大家直译为位图. 我的理解是:位图是内存中连续的二进制位(bit),可以用作对大量整形做去重和统计....在关系型数据库中存储的话,这将是一个比较麻烦的操作,要么要写一些表意不明的SQL语句,要么进行两次查询,然后在内存中双重循环去判断....我们使用JDK中的BitSet来试一下,在运行过程中打断点看一下内部的数组是什么样子.如下图: 将其序列化输出到文件,文件大小如下图: 可以看到,我们为了保存1和1亿这两个数字,花费了一个一千多万长度的...总结 在本节,我们手动实现了一个极其简陋的位图,然后阅读了JDK中位图实现类BitSet的源码,然后分析了如何使用EWAHCompressedBitmap来解决稀疏数据的问题,对于EWAHCompressedBitmap...Redis中的位图 Redis是支持位图的,但是位图并不是一个单独的数据结构,而是在String类型上定义的一组面向位的操作指令.也就是说,当你使用Redis位图时,其实底层存储的是Redis的string

    1.8K30

    位图数据结构及其在-Java和-Redis中的应用

    目录 位图的基本介绍 概念 什么是位图?BitMap,大家直译为位图. 我的理解是:位图是内存中连续的二进制位(bit),可以用作对大量整形做去重和统计....在关系型数据库中存储的话,这将是一个比较麻烦的操作,要么要写一些表意不明的SQL语句,要么进行两次查询,然后在内存中双重循环去判断....我们使用JDK中的BitSet来试一下,在运行过程中打断点看一下内部的数组是什么样子.如下图: 将其序列化输出到文件,文件大小如下图: 可以看到,我们为了保存1和1亿这两个数字,花费了一个一千多万长度的...总结 在本节,我们手动实现了一个极其简陋的位图,然后阅读了JDK中位图实现类BitSet的源码,然后分析了如何使用EWAHCompressedBitmap来解决稀疏数据的问题,对于EWAHCompressedBitmap...Bloom-Filter)的原理及在推荐去重中的应用/">布隆过滤器(bloom filter)的原理及在推荐去重中的应用 总结 总之,bitmap可以高效且节省空间的存储与用户ID相关联的布尔数据

    1.8K10

    在未知大小的父元素中设置居中

    当提到在web设计中居中元素时。关于被居中的元素和它父元素的信息,你知道的越多就越容易设置。那么假如当你不知道任何信息?居中也是可设置的。...以下的这些方法不太全面,现做补充。 1) 在待居中元素外 包裹table-cell,设置table-cell只是让table-cell中的元素在table-cell中居中。...2)table中在添加tr,td前要先添加tbody。 ---- 困难的:不知道子元素的宽高 当你不知道待居中子元素的尺寸时,设置子元素居中就变得困难了。 ?...那么这个ghost元素是一个无语意的元素?不,它是一个pseudo元素。 ? 我要告诉你的是这个ghost元素技巧是更好的方式并且应该是你想要的居中技巧在近些年来。...最好的做法是在父元素中设置font-size:0 并在子元素中设置一个合理的font-size。

    4K20

    BIT类型在SQL Server中的存储大小

    对于一般的INT、CHAR、tinyint等数据类型,他们占用的存储空间都是以Byte字节为单位的,但是BIT类型由于只有0和1或者说false和true,这种情况只需要一个Bit位就可以表示了,那么在...例如这样一个表: CREATE TABLE tt ( c1 INT PRIMARY KEY, c2 BIT NOT NULL, c3 CHAR(2) NOT NULL ) SQL Server在存储表中的数据时先是将表中的列按照原有顺序分为定长和变长...在数据页中存储数据时先存储所有定长的数据,然后再存储变长的数据。...关于数据行的具体格式我就不在这里多说了,在《SQL Server 2005技术内幕 存储引擎》中有详细介绍。我们插入的数据从第5个字节开始,是01000000 016161。...接下来的ff就是c6的值1023。后面的就是列数、NULL位图、变长列等,这里是讨论BIT位占用空间的,所以就不讲解后面这些了。

    3.5K10

    解决LicheeRV 86 Panel在tina2.0配置lcd GPIO引脚及colorbar闪屏的问题

    使用的是sun20iw1p1.dtsi里面的rgb18_pins_a 初步分析 好像是因为没在linux源码仓库添加st7701_rgb的驱动。...也是没有初始化 再再尝试 看到有大佬分析:lcd rgb gpio是在你们屏驱动st7701s_rgb中调用sunxi_lcd_pin_cfg(sel, 1);初始化的,可以跟下调用流程,试一下发现连这个...printk都没有打印,好像都没有进入probe 开机过程中在uboot初始化lcd后,kernel是不是走lcd初始化流程的,进入内核后,休眠唤醒一下lcd,看看pin脚状态有没有变化 mount...以下是执行唤醒lcd的log lcd的显示情况如下: 最终结果 将uboot-board.dts的lcd注释掉,colorbar不在闪屏。...目前显示效果如下: 以下是完整的patch, 在tina v2.0验证成功。

    51920

    图像处理在工程中的应用

    传感器 图像处理在工程和科研中都具有广泛的应用,例如:图像处理是机器视觉的基础,能够提高人机交互的效率,扩宽机器人的使用范围;在科研方面,相关学者把图像处理与分子动力学相结合,实现了多晶材料、梯度结构等裂纹扩展路径的预测...,具体见深度学习在断裂力学中的应用,以此为契机,偷偷学习一波图像处理相关的技术,近期终于完成了相关程序的调试,还是很不错的,~ 程序主要的功能如下:1、通过程序控制摄像头进行手势图像的采集;2、对卷积网络进行训练...附录:补充材料 1、图像抓取:安装OpenCV、Python PIL等库函数,实现图片的显示、保存、裁剪、合成以及滤波等功能,实验中采集的训练样本主要包含五类,每类200张,共1000张,图像的像素为440...*450;通过image.resize命令,把图片大小统一变为227*227,图像采集过程具体如下所示: 12年购买的笔记本,依然可以安装Pycharm,TensorFlow,OpenCV等,性能还是不错的...随着训练次数的增加,手势识别的准确率不断提高,最终达到98%以上,具有较好的识别效果;第二张图可知,随着模型训练次数的不断增加,损失函数逐渐减小,其具体的迭代过程与有限元求取过程类似,本文中采用AdamOptimizer

    2.3K30

    指针在液晶屏显示中的用法(二)

    饭量也得到了很大的提升,以至于公司食堂在考虑要不要收他双人份的伙食费。 这天,张三在爬楼的时候遇到了保洁阿姨,于是上前打招呼。...这个屏幕虽然有光标显示的功能,但是不符合要求。它就像word里的光标一样,写入一个字,光标自动后移。但实际上,我们设定的时候,是要求光标固定在一个位置不要动的。...所以我百度了一下,用纯软件的方式实现的。 进入设定状态的时候,在特定位置循环显示” ”和”_”,循环时间是几百个微秒,这样人眼能看到。...开始的时候,光标显示部分的函数是这样写的: if(A_Step == 1) //页面A的第一处光标 { if(cursor_cnt >= 500)...数组里的元素地址都是连续的,所以这就是个小学生的计算题。

    2K40

    指针在液晶屏显示中的用法(一)

    这天,老板给了一个任务,给他们公司的产品增加一个液晶屏LCD1602,显示五个页面,可通过上下按键进行切换。 张三心想,这简单啊。...但是老板是个想法很多的人,时不时的会让张三调整显示的顺序,或者增加一个页面,又或者减少一个页面。 于是张三经常要调整page值和数组的对应关系,增加或减少显示页面的函数。...阿姨:很简单,RAM其实和单元楼很像,变量地址就是门牌号A-1-301,变量名就是这个地址里住的人的姓名。通过变量名取值就是通过姓名获取这个人对应的年龄,通过地址取值就是通过地址获取这里住的人的年龄。...给指针变量赋值的时候,两者必须是同类型,都是char、int。变量前面加个&,表示获取这个变量的地址,然后就存进p里了。 张三:所以p里面现在是个地址?...从此,张三变成了一个爱爬楼的单片机工程师。 未完………

    2K30

    指针在液晶屏显示中的用法(三)

    不知不觉中,成为了研发部最靓的仔。前台小妹会多看他一眼,而食堂大妈在给他盛菜的时候,手也不抖了。 这天上午,张三在debug,保洁阿姨过来打扫卫生了,张三连忙起身打招呼。...张三:额,好的。 阿姨:最近忙什么呢? 张三:哦哦,之前的设备升级了一下,加了个串口,可以通过电脑直接修改屏幕上的参数。但是参数送进来不能直接用,要转换一下。...我现在是用带返回值的函数处理的,例如: canshu1 = value_process(canshu1_uart); canshu1_uart是串口送进来的数据,经过函数处理...阿姨:是啊,之前你都是定义一个指针,然后通过这个指针从固定的地址取值。现在你只要反过来,把用来存储的变量确定下来,然后把变量的地址做为参数送入函数处理,这样多省事。...一周后,张三在爬楼时再次偶遇保洁阿姨。 张三:阿姨好!我想向您请教几个问题。 阿姨:说! 张三:指针的概念学校里倒是讲过,但是用的不多。

    1.4K20

    Bifrost微前端框架及其在美团闪购中的实践

    美团闪购研发团队开发了一套微前端框架——Bifrost,可以更好的帮助研发团队解决单一业务向多元化业务发展的管理问题。该方案已在美团闪购实践过,希望我们的思路能够对大家有所启发。...从用户体验角度出发,Nginx和Iframe首先被否决;HR系统的方案需要对现有的项目进行改造,把不同团队目前开发的项目整合到同一个单页应用中,在项目快速迭代的过程中,成本过高,所以也被否掉。...子系统的注册信息包括: AppName:子系统名,与系统的路由前缀保持对应,同时也会作为子系统在DOM中挂载节点的ID。...DLL文件会包含大部分公共依赖,但有一个例外——我们不会将Vue打到DLL文件中。因为在实际开发中,很多库都喜欢向Vue的原型链上挂载方法和属性。...因此,我们希望通过对闪购团队近半年在微前端方案上的实践分享,帮助大家对微前端从概念到应用有一个更加清晰的认识,也期待与大家一起交流,碰撞出更多的火花。 作者简介 雨甫,美团闪购前端研发工程师。

    97410

    C#的“智能枚举”:在枚举中增加行为?

    enum 可以很好地表示对象的状态,因此它是实现状态模式的常见选择。在 C# 中,您可以使用 switch 语句来根据不同的 enum 值执行不同的操作。...在 C# 中,您可以使用 switch 语句或 if-else 语句来根据不同的 enum 值选择不同的算法或行为。 工厂模式 工厂模式允许您使用一个共同的接口来创建不同的对象。...enum 可以很好地表示这些对象的类型,因此它是实现工厂模式的常见选择。在 C# 中,您可以使用 switch 语句或 if-else 语句来根据不同的 enum 值创建不同的对象。...在 C# 中,您可以使用 enum 来表示观察者对象的状态,并使用委托或事件来通知观察者对象。 智能枚举 什么是智能枚举?智能枚举不是官方的一个称谓,而是作者定义的一个名词。...在这个过程中,它还会检查字段的类型是否与枚举类型相同,并将值存储在一个字典中,以便以后可以快速地访问它们。

    40220

    在 Linux 中检查文件大小的 4 种方法

    在 Linux 操作系统中,经常需要检查文件的大小。无论是管理文件系统空间,还是确定文件传输的大小限制,了解文件大小是非常重要的。...本文将介绍 4 种常用的方法,帮助你在 Linux 中检查文件的大小。 方法一:使用 ls 命令 ls 命令是 Linux 中最常用的文件和目录列表命令之一。它可以显示文件的各种属性,包括文件大小。...使用 ls 命令检查文件大小的方法很简单,只需执行以下命令: ls -l 上述命令会显示文件的详细信息,其中包括文件的大小。文件大小以字节为单位显示,并且在输出中的第 5 列。...要使用 du 命令检查单个文件的大小,可以执行以下命令: du -h 上述命令中的 -h 选项用于以人类可读的格式显示文件大小。...总结 通过使用上述 4 种方法之一,你可以在 Linux 中方便地检查文件的大小。这些方法提供了不同的方式来获取文件大小信息,适用于不同的场景和需求。

    20.1K22

    【Linux系列】在 Linux 系统中查看目录大小的方法

    文章还介绍了几种PHP中的文件包含函数,包括include()、include_once()、require()和require_once(),以及它们在找不到文件时的不同行为。...在 Linux 系统中,管理文件和目录的磁盘空间使用情况是日常维护的一部分。特别是在数据密集型的应用场景中,了解各个目录和文件的大小至关重要。...3.5G /home/user/data/subdir2 二、递归查看并按大小排序 在一些情况下,我们可能需要更细致地分析目录的大小,甚至希望将结果按大小排序。...四、使用 sudo 获取权限 在查看某些目录的大小时,您可能会遇到权限问题。在这种情况下,可以在命令前加上 sudo 来获取超级用户权限。...五、总结 通过使用 du 命令,我们可以方便地查看 Linux 系统中特定目录的大小,以及该目录下的文件和子目录的详细信息。

    24710

    AI技术在图像水印处理中的应用

    在这里我们和大家分享一下业余期间在水印智能化处理上的一些实践和探索,希望可以帮助大家在更好地做到对他人图像版权保护的同时,也能更好地防止自己的图像被他人滥用。...我们大家在日常生活中如果下载和使用了带有水印的互联网图像,往往既不美观也可能会构成侵权。...接下来就是制作带水印的图像,为了保证图像数据的一般性,我们将公开的PASCAL VOC 2012数据集的图像作为原始的无水印图像,然后利用图像处理工具将收集的80种水印以随机的大小、位置和透明度打在原始图像上...能够一眼看穿各类水印的检测器 水印在图像中的视觉显著性很低,具有面积小,颜色浅,透明度高等特点,带水印图像与未带水印图像之间的差异往往很小,区分度较低。...有了这样一款水印检测器,我们就可以在海量图像中快速又准确地检测出带水印的图像。 ? 往前走一步:从检测到去除 如果只是利用AI来自动检测水印,是不是总感觉少了点什么?

    1.3K10
    领券