????Դ??
点云处理深度学习方法需应对置换不变性和旋转不变性。点云原始数据的网络网络稀疏性是三维方法共同挑战。PointNet解决置换不变性,搭建搭建使用对称函数如最大值函数,源码源码薅羊毛赚钱源码高维特征提取后最大化,网络网络降低低维损失。搭建搭建PointNet通过T-Net矩阵保证旋转不变性,源码源码该矩阵转换任意角度输入至正面点云。网络网络PointNet整体架构如图所示。搭建搭建
PointNet++是源码源码PointNet改进版,PointNet在分类和Part Segmentation表现良好,网络网络但在Semantic Segmentation受限。搭建搭建PointNet++依据2D CNN思想改进,源码源码通过SA模块进行特征学习。模块首先采样关键点,围绕每个关键点选取球形区域内点作为Grouping,应用PointNet提取特征。每个点特征不仅包含自身信息,还融合领域内周围点关系。关键点坐标变换确保不变性,输入变换后球形区域内点相对关系确定。最终得到的点特征包含多层次特征学习结果。PointNet++通过不同分辨率和尺度的Grouping解决点云稀疏性影响。
总结,PointNet和PointNet++在点云处理中各有优势。PointNet通过置换不变性和旋转不变性处理策略,实现对点云数据的有效学习。PointNet++进一步通过多层次特征学习和关键点选择,提高对点与点关系的python登录系统源码捕捉能力。两者的架构和策略设计旨在优化点云数据处理效率和精度,满足不同应用需求。
零基础搭建个人在线网站,html文件上传到互联网生成在线链接
简单介绍一下,标题太短了说不清楚。接下来我会分享给你一个html文件包(即自己的本地网页,别人不能通过网络访问,只存在于自己电脑存储中),这篇文章将讲解如何把这个html文件上传到网络中,使别人也能在线访问你的个人网站,手机和电脑都可以访在线访问。
html文件就是一个网站的源代码框架,通过这一堆代码可以在浏览器中显示出网页。
给个腾讯微云链接,下载一个我分享的html模板: share.weiyun.com/zzp3Q4...
(应该已经过期了,不过没关系,网上直接搜一下html模板,随便下载一个文件夹就可以。)
下载完后是一个叫“html.rar”的压缩文件包,解压完后打开文件夹,看到一个叫index.html的文件,用浏览器打开。
打开后,在浏览器的输入网址的地方可以看到,文件并不是我们常见的www开头或者)
然后点击上方“云产品”,在其中找到对象存储(我下图中标出了五角星的那个)
进入后如下图,点击创建存储桶。
随后三步很重要,名称,访问权限(这个一定选第二个,音乐下载网页源码不然别人在互联网上没有权限读取你的网站),最后是阅读同意,随后点击下一步。
高级可选配置不管他。留着默认选项不动,下一步。
这里确认一下自己的基本信息,无误后直接点击创建。
来到这个界面,直接点击下图中的左上方的上传文件。
这里其实不用点选择文件,直接把桌面上刚才解压过的文件夹,名字是html的文件夹,直接鼠标把文件夹拉进来就可以自动上传了。上传完如下图。
关闭上传文件的窗口,返回储存桶界面,看到已经上传的html文件夹,直接点击打开。
打开后看到两个文件,一个是文件夹,另一个是index.html,直接看到第二个index.html后方的详情,点击“详情”,如下图。
看下图,index.html的在线网址,腾讯云就帮你自动生成好了,直接复制一下那个对应的网址。
打开浏览器新建一个空白窗口,分享吧网站源码在顶部输入网址的地方黏贴刚才复制的网址,随后回车,打开。
打开的网页最上方网址栏中已经和之前的本地网页中网址为C盘不一样了,现在的网址是在线网址,为了验证一下,我们用手机也打开一下这个网址试试看。
上方两张是pc电脑端打开的网站,下方是用的手机浏览器打开的网站,可见,任何互联网中的设备都可以打开这个在线网站了,并且网站一般来说都是在手机端自适应。
这个方法很方便,适合用于非商业性的个人或者团队的小网站。我今年参加的计算机设计大赛中用的网页也是通过腾讯云上传在线的。(虽然竞赛最后寄了)像我们个人或者小团队用户,想要通过正经方式去实现一个网页的在线模式是比较繁琐的,其中还包括向有关部门报备和申请,并且还要花钱购买域名。这个方法完全几乎可以忽略费用,因为我当时竞赛用这个网站大概4个月,最后只花费了0.元。到时候系统会自动告诉你的,不用担心自己是不是没交影响之类的。这个方法挺简单的,我之后也会出一期教学如何制作自己的网站,即使用html代码编写自己的网站。从前端纯肉代码html,css,javascript到后端pyflask到数据库mysql以及竞赛中使用的易盗号软件源码supabase数据库。这样就能全套的搭建个人网站运行了。但是也很繁琐。
c++网络编程:Boost.asio源码剖析
Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。
boost.asio是Boost库中非常著名的I/O组件,是用于网络和低层IO编程的跨平台C++库,为开发者提供了C++环境下稳定的异步模型。其在性能、移植性、扩展性等方面均为人称道,甚至被很多业内人士称为“网络神器”。asio是目前唯一有希望进入C++标准库以弥补标准库在网络方面的缺失的C++网络库,因此对asio的学习在某种意义上可以说是学习C++网络编程的必修课。
本文从源码角度出发,深入浅出地剖析asio的架构和设计理念,将asio的一切秘密呈现在读者眼前。适合已有较完善的C++基础知识、具备一定程度的泛型技术和面向对象技术、并对boost.asio有一定的了解的读者。
asio的核心架构由三大组件构成:io_object、services服务和"Asio核心组件",其中io_object是I/O对象的集合,包含socket、deadline_timer等对象;services服务是逻辑功能的实现者,包含deadline_timer_service、win_iocp_socket_service等服务;"Asio核心组件"即io_service,通过关联类service_registry管理服务,由io_object提供接口。
io_service的真正逻辑实现封装在内部桥接的类io_service_impl中,io_service_impl继承于service_base,在io_service初始化时被创建并由io_service持有其引用。asio中包含多个服务,如strand_service、deadline_timer_service、stream_socket_service等,以及对应的I/O对象如io_service::strand、basic_deadline_timer等。
asio中还包含Protocol和InternetProtocol概念,用于定义通信协议和网络通信协议。此外,还引入了泛型概念如ConstBuffer、ConstBufferSequence、MutableBuffer、MutableBufferSequence、Stream、AsyncReadStream、AsyncWriteStream、SyncReadStream和SyncWriteStream等,使得asio在设计上更加灵活和高效。
泛型与面向对象的完美结合使得asio在设计上既具有面向对象的封装性和可扩展性,又具备泛型编程的灵活性和高效性。通过Service Concept和CSU(Core-Service-User)架构,asio实现了用户友好的接口设计,使得开发者能够以简单而统一的方式使用asio提供的功能,无需自行处理复杂的泛型组件组装工作。
手动搭建Fabric网络-详解链码安装、实例化过程
在HyperLedger的实践系列文章中,本文将深入探讨如何手动搭建Fabric网络,从链码的安装到实例化过程,一步步解析关键步骤。首先,我们通过安装Fabric环境和克隆最新代码,确保系统具备创建Fabric网络的基础。
接下来,我们详细说明了网络搭建的几个关键步骤:
1. 公私钥和证书生成
在Fabric网络中,涉及两种类型的证书:用于节点间通讯安全的TLS证书,以及用于用户登录和权限控制的用户证书。由于测试环境不使用CA节点,我们选择使用cryptogen工具生成证书。
1.1 编译cryptogen
通过Fabric源代码的make命令,我们能够编译生成cryptogen工具。运行成功后,可在build/bin文件夹下找到编译出的cryptogen程序。
1.2 配置crypto-config.yaml
该配置文件指导了Fabric网络的拓扑结构,包括不同组织和Peer的关系。通过分析示例文件,我们理解了如何为特定组织配置公私钥和证书。
1.3 生成公私钥和证书
借助cryptogen工具,根据crypto-config.yaml配置文件,生成了必要的公私钥和证书。
2. 创世区块与Channel配置
创世区块与Channel配置区块是Fabric网络启动和通道创建的基石。
2.1 编译生成configtxgen
使用make命令,我们生成了用于生成配置区块和配置交易的configtxgen工具。
2.2 配置configtx.yaml
通过官方提供的模板文件,我们配置了Orderer和Peer的共识策略。配置完成后,通过configtxgen生成创世区块。
2.3 生成创世区块与Channel配置区块
生成的创世区块用于启动Ordering服务和配置网络策略;Channel配置区块用于新建应用通道,指定成员与访问策略。
2.4 更新锚节点
锚节点负责组织间通信,通过生成更新文件,确保网络中各节点能够正确通信。
3. 配置Fabric环境的Docker
利用Docker-compose文件,我们配置了环境,包括Orderer、Peer和CLI组件。
3.1 配置Orderer
在base/docker-compose-base.yaml中,我们为Orderer配置了路径映射、服务端口等信息。
3.2 配置Peer
Peer配置文件包含了服务地址、TLS信息、MSP信息等,确保Peer节点能够正确运行。
3.3 配置CLI
CLI作为客户端,配置了与Peer的连接信息以及脚本执行方式,用于执行SDK操作。
4. 初始化Fabric环境与创建Channel
通过执行docker-compose命令启动容器,我们完成了Fabric环境的初始化。然后,我们创建了Channel,并让各个Peer节点加入。
4.1 启动Fabric容器
在docker-compose-cli.yaml文件中配置好环境后,使用命令启动容器集群。
4.2 创建Channel
在CLI容器内,使用peer channel create命令创建Channel,并保存配置区块。
4.3 Peer加入Channel
通过修改CLI环境变量,指定连接的Peer节点,实现各节点加入Channel。
4.4 更新锚节点
完成Peer节点加入Channel后,更新锚节点配置以实现不同组织间的通信。
5. 链码安装与运行
最后,我们安装并运行链码,通过实例化过程将链码部署到Fabric网络中。具体操作包括安装链码、实例化链码以及执行交易。
5.1 安装链码
使用peer chaincode install命令,将链码安装到每个相关Peer节点上。
5.2 实例化链码
实例化过程生成包含链码实例的Docker镜像和容器,并通过与Orderer节点交互实现智能合约的激活。
5.3 执行交易
通过链码的调用执行转账操作,验证链码功能。
5.4 查询交易
在不同节点上查询交易,确保链码功能在全网内传播。
总结
通过以上步骤,我们不仅搭建了Fabric网络环境,还深入理解了链码安装与实例化的过程。理解这些关键步骤对于后续在生产环境中创建更复杂的网络和执行多样化链码提供了基础。在实施过程中遇到的任何问题,均可通过重新配置环境或深入理解Docker概念来解决。掌握Fabric网络的运行原理,对于进一步开发和优化区块链应用至关重要。
为什么建站源码w那么受欢迎?
1. 易用性:成品网源码w的设计注重用户体验,提供直观的操作界面和简洁的代码结构,使得即使是新手也能够轻松地进行网站搭建和管理工作。
2. 高度可定制性:该源码支持广泛的个性化设置,允许用户根据自己的喜好和业务需求,定制网站的主题风格和功能特性,从而打造独一无二的线上平台。
3. 安全性:成品网源码w内置了多项安全机制,有效防御SQL注入、XSS攻击等常见的网络安全威胁,确保网站数据和用户信息的安全。
4. 强大的扩展性:该源码采用模块化设计,便于用户根据实际需求添加或删除功能模块,极大地提高了网站的灵活性和长期维护的便捷性。
5. 多平台兼容性:成品网源码w能够在不同的操作系统和服务器环境中运行,包括但不限于Windows和Linux系统,同时也支持主流的网络浏览器,确保网站的广泛可访问性。
6. 详尽的文档支持:提供全面的技术文档和用户指南,帮助用户深入理解源码的工作原理,以及如何有效地使用和维护网站。
7. 良好的社区支持:拥有一个积极的开源社区,用户可以在这里获得技术支持、分享经验,以及参与到源码的持续改进和开发中去。
2024-11-30 20:42
2024-11-30 20:10
2024-11-30 19:52
2024-11-30 19:31
2024-11-30 19:15