空间分析

new Java对象占用内存分析

倾然丶 夕夏残阳落幕 提交于 2019-11-29 08:14:56
最近在读《深入理解Java虚拟机》,对Java对象的内存布局有了进一步的认识,于是脑子里自然而然就有一个很普通的问题,就是一个Java对象到底占用多大内存? 在网上搜到了一篇博客讲的非常好: http://yueyemaitian.iteye.com/blog/2033046 ,里面提供的这个类也非常实用: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 importjava.lang.instrument.Instrumentation; importjava.lang.reflect.Array; importjava.lang.reflect.Field; importjava.lang.reflect.Modifier; importjava.util

十分钟弄懂:数据结构与算法之美 - 时间和空间复杂度

两盒软妹~` 提交于 2019-11-29 07:49:55
复杂度分析是整个算法学习的精髓,只要掌握了它,数据结构和算法的内容基本上就掌握了一半了。 1. 什么是复杂度分析 ? 数据结构和算法解决是 “如何让计算机更快时间、更省空间的解决问题”。 因此需从执行时间和占用空间两个维度来评估数据结构和算法的性能。 分别用时间复杂度和空间复杂度两个概念来描述性能问题,二者统称为复杂度。 复杂度描述的是算法执行时间(或占用空间)与数据规模的增长关系。 2. 为什么要进行复杂度分析 ? 和性能测试相比,复杂度分析有不依赖执行环境、成本低、效率高、易操作、指导性强的特点。 掌握复杂度分析,将能编写出性能更优的代码,有利于降低系统开发和维护成本。 3. 如何进行复杂度分析 ? 3.1 大 O 表示法 算法的执行时间与每行代码的执行次数成正比,用 T(n) = O(f(n)) 表示,其中 T(n) 表示算法执行总时间,f(n) 表示每行代码执行总次数,而 n 往往表示数据的规模。这就是大 O 时间复杂度表示法。 3.2 时间复杂度 1)定义 算法的时间复杂度,也就是算法的时间量度。 大 O 时间复杂度表示法 实际上并不具体表示代码真正的执行时间,而是表示 代码执行时间随数据规模增长的变化趋势 ,所以也叫 渐进时间复杂度 ,简称 时间复杂度 (asymptotic time complexity)。 例子1: function aFun() {

Coding and Paper Letter(七十)

丶灬走出姿态 提交于 2019-11-29 01:04:41
资源整理。 1 Coding: 1.JupyterHub的流量模拟器。 hubtraf 2.前端面试手册。 front end interview handbook 3.Python学习课程。 learn python 4.从ArcGIS/ESRI格式中提取栅格数据。从Readme来看,似乎在寻求GDAL大佬加持共同构建程序。 ArcRasterRescue 5.OCP-Hack项目是为参加OCP HackFest的伙伴准备的动手实验指导,主要是帮助伙伴在Azure上快速了解和运用Azure IoT Services, Azure Cognitiver Services, Azure Machine Learning等。本项目会持续更新以方便伙伴学习到最新的Azure内容。 OCPOpenHack 6.PaddlePaddle (PArallel Distributed Deep LEarning) 是一个简单易用、高效灵活、可扩展的深度学习平台,最初由百度科学家和工程师共同开发,目的是将深度学习技术应用到百度的众多产品中。 Paddle 7.“通过逐步堆叠高效培训BERT”的源代码。 StackingBERT 8.纽约女子机器学习与数据科学scikit learn研讨会资源。 nyc 2019 scikit sprint 9.PySAL与Python数据栈的地理数据科学。

kernel源码分析

落花浮王杯 提交于 2019-11-28 19:24:54
精贴: https://blog.csdn.net/haidao2009/article/details/9470295 (十一)洞悉linux下的Netfilter&iptables:iptables命令行工具源码解析【上】 分类: LINUX 2012-05-25 18:05:05 预备知识: part1: 初见getopt_long() 在分析iptables源码时,作为命令解析的核心函数getopt_long()不得不提。随便百度或google搜索关于该函数的介绍有很多例子和解释,这里我只举一例,目的是让大家了解传递给iptables命令的每个参数是如何被正确识别并处理的。 getopt_long(int argc ,char * const argv [],const char * optstring ,const struct option * longopts ,int * longindex ) 参数说明: argc 和 argv 来自main函数的输入; optstring :表示可以接受的参数。可以是下列值:1.单个字符,表示选项;2.单个字符后接一个冒号“:”表示该选项后必须跟一个参数。参数紧跟在选项后或者以空格隔开,该参数的指针赋给optarg。3.单个字符后跟两个冒号,表示该选项后必须跟一个参数。参数必须紧跟在选项后不能以空格隔开

图像识别技术初探(2014/2/17)

断了今生、忘了曾经 提交于 2019-11-27 23:04:35
目录 1 前言. 1 1.1 植物的发展史. 1 1.1.1 植物界的类群及多样性. 1 1.1.2 植物的分类等级. 2 1.2植物的识别方法. 3 1.2.1 花与种子的特性. 3 1.2.2 叶子的特征. 3 1.3 什么是数字图像处理. 5 1.3.1 数字图像处理概念及其意义. 5 1.3.2 数字图像处理中的基本图像类型. 6 1.3.3 图像格式分析. 7 1.4 什么是模式识别. 8 1.4.1 模式识别的概念. 8 1.4.2 模式识别研究方向. 9 1.4.3 模式识别在实际中的应用. 10 2 预处理与算法研究. 10 2.1 图像的预处理. 10 2.2 数字图像处理方法. 11 2.2.1 二值处理. 11 2.2.2 模糊模式识别算法. 12 2.2.3 边缘检测与轮廓提取. 12 3.2.4 信息存储. 14 3 算法实现. 14 3.1 分析实际工作过程. 14 3.2 算法实现过程. 15 3.2.1 掏空内部点算法的基本思想. 15 3.2.2 边界跟踪算法的基本思想. 15 3.2.3 部分实现代码. 18 4 小结分析. 25 5 参考文献. 26 6 致谢. 27 1 前言 1.1 植物的发展史 1.1.1 植物界的类群及多样性 植物界的发生和发展经历了漫长的历史,随着地球历史的发展,由原始生物不断演化,其间大约经历了30亿年

[转]在数学的海洋中飘荡

假装没事ソ 提交于 2019-11-27 06:23:16
以下资料来自 Dahua 的博客,非常可惜后来该博客关闭了。 在过去的一年中,我一直在数学的海洋中游荡,research进展不多,对于数学世界的阅历算是有了一些长进。 为什么要深入数学的世界 作为计算机的学生,我没有任何企图要成为一个数学家。我学习数学的目的,是要想爬上巨人的肩膀,希望站在更高的高度,能把我自己研究的东西看得更深广一些。说起来,我在刚来这个学校的时候,并没有预料到我将会有一个深入数学的旅程。我的导师最初希望我去做的题目,是对appearance和motion建立一个unified的model。这个题目在当今Computer Vision中百花齐放的世界中并没有任何特别的地方。事实上,使用各种Graphical Model把各种东西联合在一起framework,在近年的论文中并不少见。 我不否认现在广泛流行的Graphical Model是对复杂现象建模的有力工具,但是,我认为它不是panacea,并不能取代对于所研究的问题的深入的钻研。如果统计学习包治百病,那么很多“下游”的学科也就没有存在的必要了。事实上,开始的时候,我也是和Vision中很多人一样,想着去做一个Graphical Model——我的导师指出,这样的做法只是重复一些标准的流程,并没有很大的价值。经过很长时间的反复,另外一个路径慢慢被确立下来——我们相信,一个图像是通过大量“原子

[转]无处不在的线性分解

五迷三道 提交于 2019-11-27 06:23:13
转自:Dahua的博客 http://dahuasky.wordpress.com/2008/10/02/%e6%97%a0%e5%a4%84%e4%b8%8d%e5%9c%a8%e7%9a%84%e7%ba%bf%e6%80%a7%e5%88%86%e8%a7%a3/ 深刻的思想往往蕴含在简单的数学形式之中。从小至今,对数学的学习一直不断,所学愈多,愈深感现代数学之博大,自己根基之薄弱。在自己所接触的数学之中,各种定理公式纷繁复杂,然细思之下,其核心思想却是非常简洁,但却广泛地以不同形式体现在各个分支之中。事实上,很多不同的数学分支在用自己本领域的语言阐述着一些共同的数学原理。 有三个基本的思想,在我所学到的数学中被普遍的运用:分解,逼近,变换。 分解(decomposition),是和合成(Integration)相互相承的。这里所说的分解思想,其实包括了三个阶段:首先,把一个一般对象,分解成简单对象的组合;然后,对每个简单对象分别加以分析和处理;最后把结果合成为对于原对象的结果。在不同的数学分支里面,分解的形式很不一样,后文中再详述。 逼近(approximation),就是构造简单对象的序列趋近一般对象,并通过这些简单对象的处理和分析结果来逼近一般对象的结果。这种思想在分析(Analysis)主要以极限(limit)的形式存在,是整个分析的根本。在不同的context里面

图像预处理

怎甘沉沦 提交于 2019-11-27 01:02:29
1、主流颜色空间 RGB三通道彩色图,每个通道都是[0,255],常用的三通道—>单通道,Gray=R*0.3+G*0.59+B*0.11 2、图像增强的目标 改善图像的视觉效果 转换为更适合人或机器分析处理的形式; 突出对人或机器分析有意义的信息 抑制无用信息,提高图像的使用价值 包括图像锐化、平滑、去躁、灰度调整(对比度增强) 3、图像处理方法 3.1 特征提取方法 直方图 3.2 空间域处理及其变换 来源: https://www.cnblogs.com/yqpy/p/11337369.html

PlayCanvas PBR材质shader代码分析(vertex shader)

白昼怎懂夜的黑 提交于 2019-11-26 22:59:21
顶点shader主要对顶点坐标变换,将顶点坐标从local->world->view->clip 空间变换 local空间:模型物体坐标系 world空间:世界空间坐标系 view空间: 相机空间 clip空间: 裁剪空间 local->world空间简化后其实就是这么一行代码: vec4 posW = dModelMatrix * vec4(localPos, 1.0); 此图由 https://tinygltf.xyz/drawgeometry/ 网站脚本编写后截图输出 dModelMatrix就是将顶点local坐标系转换到了世界坐标系下。 dModelMatrix是通过getModelMatrix()方法获取 mat4 getModelMatrix() { #ifdef DYNAMICBATCH return getBoneMatrix(vertex_boneIndices); #elif defined(SKIN) return matrix_model * (getBoneMatrix(vertex_boneIndices.x) * vertex_boneWeights.x + getBoneMatrix(vertex_boneIndices.y) * vertex_boneWeights.y+ getBoneMatrix(vertex_boneIndices.z) *

Coding and Paper Letter(六十六)

旧城冷巷雨未停 提交于 2019-11-25 16:52:46
资源整理。 1 Coding: 1.mars是一种基于张量的统一框架,用于大规模数据计算。 mars 2.SVGD是一种通用的变分推理算法,它形成梯度下降的自然对应物以进行优化。 SVGD通过应用一种最小化KL散度的函数梯度下降形式,迭代地传输一组粒子以匹配目标分布。该软件包包含Matlab和Python语言的SVGD实现。 还提供演示以在我们的论文中重现结果。 贝叶斯神经网络示例基于Theano。 Stein Variational Gradient Descent 3.非官方Python端口的puppeteer JavaScript(无头)chrome/chromium浏览器自动化库。puppeteer是谷歌浏览器自行开发的js库。非常强大。 pyppeteer 4.tf-explain将可解释性方法实现为Tensorflow 2.0回调,以简化神经网络的理解。请参阅tf-explain介绍 tf explain 5.用于渲染bokeh Python可视化库的Jupyter小部件。 ipybokeh 6.GDAL/OGR命令行的备忘录。有很多GDAL/OGR命令行实现不同功能的demo。 gdal cheat sheet 7.geotiff.js是一个小型库,用于解析TIFF文件以进行可视化或分析。 它是用纯JavaScript编写的,可以在浏览器和node.js应用程序中使用