3d模板源码,企业网站源码

源码大全 a1561571580 发布时间:2025-02-07 浏览:

3d模板源码,企业网站源码

3d稀疏卷积——spconv源码剖析(三)

构建Rulebook

下面看ops.get_indice_pairs,位于:spconv/ops.py

构建Rulebook由ops.get_indice_pairs接口完成

get_indice_pairs函数具体实现:

主要就是完成了一些参数的校验和预处理。首先,对于3d普通稀疏卷积,根据输入shape大小,kernel size,stride等参数计算出输出输出shape,子流行稀疏卷积就不必计算了,输出shape和输入shape一样大小

准备好参数之后就进入最核心的get_indice_pairs函数。因为spconv通过torch.ops.load_library加载.so文件注册,所以这里通torch.ops.spconv.get_indice_pairs这种方式来调用该函数。

算子注册:在src/spconv/all.cc文件中通过Pytorch提供的OP Register(算子注册的方式)对底层c++ api进行了注册,可以python接口形式调用c++算子

同C++ extension方式一样,OP Register也是Pytorch提供的一种底层扩展算子注册的方式。注册的算子可以通过 torch.xxx或者 tensor.xxx的方式进行调用,该方式同样与pytorch源码解耦,增加和修改算子不需要重新编译pytorch源码。用该方式注册一个新的算子,流程非常简单:先编写C++相关的算子实现,然后通过pytorch底层的注册接口(torch::RegisterOperators),将该算子注册即可。

构建Rulebook实际通过python接口get_indice_pairs调用src/spconv/spconv_ops.cc文件种的getIndicePairs函数

代码位于:src/spconv/spconv_ops.cc

分析getIndicePairs直接将重心锁定在GPU逻辑部分,并且子流行3d稀疏卷积和正常3d稀疏卷积分开讨论,优先子流行3d稀疏卷积。

代码中最重要的3个变量分别为:indicePairs,indiceNum和gridOut,其建立过程如下:

indicePairs代表了稀疏卷积输入输出的映射规则,即Input Hash Table和 Output Hash Table。这里分配理论最大的内存,它的shape为{2,kernelVolume,numAct},2表示输入和输出两个方向,kernelVolume为卷积核的volume size。例如一个3x3x3的卷积核,其volume size就是27(3*3*3)。numAct表示输入有效(active)特征的数量。indiceNum用于保存卷积核每一个位置上的总的计算的次数,indiceNum对应图片中的count

代码中关于gpu建立rulebook调用create_submconv_indice_pair_cuda函数来完成,下面具体分析下create_submconv_indice_pair_cuda函数

子流线稀疏卷积

子流线稀疏卷积是调用create_submconv_indice_pair_cuda函数来构建rulebook

在create_submconv_indice_pair_cuda大可不必深究以下动态分发机制的运行原理。

直接将重心锁定在核函数:

prepareSubMGridKernel核函数中grid_size和block_size实则都是用的整形变量。其中block_size为tv::cuda::CUDA_NUM_THREADS,在include/tensorview/cuda_utils.h文件中定义,大小为1024。而grid_size大小通过tv::cuda::getBlocks(numActIn)计算得到,其中numActIn表示有效(active)输入数据的数量。

prepareSubMGridKernel作用:建立输出张量坐标(通过index表示)到输出序号之间的一张哈希表

见:include/spconv/indice.cu.h

这里计算index换了一种模板加递归的写法,看起来比较复杂而已。令:new_indicesIn= indicesIn.data(),可以推导得出index为:

ArrayIndexRowMajor位于include/tensorview/tensorview.h,其递归调用写法如下:

接着看核函数getSubMIndicePairsKernel3:

位于:include/spconv/indice.cu.h

看:

上述写法类似我们函数中常见的循环的写法,具体可以查看include/tensorview/kernel_utils.h

NumILP按默认值等于1的话,其stride也是gridDim.x*blockDim.x。索引最大值要小于该线程块的线程上限索引blockDim.x* gridDim.x,功能与下面代码类似:

参考: blog.csdn.net/ChuiGeDaQ...

请问谁有个人网站制作源代码

这一类的东西很多,

自己去搜索吧!

网站设计八步骤

由于目前所见即所得类型的工具越来越多,使用也越来越方便,所以制作网页已经变成了一件轻松的工作,不像以前要手工编写一行行的源代码那样。一般初学者经过短暂的学习就可以学会制作网页,于是他们认为网页制作非常简单,就匆匆忙忙制作自己的网站,可是做出来之后与别人一比,才发现自己的网站非常粗糙,这是为什么呢?常言道:“性急吃不了热豆腐”。建立一个网站就像盖一幢大楼一样,它是一个系统工程,有自己特定的工作流程,你只有遵循这个步骤,按部就班地一步步来,才能设计出一个满意的网站。

一、确定网站主题

网站主题就是你建立的网站所要包含的主要内容,一个网站必须要有一个明确的主题。特别是对于个人网站,你不可能像综合网站那样做得内容大而全,包罗万象。你没有这个能力,也没这个精力,所以必须要找准一个自己最感兴趣内容,做深、做透,办出自己的特色,这样才能给用户留下深刻的印象。网站的主题无定则,只要是你感兴趣的,任何内容都可以,但主题要鲜明,在你的主题范围内内容做到大而全、精而深。

二、搜集材料

明确了网站的主题以后,你就要围绕主题开始搜集材料了。常言道:“巧妇难为无米之炊”。要想让自己的网站有血有肉,能够吸引住用户,你就要尽量搜集材料,搜集得材料越多,以后制作网站就越容易。材料既可以从图书、报纸、光盘、多媒体上得来,也可以从互联网上搜集,然后把搜集的材料去粗取精,去伪存真,作为自己制作网页的素材。

三、规划网站

一个网站设计得成功与否,很大程度上决定于设计者的规划水平,规划网站就像设计师设计大楼一样,图纸设计好了,才能建成一座漂亮的楼房。网站规划包含的内容很多,如网站的结构、栏目的设置、网站的风格、颜色搭配、版面布局、文字图片的运用等,你只有在制作网页之前把这些方面都考虑到了,才能在制作时驾轻就熟,胸有成竹。也只有如此制作出来的网页才能有个性、有特色,具有吸引力。如何规划网站的每一项具体内容,我们在下面会有详细介绍。四、选择合适的制作工具

尽管选择什么样的工具并不会影响你设计网页的好坏,但是一款功能强大、使用简单的软件往往可以起到事半功倍的效果。网页制作涉及的工具比较多,首先就是网页制作工具了,目前大多数网民选用的都是所见即所得的编辑工具,这其中的优秀者当然是Dreamweaver和Frontpage了,如果是初学者,Frontpage2000是首选。除此之外,还有图片编辑工具,如Photoshop、Photoimpact等;动画制作工具,如Flash、Cool3d、GifAnimator等;还有网页特效工具,如有声有色等,网上有许多这方面的软件,你可以根据需要灵活运用。

五、制作网页

材料有了,工具也选好了,下面就需要按照规划一步步地把自己的想法变成现实了,这是一个复杂而细致的过程,一定要按照先大后小、先简单后复杂来进行制作。所谓先大后小,就是说在制作网页时,先把大的结构设计好,然后再逐步完善小的结构设计。所谓先简单后复杂,就是先设计出简单的内容,然后再设计复杂的内容,以便出现问题时好修改。在制作网页时要多灵活运用模板,这样可以大大提高制作效率。

六、上传测试

网页制作完毕,最后要发布到Web服务器上,才能够让全世界的朋友观看,现在上传的工具有很多,有些网页制作工具本身就带有FTP功能,利用这些FTP工具,你可以很方便地把网站发布到自己申请的主页存放服务器上。网站上传以后,你要在浏览器中打开自己的网站,逐页逐个链接的进行测试,发现问题,及时修改,然后再上传测试。全部测试完毕就可以把你的网址告诉给朋友,让他们来浏览。

七、推广宣传

八、维护更新

网站要注意经常维护更新内容,保持内容的新鲜,不要一做好就放在那儿不变了,只有不断地给它补充新的内容,才能够吸引住浏览者

★要想学做网页,首先得了解制作网页的工具。

制作网页主要有以下一些工具

Frontpage:office自带的一个工具,操作简单,实用,学起来比较轻松,功能不咋地,我不太喜欢。

Dreamweaver:这是网页三剑客之一,专门制作网页的工具,可以自动将网页生成代码,是普通网页制作者的首选工具,界面简单,实用功能比较强大。建议初学者选用。

另外一个工具就是代码编辑工具,例如写字本、EditPlus等,这些工具主要编辑asp等动态网页。

此外还有一些网络编程工具,javascript、java编辑器等。

网页制作也是一个比较吃香的行业,要真正做一个好的网站,还必须有良好的设计功底。所以还得学很多边缘性的软件,例如photoshop、flash等。

大型的网站往往还需要数据库的支持,所以还得懂数据库。sql、甲骨文等。

总之,掌握好网页制作,能独立完成一个网站的制作工作,那就不要考虑吃饭问题。随便混就好了!

祝你成功。

★你可以结合Dreamwaver和Photoshop来制作网页。

Dreamwaver可以到这里下30天试用版,不过要先登记一个免费帐号,)

留言

【3D开发】道路怎么建模

道路与桥梁三维建模系统(以下称:“3DROAD”)是EICAD(集成交互式道路与立交设计CAD软件包)中的一个组成部分。道路设计人员在完成公路平、纵、横断面设计之后,可以在3DROAD软件的帮助下,快速建立公路、桥梁以及交通工程设施的三维模型,并可以从任意角度观察、显示设计成果。使用三维透视图自动生成命令,还可以将驾驶员视景透视图打印输出,作为设计图纸出版。

通过菜单、工具栏按钮或命令行,你可以像使用AutoCAD命令一样,使用3DROAD提供的这些函数命令。在对话框的提示下完成一些设置,即可以得到专业级的公路、桥梁三维模型和路线透视图图纸。这些三维模型是制作公路工程表现图和工程演示动画的基础。在这个三维模型的基础上,你还可以利用 AutoCAD或者 3D Studio MAX中的渲染、动画制作功能,完成后续的工作。

与传统借助 AutoCAD或者3D Studio MAX软件,手工建模相比,3DROAD不仅大大地节省了时间,提高了建模效率,而且模型精度较其他方式建模要高得多。

3DROAD v3.0版在以往版本的基础上,重新进行了界面和功能设计。软件综合性能得到了极大地提升。与EICAD的其它模块一样,3DROAD基于AutoCAD平台二次开发,系统适应于AutoCAD R14/2000/2002/2004/2005/2006平台。3DROAD采用 Microsoft公司Visual C++集成开发环境,运用面向对象编程技术和MFC(Microsoft Foundation Class)进行研制开发。使用以C++为基础的面向对象的开发环境和应用程序接口,充分发挥了图形平台完备的系统开放性和丰富的个性化能力,使用ObjectARX进行二次开发,能够真正快速地访问AutoCAD图形数据库,大大地提高设计效率。

3DROAD命令共包含:道路建模、交通设施建模、桥梁建模和辅助建模工具,四类命令。共集成了30多个功能命令。

3DROAD ver 3.x新增功能:

3DROAD自1999年推出以来,得到了广大新老用户的大力支持,在吸收、听取用户需求意见与建议的基础上,不断地进行改进和升级。紧密跟踪Windows程序开发平台、AutoCAD开发平台的最新成果。正式推出的3DROAD ver 3.0版,综合性能得到了一次新的飞跃。体现在以下多个方面:

与EICAD项目数据环境相衔接,融入EICAD项目管理机制。

适应初步设计、施工图设计等不同阶段的路线几何设计成果,既能够导入横断面戴帽结果建立道路模型,也能够自动戴帽和建模。

按照现行交通标志规范标准,内置国标规范中全部200多种标志牌模板样式,同时支持用户输入和修改标志牌文字,如:指路标志中的地名、限速标志中的车速等等。编辑标志牌物体更加灵活、简便。

交通设施模型库更加丰富。开放式的模型库管理结构,便于用户定制管理。

桥梁墩台建模更加自动化,支持用户交互式修改墩台模型。

桥梁上部结构建模中,既便于套用系统模板,也提供了可视化模板编辑方式。

采用AutoCAD 2000以上提供的布局(LAYOUT)窗口,自动生成路线透视图。实现透视图成果自动刷新,修改模型后,无需重新生成透视图。

在线咨询

点击这里给我发消息QQ客服

在线咨询

免费通话

24h咨询:


如您有问题,可以咨询我们的24H咨询电话!

免费通话

微信扫一扫

微信联系
返回顶部