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

Superpack:突破 Facebook 移动应用程序压缩极限

作者 | Sapan Bhatia 译者 | 张健欣 策划 | 褚杏娟 在 Facebook 上管理应用程序大小是一个独特挑战:开发者每天都要检查大量代码,每行代码最终都会转化为人们下载到手机上应用程序附加位...使用 Superpack 应用程序包括 Facebook、Instagram、WhatsApp 和 Messenger。这些应用程序由于 Superpack 而减小大小如下表所示。...为了在 Facebook 推广 Superpack 开发和使用,我们开发了一个模块化设计,其中抽象可以跨不同压缩格式使用。...这种平衡不是 Superpack 限制,而是 Facebook 使用打包工具和 Android 上使用分发工具之间尚未建立互操作性。...Facebook 应用程序主要由 Superpack 擅长压缩代码组成,其压缩方式远远超过了 Android 上 Google Play 实现现有压缩方式。

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

Facebook 是如何引入并使用 Rust

很明显, Facebook 未来在这门语言上投入会越来越大。在分享未来具体投入举措之前,有必要先了解下 Facebook 早期是如何引入并使用 Rust 。...起初,使用 C++ 开发 Mononoke 显然是个选择。在那时,Facebook 后端代码库对 C++ 非常重视,这意味着 Mononoke 默认会使用 C++ 实现。...如果 Mononoke 能够使用 Mercurial 协议与客户端服务进行对话,并使用 Thrift 协议与某些存储系统进行通信,那么选择 Rust 不会影响源代码控制团队工作之外任何事情。...随着越来越多成功案例(例如性能提升了 2 到 4 个数量级等)在公司内部流传,人们对使用 Rust 实现后端服务代码,以及探索其在移动应用程序应用兴趣越来越浓。...原文链接: https://engineering.fb.com/2021/04/29/developer-tools/rust/ 本文文字及图片出自 InfoQ

72820

facebook Faiss基本使用示例(逐步深入)

step3:进行简单k-近邻搜索 结果如下: NOTE: 1.程序输出为查询向量最近邻4个向量索引 2.在机器上执行上述搜索需要约3.3秒。...step4:加快搜索速度 方法: 通过使用IndexIVFFlat索引,将数据集分割成多个,我们在d维空间中定义Voronoi单元,每个数据库向量落在其中一个单元格中。...在搜索时,只有查询x所在单元格中包含数据库向量y和几个相邻数据库向量y与查询向量进行比较。...这是因为一些结果不在完全相同Voronoi细胞。因此,访问更多单元格可能是有用。 设置nprobe = 10,结果如下: 这是正确结果。...为了扩展到非常大数据集,Faiss提供了基于产品量化器有损压缩来压缩存储向量变体。压缩方法基于乘积量化。

3.5K50

如何上手使用 Facebook 开源平台 Detectron?

不久前,Facebook 开源了用于物体识别的 CV 开发平台 Detectron,为广大研究人员们未来新计算机视觉研究课题提供灵活、快速模型实现和评估途径,对于 Detectron 开源,雷锋网曾做过报道...:Facebook 开源 CV 开发平台 Detectron,打包支持各种物体识别算法。...IBM Watson 计算机视觉工程师 Nick Bourdakos 发表了一篇 Detectron 入门教程,原文链接如下:https://hackernoon.com/how-to-use-detectron-facebooks-free-platform-for-object-detection...不久前 FAIR 开源了物体检测平台 Detectron,任何开发者都能使用 Facebook 用来做物体检测研究工具,Detectron 一项重要功能是对象遮蔽(object masking)。...NVIDIA GPU 才能使用 Detectron 安装 COCO API git clone https://github.com/cocodataset/cocoapi.git cd cocoapi

1.6K50

使用FacebookFastText简化文本分类

使用FastText API分析亚马逊产品评论情绪分步教程 ? 本博客提供了详细分步教程,以便使用FastText进行文本分类。...FastText是由Facebook AI Research(FAIR)开发开源库,专门用于简化文本分类。...抓取亚马逊客户评论: 我们使用现有的python库来从页面中抓取评论。...start_page, end_page, time_upper_limit) scraper.scrape() scraper.write_csv(file_name) 注意:在输入特定产品客户审核页面的...预测文件随后可用于进一步详细分析和可视化目的。 因此,在本博客中,我们学习了使用FastText API进行文本分类,抓取给定产品亚马逊客户评论,并使用经过培训分析模型预测他们情绪。

2.1K20

Facebook 是如何引入并使用 Rust

很明显, Facebook 未来在这门语言上投入会越来越大。在分享未来具体投入举措之前,有必要先了解下 Facebook 早期是如何引入并使用 Rust 。...起初,使用 C++ 开发 Mononoke 显然是个选择。在那时,Facebook 后端代码库对 C++ 非常重视,这意味着 Mononoke 默认会使用 C++ 实现。...如果 Mononoke 能够使用 Mercurial 协议与客户端服务进行对话,并使用 Thrift 协议与某些存储系统进行通信,那么选择 Rust 不会影响源代码控制团队工作之外任何事情。...随着越来越多成功案例(例如性能提升了 2 到 4 个数量级等)在公司内部流传,人们对使用 Rust 实现后端服务代码,以及探索其在移动应用程序应用兴趣越来越浓。...因此,我们创建了一个小型 Rust 开发者体验团队,该团队致力于解决工具和集成方面的挑战,比如在生产非 cargo 构建中使用语言开源包注册表生态系统机制。

41510

使用facebookinfer检查Android代码缺陷

背景 Infer 是一个静态分析工具,它能在 Android 和 iOS 编译过程中今夕代码分析,发现缺陷。使用起来也很简单方便。 什么是 Infer?...任何人都可以使用 Infer 检测应用,这可以将那些严重 bug 扼杀在发布之前,同时防止应用崩溃和性能低下。...Infer 最早部署在 Facebook 内部,用于发布移动应用之前对每一行代码进行分析,目前 Facebook 使用此工具分析所开发 Android、iOS 应用,包括 Facebook Messenger...Infer 不仅仅用于移动应用程序分析,还可以分析 C、Java 等不是 Android 系统代码。...官网地址:https://infer.liaohuqiu.net 开始使用 1.下载地址 https://github.com/facebook/infer/releases/ 下载完成后时个压缩包,解压后放到磁盘某个位置

1.7K00

OpenAI全面使用FacebookPytorch机器学习框架

该公司在一份声明中说:“展望未来,我们将主要使用PyTorch作为我们深度学习框架,但有时在有特定技术原因时使用其他框架。...我们很高兴能加入一个快速增长开发人员社区,包括Facebook和Microsoft这样组织,以推动图形卡规模和性能。”...PyTorch于2016年10月在Facebook上公开发布,是一个基于Torch开源机器学习库,Torch是一种科学计算框架和脚本语言,而该脚本语言又是基于Lua编程语言。...截至2018年3月,它并入了Caffe2,这是由加利福尼亚大学伯克利分校研究人员率先开发,并由FacebookAI研究实验室进一步开发深度学习工具集。 ?...尽管TensorFlow使用时间略长一些(自2015年11月起),但PyTorch继续在数据科学和开发人员社区中迅速普及。

67610

详解何恺明团队最新作品:源于Facebook AIRegNet(附下载链接

首先,使用wm = 2(两个阶段之间宽度加倍)稍微提高了EDF,但是我们注意到使用wm≥2性能更好(稍后将展示)。...在所有情况下,设计空间顺序是一致使用RegNetX > AnyNetXE > AnyNetXA。换句话说,我们没有看到过度拟合迹象。...值得注意是,最佳模型深度在不同区域(左上)是稳定,最优深度为∼20块(60层)。这与在更高翻背越高体制中使用更深模式惯例形成了对比。...我们还观察到,最佳模型使用瓶颈比b为1.0(上-中),这有效地消除了瓶颈(在实践中经常使用)。...特别是,为了与经典作品进行公平比较,我们没有使用任何培训时间增强。 ?

61920

iOS开发常用之测试调试、动态更新

MobileWebPageTest - MobileWebPageTest是用来测试移动网页性能软件,它可以对页面的加载和渲染过程进行截屏,协助开发者分析出页面性能瓶颈。...如果你是Objective-C粉丝,我建议用Specta代替这个,但是对Swift使用者来说,Quick是最佳选择。 Sleipnir - Swift测试框架。...swiftlog - 为Swift应用提供快捷添加日志信息方法,Swift包管理支持(SPM),使用惊艳彩虹包输出彩色日志,支持写入文件。...使用swiftlog Log.swift - 灵活,易用,可定制输出格式和主题风格日志类(Swift),支持控制台彩色输出。...JSPatch - JSPatch是一个开源项目(Github链接),只需在项目里引入极小引擎文件,就可以使用JavaScript调用任何Objective-C原生接口,替换任意Objective-C

3.4K20

使用Facebook PytorchBigGraph从知识图谱中提取知识

如果我们在开始另一批之前等待每一批结束来完成计算,也需要很多时间。我们图是如此之大,这将有利于能够同时进行并行化训练和参数学习。这个问题是由Facebook团队解决,他们发布了PBG论文。...PBG嵌入特性 知识嵌入可以通过两种方式使用链接预测。 链接预测有助于通过查找可能连接或即将连接节点来填补我们知识中空白。 示例:该图表示客户和客户购买产品。边是采购订单。...pub/matos/2011_knowbases_aaai.pdf)描述了这个过程,后来被用作衡量嵌入模型质量方法,在包括Facebook PBG在内许多其他论文上都有报道。...https://ai.facebook.com/blog/open-sourcing-pytorch-biggraph-for-faster-embeddings-of-extremely-large-graphs...原文链接:https://towardsdatascience.com/extracting-knowledge-from-knowledge-graphs-e5521e4861a0 - End -

93920

【Rust日报】2021-01-18 Facebook使用 Rust 简单介绍

原文链接: https://www.lpalmieri.com/posts/how-to-write-a-rest-client-in-rust-with-reqwest-and-wiremock/ Facebook...使用 Rust 简单介绍 该 twitter 快速介绍了 Rust 在 facebook使用历程: 2017 年开始应用于一个资源控制项目,后来证明性能和稳定性都比 C++好....之后,更多工程师开始使用 Rust在各种项目中,例如 Diem, Hack, Mononoke....在 dev tools 中证明 Rust 可行之后, 开始在后端和手机应用中使用 Rust 很多工程师来自python 和 javascript 语言, Rust 强类型和高性能让这些工程师不再挣扎于运行时...为了让 Rust 更广泛使用, 设立了一个专门 Rust小组来支持其他工程师在不同项目中使用 Rust.

48820

资讯 | 百度转型AI,web大有可为;​淘宝也看上了拼团市场,拼多多你怎么看?

7 Apple开源了Swift Migrator Apple近期在WWDC 2017大会上宣布,已经开源在了Xcode 9中提供Swift 4 Migrator。...Swift Migrator现已完全重写,业已成为编译器一个组成部分,而不再是一个独立工具,并对Swift 3和Swift 4提供同等优秀支持。...近日 Let's Encrypt 宣布将会在来年一月份提供通配符证书服务;某个通配符证书能够应用于某个根站点下任意数目的子站点,从而帮助网站管理者更加方便地使用单证书来为多个子站点添加 HTTPS 部署支持...9 Facebook应用程序相机 Facebook更新了主要应用程序相机功能,并添加了一个新GIF选项。...该功能正在逐渐推出,目前并非所有Facebook用户可以看到这项功能,有访问权限用户,在打开标准相机功能后,会发现它在界面右侧。

42420

使用Java制作Facebook Messenger机器人7个简单步骤

创建Facebook应用程序页面。 为页面生成页面访问令牌(在应用程序信使设置中)。 将上面创建令牌粘贴到application.properties文件中。...您现在可以通过转到Facebook页面并单击“发送消息”按钮来开始发送您机器人消息。...使用JBot构建Facebook Messenger机器人 在我们深入了解细节之前,请确保您拥有Facebook应用程序,fb页面并设置了webhooks。请参阅“ 入门”部分以了解更多信息。...设置你机器人 在Facebook,我们可以为网页而不是用户制作信使机器人。要开始使用fb API,我们需要一个页面访问令牌,可以从您任何fb应用程序设置生成。...机器人启动后,您可以转到应用程序设置并设置webhook。将安全URL提供给您机器人应用程序,如果您在计算机上运行而不是在任何服务器上运行,则可以使用localtunnel.me生成一个。

2.8K20

Layui-admin-iframe通过页面链接直接在iframe内打开一个新页面,实现单页面的效果

前言:   使用Layui-admin做后台管理框架有很长一段时间了,但是一直没有对框架内iframe菜单栏切换跳转做深入了解。...今天有一个这样需求就是通过获取超链接中传递过来跳转地址和对应tabstitle名称参数,在layui-admin-iframe中自动打开一个新tabs页面,不需要点击左边菜单栏,实现一个单页面的效果...代码实现: 请求链接如下所示: https://xxxx.xxx.com?...transferUrl=/Home/Index&openTabsName=首页 其中transferUrl:为需要打开页面地址 openTabsName:为tabs标题名称 layui预先加载...,获取超链接中传递过来跳转页面地址和tabs title名称在iframe中打开: //layui预先加载 layui.use('index', function(){ var transferUrl

3.7K10

适用于NLP自然语言处理Python:使用Facebook FastText库

原文链接:http://tecdat.cn/?p=8572 在本文中,我们将研究FastText,它是用于单词嵌入和文本分类另一个极其有用模块。 在本文中,我们将简要探讨FastText库。...$ pip install wikipedia 导入库 以下脚本将所需库导入我们应用程序: from keras.preprocessing.text import Tokenizerfrom gensim.models.fasttext...您要剪贴页面名称作为参数传递给page方法。该方法返回WikipediaPage对象,然后您可以使用该对象通过content属性来检索页面内容,如上面的脚本所示。...然后使用该sent_tokenize方法将来自四个Wikipedia页面的抓取内容标记为句子。该sent_tokenize方法返回句子列表。四个页面的句子分别标记。...接下来,我们必须找到所有这30个单词单词向量,然后使用PCA将单词向量维数从60减小到2。然后可以使用plt方法,该matplotlib.pyplot方法是绘制单词方法别名在二维向量空间上。

90911
领券