Moonbeam生态说|Bitquery:Web3区块链数据提供商

BSV Planaria框架技术总结二 Bitquery BSV Planaria框架技术总结二 Bitquery 此文是变形虫技术总结的第二篇,阅读此文之前建议先阅读关于变形虫的前两篇文章。 Bitcoin SV的开发哲学——变形虫框架 BSV Planaria框架技术总结一 节点搭建 前面的文章说过变形虫是一个持久层框架,通过planaria组件爬取区块链上的交易数据,提取并加工所需的数据后将数据存储到MongoDB中,然后由planarium对外提供接口给应用程序来调取数据。在搭建好数据库之后,我们下一步关注的重点就是如何对数据库进行读写。前文已经介绍过,变 阅读详情

「Moonbeam生态说」是Moonbeam中文爱好者社区联合Moonbeam中文高级大使组织的社区AMA活动。该活动为已部署Moonriver或Moonbeam的项目方提供了在主流Moonbeam非官方中文社区内介绍自己的项目信息,包括:项目介绍、团队介绍、技术优势等,帮助社区内的Moonbeam爱好者快速了解活跃在Moonbeam生态内的优质项目。

本期Moonbeam生态说由Bitquery和Moonbeam中文社区联合在BinanceLive直播,深入了解Web3区块链数据提供商Bitquery。观看直播回放:https://www.youtube.com/watch?v=5xoutDBE1bw

以下为本次AMA文字实录:

JX:大家好,我是JX,Moonbeam的大使。此前我在Binance任职,因此认识Moonbeam并参与Binance对其的投资事项。现在我和我的团队创建了一家区块链投资公司 — — Old Fashion Research(OFR)。OFR主要业务包括投资&并购,以及项目孵化。至今我们投资了超过30个项目(包含元宇宙、基建等等),覆盖了包括拉丁美洲、东南亚等新兴市场。比如Nansen、Woo Trade和Genopets等。

本次AMA的嘉宾是来自Bitquery的Gaurav,首先邀请Gaurav先做个自我介绍吧!

Gaurav:大家好,我是Bitquery的增长负责人Gaurav。Bitquery是区块链数据提供商,我们的大多数业务集中在数据服务领域,比如大数据查询等。在不同的垂直领域,包括合规方向、DEX交易、DeFi等等。我们也提供了诸多面向开发者的服务,不管是个人开发者还是专业开发团队。我们的团队在这个领域深耕了4年,团队位于加利福尼亚,目前人数在20人左右。

Bitquery是向前发展的团队,我们已经支持了大约40条公链,这其中也包括一些测试网。大多数的数据面板是使用GraphQL,但我们也有面向企业级客户的其他业务。

JX:非常好!我相信在场的观众会期待Bitquery的具体产品。请介绍下Bitquery是什么,是什么启发你的团队创建Bitquery的产品?

Gaurav:好的。对于Bitquery,我们希望解决区块链的数据访问不足,并且让区块链数据富有意义。最开始我们推出的产品是Block C(blockC.info),这是一个基于以太坊的区块浏览器。但与其他浏览器不同的是,你能在此平台上看到更多分析。例如,各类Token持有者的信息,各个地址之间的关联度,以及基尼系数。这是基于BlockC的成果,我们在这其中看到有趣的分析,也看到不同区块的API构成。在2018年,我们逐渐意识到未来可能是多链的世界,这将催生出众多区块链,以及伴随而来的海量数据需求。

数据能丰富新一代的产品,而新一代的产品是构建更复杂产品功能的基础。优秀的数据面板能为用户提供更高质量的用户体验和采用率。所以,我们构建了Bitquery,目前我们处理的链上数据超过1PB的链上数据。

当然,我们索引了不同的数据。我们一直致力于数据层工作,并且清楚数据可访问性的现实问题,特别是希望获取不同类型区块链的数据,比如用于构建应用、研究、分析等不同案例。获取数据是有门槛的,即使得到了这些数据,这也会耗费大量精力在获取数据上。我们希望在Bitquery构建数据管理查询产品,解决数据获取的问题。

JX:你曾提到Bitquery已经构建在了不同类型的区块链,现在Birquery也宣布了集成Moonbeam的公告。集成Moonbeam契机是什么,所面向的使用者群体是哪些?

Gaurav:我们在几个月前完成在Moonbeam上的部署。在此之前我们与Moonbeam的团队进行了深入沟通,并发现我们的客户和用户也有使用Moonbeam的需求,所以我们开始着手集成。整个集成历时1个多月的时间,因为我们有一个标准的集成流程,用自己的基础设施,运行节点,索引数据并将其放入数据仓库然后逐步完成与其他的Bitquery产品的集成,比如区块浏览器、DEX API、GraphQL IDE等等。

我们发现大多数人想要Moonbeam上的分析数据,也有许多人对Moonbeam上的DEX交易数据感兴趣。还有一些是企业用户感兴趣的,比如合规相关的数据,这也是我们集成Moonbeam的原因。现在我们已经全面地支持了Moonbeam,在某些垂直领域,你能通过API便捷地获取数据。我们将为所基于EVM的链和其他类型链上线更多新的产品。

JX:我们从Bitquery网站上看到丰富的产品介绍,这些产品主要是解决什么问题,通过这些产品你发现了哪些有趣的分析?

Gaurav:因为我们有非常多类型的横向产品所以当你获取了区块链数据后,你便可以基于此打造很多可能,比如借贷产品、质押产品、交易类产品、NFT或者是游戏等各种产品。我们定义了某些垂直的领域,在这些领域,我们拥有着几乎完整的解决方案。比如,Coinpath就是合规性的API,能最追踪到链上的资产流向。通过他找到资产来源,从哪里到哪里去,原生的资产最终走向了哪里。比如说,有资产从某些交易所流向了不同的用户,你就能通过Coinpath查出他们的踪迹。当然,这主要是适用于合规性的调查,为他们提供解决方案。

在DEX交易,我们追踪DEX数据,我们在不同的链上对他们的DEX获取数据,比如你希望利用数据构建交易工具、在数据中发现套利的机会,即使是获取链上某一个交易对的数据,这个交易对可能没有链下的数据作为参考,那就能是用我们的付费模式获取这些地址、token转换、智能合约的交互等任何你想检索的。说实话,我们也不清楚我们的用户们是如何在使用我们的产品,因为这些产品非常横向化。

JX:这听起来会惠及很多团队。下一个问题是关于Bitquery的发展路线图。未来2年会有哪些值得期待的产品功能?

Gaurav:目前我们会集中两件事。首先是部署更多的数据集。目前我们拥有功能丰富且完整的数据集,正如我刚才介绍的那样。但我们还需要更多的数据集,因为现有的产品是满足2年前的需求而设计的,如今则需要满足更多的标准,比如EIP1155。这些新的数据集(也就是新产品)将会基于GraphQL,这是更加全面的满足当前的需求。

与此同时,我们也在开发数据传输平台。这将允许区块链数据流通过多个接口获取。这是我们投入精力的主要工作。

这两个方向的努力可以解决众多现存的问题,而其中能解决的很重要的一个问题就是:如何推动和获取实时的区块链数据?

这对许多应用场景至关重要。比如交易相关的数据,实时支付系统的合规性,还有更多我们已知的应用需求。因为实时数据传输仍有技术障碍,我们正在尝试解决。

JX:确实,更多的数据集和满足更多应用场景需求。我仍然对这个领域的基本面感兴趣,其实有很多的竞争者正在被投资者发现。对比同类产品,Bitquery在数据反馈和支持的链上有哪些比较优势?

Gaurav:我们是看到了很多类似的项目,可能1或2年之前没太多,现在却出现了一些。Bitquery的独特之处是我们始终是客户导向型的。我们是有盈利的公司,为客户打造他们所需的产品,这就是主要的区别之一。

其次,在去中心化的区块链领域,我们的竞争者会在网络中保存数据,但我们不会这么做。因为数据正在呈指数级增长,而且使用它的人需求各不相同,需要用不同的模式满足他们的需求。如果再加上对数据的重复使用和长久地保持数据,整个网络将变得无比巨大。我们的观点是,真正需要数据的人应当存储这些数据,也可以有专业的供应商辅助存储,不过多数公司自己存储数据,毕竟现在数据量不大。

这是一种全新的价值主张,区块链是数字基础设施的一部分,就像我们拥有的物理基础设施(道路、桥梁)类似,我们需要其中每一个基础设施。同样的,我们存在于一个数字世界,比如Facebook、Google或者是AWS等是数字基础设施。

在区块链同理,缩短基础设施间的距离是重要的一步。因为这不是一个统一而论的地方,而是由不同的部分组成。需要从某些区块链实现集成,同时需要连接远程的设施。我们希望紧密基础设施间的联系,让数据可以无缝地在不同的基础设施之间进入、转换。使用者能通过这些基础设施构建应用。比如,我们能够基于AWS直接通过MySQL、Redshift、Kafka或者其他的平台推送数据。因此,开发者可以直接按照自己的需求使用,而不需要依赖某些统一的接口或是单个接口,同时,基于访问的能力和数据本身的可访问性,构建应用变得非常便利。

我相信达到这类程度的可访问性能帮助我们的开发者构建更好的复杂应用,这些应用甚至可以在用户体验上,与当前的中心化应用匹敌。

JX:很好。数据的可访问性是非常重要的。我们也在寻找应用层和基建层之间的有效中间件。似乎Bitquery在这方面有了一份满意的答卷。既然Bitquery已经开始业务,在定价方面,针对不同用户的定价模式是什么?

Gaurav:好问题。定价方面,我们不会隐藏任何条款。我们向所有人开放API。鉴于我们对自己的定位是数据基础设施平台,因此对于每位使用者,我们打造了积分系统,定价也是基于这类逻辑。这就像是你在AWS的付费是基于你的实际使用量,在Bitquery也是类似的道理。你可以编写API查询不同类型的数据,积分系统会统计你的查询量消耗了多少积分。这里也是定价点的核心。

比如,在我们的高级计划中,我们每月会免费提供10万点积分。在更高阶的team计划中,我们每月提供300万的积分,最高的Business计划是提供1亿点积分。如果还需要更多,我们会提供企业级的定制计划。

JX:从哪里可订阅最新的Bitquery进展或是浏览使用指南?

Gaurav:我们有Telegram和Twitter,大部分的更新在以上渠道能看到。如果你在Bitquery网站完成了注册,你也会收到Newsletter。每当我们有更新,通过Newsletter就能查看这些进展。总的来说,加入我们的Telegram,你可以搜索到全部的内容。

JX:好的。感谢您提供的信息。我相信很多人会探索创业公司背后的故事,我很好奇是什么原因促使创始团队成立了这家公司,他们的背景是什么?

Gaurav:Bitquery是由Dean和Aleksey共同创立的。Dean是一位资深的技术专家,他曾创业并将公司卖给向黑莓这类的大公司。他是位连续创业者,拥有3家公司。2016年,Dean进入了区块链领域,携手Aleksey一起从事业内的审计业务。逐渐地,他们意识到所有的审计都离不开对数据的获取。于是就有了构建这家公司的后续。

Aleksey的经历和Dean类似,他的技术背景很强,拥有超过20年的代码开发经验,主攻大型系统的构建。

Bitquery的灵感来自于当今社会对数据的大量需求。这个世界每天都在产出大量的数据,人们也需要这些数据。而我们正好在数据方面有不错的资源背景,构建数据平台水到渠成。

Bitquery是自然而然的发展,一开始也没有赚钱。去年我们希望公司能有盈利,我们倾听客户的意见,了解他们的开发需求。当然作为一家以数据为中心的公司,我们始终在收集用户的意见,并注重将这些用户意见融入进我们的产品。

现在整个团队大约20人。我们目前仍开放岗位招聘!所以,如果你正好在看AMA,也感兴趣我们的公司,欢迎投递简历。

JX:听起来Bitquery的团队构成很精简,有技术背景也有商务能力。团队间的成员是如何协同工作的,有多少人是技术方向,多少人是商务方向?

Gaurav:总的来说我们还是一个技术为主的团队,大概90%左右是技术成员,主要是开发运维。BD这边主要是我和Dean,主要是做inbound的营销,围绕用户需求开展业务。我们在持续招聘BD、数据、区块链等不同背景的人才。

在BD层面,我们的inound业务效果是不错的,我们接触了很多客户。当然,当我们发现感兴趣的落地场景,我们也会直接联系潜在的客户。在市场营销上,得益于我们的区块浏览器,每月都会有上百万的浏览量,这对我们的Google SEO很有帮助,这让我们总是出现在Google搜索的首页。也是我们保持良好发展状态的原因。

JX:这真的令人印象深刻,强势的技术背景,还有高效的运营团队。除了刚才我提出的问题,此时社区中也留言了一些提问,有些问题是值得一看的。

第一个社区问题:Bitquery和The Graph相比有哪些差异?

Gaurav:The Graph是非常优秀的产品,他们正在解决不同Dapp遇到的问题。The Graph构建了为Dapp一个中间层,这就好比Dapp处于前端。

以Crypto Kitty举例,他们曾在AWS部署,以此提取链上的数据,然后将数据展示给用户以优化使用体验。The Graph创建了中间层,开发者不需要构建特定的索引状态的排序,使用去中心化的索引服务即可。The Graph看到了这些需求,给这些特定的需求提供解决方案。

Bitquery是不同的,我们希望打造一个实时传输数据的解决方案,并且这个方案不局限在一个案例。其次,我们希望构建更多类似BitTorrent结构的数据,使用者可以转换这些数据。当前BitTorrent是没有转移数据功能的,但这个功能能让数据更有意义且能获得奖励。第三,说实话数据流是能传递给任何人的,所有需要这些数据的人。我们正在打造一个通用协议,部署在其他的区块链上,如果使用者希望传递数据(这也是我们的特点之一)。

如果你想要部署一个The Graph节点,The Graph有自有的节点,这内置了它全部的索引需求,但这类部署需要很高的硬件标准。Bitquery则是轻量级的,但是效率却很高。与此同时,如果有一个专业的节点提供商,不管是Infura或是其他,他们能很轻松的运行我们修正后的节点。一来能提高他们的工作效率,二来他们能将数据传输至Bitquery的网络。这对我们双方是一件双赢的事,对方也能获得盈利。

在设计方面,我们拥有自己的数据通道作为依托的基础设施。构建这个通道是为了将数据传输至各个地方,主要是在基础设施中。当然如果dapp或是某些浏览器需要这些数据,也是可以获取的。

JX:The Graph是将索引做成了协议层,这和Bitquery的业务还是有所差异的。下一个问题是如何确保数据在传输时的准确性和安全性?

Gaurav:这个问题很好。我们正在寻找保障数据准确性的方法。因为仅从内部的技术是无法验证数据的准确性。可能从建立在entropy(信息论)的角度思考解决方式。简单来说,我们需要知道原始数据是什么、用了什么方式传输、输出的结果是什么,然后我们可以比较他们。

这个问题我们目前正在尝试通过算法来解决。我们希望查询数据在传输过程的保真度,而不是将重点放在数据来源。此外,基于一些技术,通过激励推动人们传输准确的数据,这也是可行的方案。

在数据安全性上,我们不在链上存储数据,我们的重心是将这些数据尽快传输到各个网络,而不是去保存这些数据,因此数据的状态安全并不是一个大问题。

JX:我很高兴能听到有人对安全和数据准确性的关心。下一个问题,你是如何看待Bitquery当前的盈利模型?

Gaurav:类比成SAAS类的公司比较合适,但Bitquery也有自己的独特性。我们的基础设施发展飞快,我们也无意控制这个基础设施。目前Bitquery处理超过1PB的数据,其速度非常快。一旦我们启用新的数据集,基础设施的规模又会翻倍成长。我们希望用协议替代现有的基础设施,我们希望成为自己协议的最大客户,但也会保持这个SAAS产品,以便一些不希望集成协议的用户在使用我们服务时得到有效的支持。用户可以使用我们的数据,这些数据来自Bitquery自身协议传输的数据。当然,如果开发者愿意,他们可以直接和协议层集成。我们会维持这个模型,同时也构建了协议层当作取代基础设施的另类解决方案。

JX:最后一个来自社区的问题,Bitquery短期和长期的规划如何?

Gaurav:短期来看,我们的重心是部署新产品,这其中涉及2个产品。其一是我们自己的协议层,其二是在SAAS方向拓展数据集。长期来看,我们致力于让开发者更便捷地访问区块链数据,推动更多优秀的应用出现在去中心化世界,并为他们提供更友好的用户体验。

JX:在我们结束AMA之前,你还有什么想对观众说的吗?

Gaurav:我想说,这个市场的基础设施产品层场景广阔,特别是对基础设施的投资,请保持关注,因为这对于行业的发展非常重要。

[Web3] 基础第4篇: 区块链的组织结构 适用于大规模数据过滤(如 区块链、数据库、搜索引擎)低存储需求、高速查询的场景需要注意不能删除数据(标准版本) → 计数布隆过滤器解决存在误判(False Positive) → 适用于 非精确查询布隆过滤器以 高效存储和快速查询 在 区块链、分布式存储和大数据处理 领域有广泛应用。 阅读详情

相关推荐

AUTOSAR入门

一、AUTOSAR是什么 AUTOSAR组织自己的介绍是 AUTOSAR (AUTomotive Open System ARchitecture) is a worldwide development partnership of vehicle manufacturers, suppliers, service providers and companies from the automot...

天涯遍地是小草的博客 3万+

《2024 年 7 月 17 日最新开发者服务 API 推荐》

一种基于 GIF 图像格式创建的动态图像,通常被称为 GIF 动图或动图 GIF。GIF(Graphics Interchange Format)本身是一种位图图像文件格式,但除了支持静态的图像外,GIF 格式还扩展了对多幅图像的支持,从而形成动画效果。GIF 动画在网络上非常流行,因为它们可以很容易地在网页上嵌入和播放,而无需使用复杂的插件或软件。此外,GIF 动画还支持透明度,这使得它们在设计和创意方面更加灵活和有趣。以下便是 GIF 动图展示。

dimitri1111的博客 1497

企业微信群机器人Webhook配置全攻略:从创建到发送消息的完整流程

本文详细解析了企业微信群机器人的Webhook配置全流程,从创建机器人、获取关键Webhook地址,到使用代码发送文本、Markdown等多种消息类型。内容涵盖安全加固、错误处理及与CI/CD等系统集成的实战指南,帮助企业快速构建高效、稳定的内部通知系统。

ik678901的博客 1783

区块链数据可视化组件库——BitQuery Widgets

区块链数据可视化组件库——BitQuery Widgets 1. 项目基础介绍与主要编程语言 BitQuery Widgets 是一个开源项目,旨在为区块链开发者提供一套易于使用的可视化组件库。该库基于 JavaScript 和 Vue.js,使得开发者能够轻松地将区块链数据以图表和可视化的形式展示在用户界面中。项目主要使用 JavaScript、Vue.js、SCSS 等编程语言和工具开发。 2...

gitblog_00208的博客 532

基于PyTorch的BP神经网络PID控制器动态调参实战

本文详细介绍了基于PyTorch的BP神经网络PID控制器动态调参实战,结合BP神经网络的自适应能力和PID控制算法的经典优势,实现工业控制中的高效参数调整。通过PyTorch实现BP-PID融合架构,包括网络设计、损失函数优化及动态调参技巧,显著提升控制性能,适用于温度控制、电机控制等场景。

weixin_29094775的博客 522

Windows系统的Mamba环境配置详细教程(状态空间模型)

causal_conv1d也是安装mamba的依赖必须库。安装完成后,通过pip list可以查看到安装的库。Triton是安装mamba的依赖,需要先安装。上述工作准备好后,按下面步骤安装。直接根据离线文件安装即可。是自己的虚拟环境名字。

2301_77831163的博客 3676

Bitquery与Moonbeam集成,为多链提供链上数据访问

Bitquery是区块链数据索引工具,允许使用者以统一模式(schema)模型实现跨区块链网络解析、索引、访问、搜索和使用信息。

Moonbuilder的博客 752

电机控制个人学习路线及专业书籍资源分享

个人学习电机控制的学习路线,和相关专业书的电子文档分享

weixin_45182459的博客 9913

Bitquery Explorer 开源项目教程

Bitquery Explorer 开源项目教程 1、项目介绍 Bitquery Explorer 是一个开源的统一区块链浏览器,由 Bitquery 公司开发。该项目旨在提供一个统一的界面来探索多个区块链网络,支持多种区块链协议。Bitquery Explorer 使用 Bitquery Widgets 作为用户界面组件,后端通过 GraphQL 接口提供数据支持。 项目的主要特点包括: 支持...

gitblog_00072的博客 415

Blender点云渲染实战:用Geometry Nodes快速搞定论文配图(附Cycles渲染技巧)

本文详细介绍了如何利用Blender的Geometry Nodes系统,高效地将三维点云数据转化为高质量的科研论文配图。通过实战步骤,从数据导入、节点化几何处理、材质赋予到Cycles渲染引擎的优化设置,手把手教你制作出专业、美观的可视化图像,助力科研成果展示。

hp777的博客 265

【运动规划算法项目实战】Artificial Potential Field算法(附ROS C++代码)

在机器人行业中,路径规划是一个关键的任务,它涉及到如何让机器人在复杂的环境中安全而高效地移动。人工势场算法(Artificial Potential Field Algorithm)是一种常用的路径规划方法,它借鉴了物理学中的势能概念,通过模拟力的作用来引导机器人的移动。本文将详细介绍人工势场算法的原理、在路径规划中的应用、算法优缺点以及代码实现。人工势场算法基于两种势场:斥力场和引力场。斥力场使机器人远离障碍物,而引力场将机器人吸引到目标位置。

xiewf的博客 1万+

如何使用 Bitquery 获取波场(TRON)项目的实时数据

中查看我们预先构建的查询。将 “query” 关键字替换为 “subscription” 以获取实时数据,并集成到你当前的项目中。: 创建一个名为Trondata的组件,并添加你的订阅查询、URL 以及相关选项,然后将它们作为参数传递给你的自定义钩子。只需亚秒级的延迟,用户就可以访问波场的实时内存池数据和已确认的数据。: 将result.data打印在格式化的表格中,以便在控制台中查看实时数据。: 将你的波场数据映射到用户界面(UI)上,查看发布的实时数据。现在,你已经在你的波场项目中实现了实时数据功能。

weixin_39147640的博客 1184

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Bitquery Explorer 项目安装与使用教程

Bitquery Explorer 项目安装与使用教程 1. 项目的目录结构及介绍 Bitquery Explorer 项目的目录结构如下: bitquery/explorer/ ├── app/ ├── bin/ ├── config/ ├── docker-compose/ ├── lib/ ├── log/ ├── public/ ├── scripts/ ├── .gitignore ├─...

gitblog_01158的博客 490

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Moonbeam 生态说|Web3健身:MoonFit

本期Moonbeam生态说由MoonFit和Moonbeam中文社区联合举办,了解Web3健身MoonFit。

Moonbuilder的博客 2516

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain&#39;s apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath(&#39;DeepLearnToolbox&#39;));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand(&#39;state&#39;,0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = &#39;sigm&#39;;%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, &#39;Too big error&#39;);```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, &#39;Too big error&#39;);```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Moonbeam入门开发|第六课:介绍和使用web3.js与Moonbeam交互(上)

Moonbeam是Polkadot网络上的以太坊兼容智能合约平台,为原生互操作应用程序的开发提供便利。通过其以太坊兼容性,开发者能够以最低程度的代码调整在Moonbeam上部署现有的Solidity智能合约和Dapp前端。 作为在Polkadot网络上的平行链,Moonbeam也将受益于Polkadot中继链的共享安全性以及与其它 Polkadot 相关链的连接性。 为了使更多对Moonbeam技术充满热情和好奇的开发者能够参与进来,OneBlock+与Moonbeam共同推出了《Moonbeam入门

Moonbuilder的博客 486

深入理解 Leaf-Spine:从网络拓扑到 AI 数据中心 Fabric

传统数据中心网络以树形三层架构为主,但随着东西向流量激增,其层级多、路径长、扩展难等问题凸显。为此,Leaf-Spine叶脊架构应运而生,通过全互联的扁平化设计,实现多路径转发、高带宽、低时延与灵活横向扩展。结合ECMP负载分担、Underlay/Overlay分离架构及VXLAN/EVPN技术,该架构有效支撑云计算、AI训练等高密度内部通信需求。其核心价值在于:网络设计需匹配业务流量模型,强调可预测性、可靠性与可扩展性。未来,叶脊架构将持续演进,成为高性能数据中心的基石。

一名热爱技术、专注实践的工程师,拥有一项实用新型专利及一项软件著作权。曾获国家级奖项7项、省级奖项30余项。专注网络技术与 AI Infra 领域,持续探索技术创新与工程实践,记录学习成长,分享技术经验,在探索中突破,在实践中精进。 281

期货保证金占用变多,怎样找出哪张合约增得最多?

盘中看了两次期货账户,第二次发现保证金占用多了。眼下占用最大的合约很显眼,但它不一定是这段时间增得最多的。如果复盘想知道“先查哪张”,要按前后差额排,不是按第二次的金额排。

weixin_49134609的博客 207

空圈容错・优快云 站点技术架构信任链诊断

本文为基于公开故障现象的黑箱架构推演报告,聚焦“监控健康但用户访问异常”共性问题。提出C/M/V/P四层可达性分析框架,强调V层需满足数据源、方法、环境三异才具仲裁能力。通过R1–R10探针识别架构风险,揭示同源校验、配置共担、降级粗放等隐患。诊断指出:进程存活≠链路通畅,200状态码≠内容正确。配套8问自测清单与∅_safe分级降级方案,推动从“全好/全崩”到“半坏可控”的可观测跃迁。所有推断假说需依赖图谱与压测验证,不构成线上定论。

Liaiyang66的博客 366

什么是加密货币凭证?

本文探讨了加密货币凭证对数字身份管理的变革性影响,强调了其核心优势,如增强的安全性和即时验证。它通过利用区块链的去中心化技术,解决了与凭证伪造、丢失和低效验证过程相关的问题。读者将了解到加密货币凭证如何在教育、专业认证和医疗等领域提供防篡改和全球可访问的解决方案。文章深入探讨了实际应用,展示了像麻省理工学院、项目管理协会和等组织为什么采用区块链凭证来简化流程并提升信任。

2301_77604523的博客 130

期货合约还有历史K线,就表示现在还能交易吗?

打开以前保存的期货研究资料,某个合约的K线仍能正常显示,过去的价格、成交量也都在。看着熟悉的图,容易顺势觉得:既然还能看,这个合约应该仍可作为当前交易对象。但图里保存的是过去发生过什么,当前合约状态回答的是它现在处于什么生命周期。历史K线仍在,与合约已经下市可以同时成立。对研究者来说,更有用的处理不是在“继续盯它”和“删掉旧图”之间二选一,而是把历史档案与当前关注对象分开。TqSdk提供的合约下市标志,可以帮助把这层区别标明白。

weixin_49134609的博客 182

FPGA 与加密行业:从算法加速到可信硬件的完整技术图谱

本文系统探讨FPGA与密码学的深度交叉,揭示其在加密加速、区块链基础设施、零知识证明及后量子密码中的关键作用。从底层硬件特性到工程实践,分析对称加密、公钥算法、零知识证明等负载的FPGA加速优势,强调其高能效、低延迟与灵活可重构的特性。结合当前密码学复杂度上升与硬件竞争加剧的趋势,指出FPGA是算法验证与高性能实现的理想载体,为安全计算提供高效硬件支撑。

weixin_49780322的博客 244

期货成交额变大,为什么成交手数反而少了?

比较同一期货合约两个交易日的成交情况,可能看到:成交额比前一天高,成交手数却少了。若把成交额大直接理解成“交易得更多”,这两项看起来就会互相打架。其实,金额和手数不是同一把尺子。手数描述成交数量,金额还包含成交价格及相应计量口径的影响。两者反向变化并不构成逻辑矛盾。用TqSdk整理这类观察,关键不是挑一个看起来更大的数,而是把原始量、额及各自口径留下来,回答不同的问题。

shinnyringo的博客 143

【量化实战】VeighNa 全图谱:从零到一,由浅入深打通多品种量化

本文系统梳理了VeighNa量化平台的四阶进阶路径:从接口与数据分离(第一阶段),到策略逻辑对齐(第二阶段),再到数据平替与自动化执行(第三阶段),最终拓展至多市场实战(第四阶段)。针对新手常见痛点,提供免费数据源(如AKShare、天勤)、交易规则避坑指南及参数配置建议,强调A股仅支持做多、乘数需匹配品种特性。最后给出可落地的行动路线图,助力用户由浅入深打通全市场量化体系。

qq_72758246的博客 280

期货分钟线中间少了一段,怎么查是不是休市?

复盘一份已经保存的期货分钟线,10:14 后直接跳到 10:30,另一处却是 10:42 后跳到 10:44。屏幕上两处都没连起来,处理起来并不一样:如果当天确实在第一段休息,不用补;如果 10:43 落在交易时段里,则要回查原始记录和样本覆盖。

lisiccwss的博客 130

美股行情API遇上冬令时:盘前盘后时间怎么对齐?

摘要:负责美股行情页和开盘提醒的产品经理,冬令时切换后需要一起核对交易时段、北京时间和交易日期。本文结合TickDB交易时段、交易日历的真实返回,解释盘前盘后怎样换算,为什么凌晨收盘仍属于美国前一个交易日,并提供时间对照表、可运行换算示例与页面检查清单,处理半日交易等容易遗漏的例外。

2511_94663557的博客 267
上一篇: SubDAO与Moonbeam网络集成
下一篇: Moonbeam Illuminate/22线上生态盛会|Derek开场演讲
Web3 MoonBuilder
博客等级 码龄5年 568粉丝 381原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值