def

spark源码系列之累加器实现机制及自定义累加器

限于喜欢 提交于 2020-11-21 02:07:40
一,基本概念 累加器是 Spark 的一种变量,顾名思义该变量只能增加。有以下特点: 1 ,累加器只能在 Driver 端构建及并只能是 Driver 读取结果, Task 只能累加。 2 ,累加器不会改变 Spark Lazy 计算的特点。只会在 Job 触发的时候进行相关累加操作。 3 ,现有累加器的类型。 二,累加器的使用 Driver 端初始化,并在 Action 之后获取值。 val accum = sc.accumulator( 0 , "test Accumulator" ) accum.value Executor 端进行计算 accum += 1 ; 三,累加器的重点类 Class Accumulator extends Accumulable 主要是实现了累加器的初始化及封装了相关的累加器操作方法。同时在类对象构建的时候向我们的 Accumulators 注册了累加器。累加器的 add 操作的返回值类型和我们传入的值类型可以不一样。所以,我们一定要定义好如何累加和合并值。也即 add 方法 object Accumulators: 该方法在 Driver 端管理着我们的累加器,也包含了特定累加器的聚合操作。 trait AccumulatorParam[T] extends AccumulableParam[T, T]: AccumulatorParam 的

【Python | opencv+PIL】常见操作(创建、添加帧、绘图、读取等)的效率对比及其优化

守給你的承諾、 提交于 2020-11-20 07:32:26
一、背景 本人准备用python做图像和视频编辑的操作,却发现opencv和PIL的效率并不是很理想,并且同样的需求有多种不同的写法并有着不同的效率。见全网并无较完整的效率对比文档,遂决定自己丰衣足食。 二、目的 本篇文章将对Python下的opencv接口函数及PIL(Pillow)函数的常用部分进行逐个运行并计时(多次测算取平均时间和最短时间,次数一般在100次以上),并简单使用numba、ctypes、cython等方法优化代码。 三、测试方法及环境 1.硬件 CPU:Intel(R) Core(TM) i3-3220 CPU @ 3.30GHz 3.30 GHz 内存:4.00 GB 硬盘:ATA WDC WD5000AAKX-7 SCSI Disk Device 2.软件: 操作系统:Windows 7 Service Pack 1 Ultimate 64bit zh-cn Python解释器:3.7.5 64bit (provided by Anaconda) 各模块:皆为最新 (事情有所变化,暂时使用下面机房电脑的配置进行测试) 1.硬件 CPU:Intel(R) Xeon(R) Silver 4116 CPU @ 2.10GHz 2.10 GHz 内存:3.00 GB 硬盘:VMware Virtual disk SCSI Disk Service 2.软件:

@crossorigin注解跨域

老子叫甜甜 提交于 2020-11-20 07:17:37
在@controller中类的头部有一个@CrossOrigin注解。 @CrossOrigin 是用来处理跨域请求的注解 先来说一下什么是跨域: (站在巨人的肩膀上) 跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对 JavaScript 施加的安全限制。 所谓同源是指,域名,协议,端口均相同,不明白没关系,举个栗子: http://www.123.com/index.html 调用 http://www.123.com/server . PHP (非跨域) http://www.123.com/index.html 调用 http://www.456.com/server . php (主域名不同 :123/456 ,跨域) http://abc.123.com/index.html 调用 http://def.123.com/server.php (子域名不同:abc/def,跨域) http://www.123.com:8080/index.html 调用 http://www.123.com:8081/server.php (端口不同:8080/8081,跨域) http://www.123.com/index.html 调用 https://www.123.com/server.php (协议不同:http/https,跨域) 请注意

项目笔记《DeepLung:Deep 3D Dual Path Nets for Automated Pulmonary Nodule Detection and Classification》...

邮差的信 提交于 2020-11-19 12:04:00
我只讲讲检测部分的模型,后面两样性分类的试验我没有做,这篇论文采用了很多肺结节检测论文都采用的u-net结构,准确地说是具有DPN结构的3D版本的u-net,直接上图。 DPN是颜水成老师团队的成果,简单讲就是dense 与 residual的结合,如上图,输入特征图一部分通过residual与输出相加,另一部分与residual的结果再串联,个人觉得这个网络好乱,不简洁的网络都不是好网络,恰好文章中还给出了只采用residual的版本,所以我其实要讲的是这个只有residual的u-net,上图。 可以看到,输入是96*96*96的立方体,里面包含标记的结节,经过24个3*3*3的卷积核,通道数变为24,然后经过4个stage,尺寸缩减为1/16,接下来是分辨率放大阶段,采用反卷积实现,连续两个阶段都是反卷积后与低层特征串联,然后经过两个卷积操作,通道数变为15,图示中以3*5显示,是为了更清楚地表明,最后输出的proposal中,每个位置有三个,分别采用三种尺寸,设置的三个anchor尺寸是[5,10,20],每个位置预测z,y,x,d,p分别是结节的三维坐标以及直径,置信度。 下面看一下源码,采用pytorch框架。 首先是residual block的设计,位于layers.py文件 class PostRes(nn.Module): def __init__ (self,

python3 学习笔记

风格不统一 提交于 2020-11-19 05:42:53
本人很少写 python 代码, 一般都是用 go 的, 去年时用 python 写过一些收集系统信息的工具, 当时是边看手册边写的. 如今又要用 python 来写一个生成 xlsx 的工具, 就又需要查看手册了, 至于为什么不用 go 写? 那是因为 go 的库不兼容永中. 在这里不得不说, 虽然 go 很火, 但是一些库还是不如 python 多, 不如 python 兼容性好. 为了避免以后再出这种事情, 这次就好好的了解下 python , 将它的用法按照自己对语言的理解分块记录下来. 要使用某种语言, 个人认为需要了解这些方面: 编码风格 变量的类型, 声明及使用方式 输入/输出 控制语句的写法 错误处理的用法 函数的用法, 还有语言支持的一些特性, python 中就有装饰器, lambda 语句等 对于面向对象语言还需要了解类的声明, 继承, 多态等的用法 还有一些就是此语言的一些特性, python 就还需要了解以下特性: 模块的使用 下文就将按照这些内容来一一记录. 编码风格 变量名, 方法名和模块名建议小写, 单词以 _ 分割, 类名建议驼峰命名风格, 首字母大写, 私有类可用一个 _ 开头. 每行结尾尽量不要添加 ; , 多行代码也不要写在一行 python 是以缩进来控制代码段的, 所以缩减建议使用 4 个空格 编码尽量使用 utf-8 , python

Flask+MongoDB数据库增删改查CRUD示例

假装没事ソ 提交于 2020-11-19 04:58:17
作者: Julian @ 恒馨博客 转载: https://towait.com/blog/flask-mongodb-crud/ 本文记录一下完整的适用于python3.5+ mongodb 3.4的一个简单的数据库操作实例. PS: 这是一个非常非常简单的基础实例,不合理的地方不少,仅供学习参考. 开发环境 Vagrant ( CentOS 7 + Python 3.5 + MongoDB 3.4) + XShell + Windows 10 + Sublime Text 2 数据库环境 主机: localhost (默认) 端口: 27017 (默认) 数据库名: todolist 集合: todos 用户名: todo 密码: towait.com 数据库及账户的创建 根据我爬文若干的经验来看,网上的 flask +mongodb教程基本上是MongoDB默认安装没有经过安全认证的配置,数据库连接不需要用户名和密码,在这篇 MongoDB数据库的安装及基本配置使用(CentOS7) 文章中我曾经强调要做security参数的安全配置,具体操作访问前面的链接内容即可,本文使用的是需要数据库用户名和密码登录的场景. 下面直接我们进入正题 首先使用 用户管理员 账号登录MongoDB数据库 mongo -u admin -p --authenticationDatabase

Python实现ATM+购物商城

夙愿已清 提交于 2020-11-19 04:55:28
需求: 模拟实现一个ATM + 购物商城程序 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费 5 % 每月 22号出账单,每月 10号为还款日,过期未还,按欠款总额 万分之 5 每日计息 支持多账户登录 支持账户间转账 记录每月日常消费流水 提供还款接口 ATM记录操作日志 提供管理接口,包括添加账户、用户额度,冻结账户等。。。 用户认证用装饰器 实现功能: 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费 5 % 支持多账户登录 记录每月日常消费流水 提供还款接口 ATM记录操作日志 提供管理接口,包括添加账户、用户额度,冻结账户等。。。 用户认证用装饰器 程序结构: atm/ ├── README └── atm #ATM主程目录 ├── __init__.py ├── bin #ATM 执行文件 目录 │ ├── __init__.py │ ├── atm.py #ATM 执行程序 │ └── manage.py #ATM 管理端,未实现 ├── conf #配置文件 │ ├── __init__.py │ └── settings.py ├── core #主要程序逻辑都 在这个目录 里 │ ├── __init__.py │ ├── accounts.py

Python关于PIL库的学习总结与成果展示

冷暖自知 提交于 2020-11-18 23:55:47
一、关于PIL库的学习总结 PIL(Python Image Library)库是Python语言的第三方库,需要通过pip工具安装。安装PIL库的方法如下,需要注意,安装库的名字是pillow。 :\>pip install pillow # 或者 pip3 install pillow PIL库支持图像储存、显示和处理,他能够处理几乎所有图片格式,可以完成对图像的缩放、剪裁、叠加以及向图像添加线条、图像和文字等操作。 PIL库主要可以实现图像归档和图像处理两方面功能需求。 (1)图像归档:对图像进行批处理、生成图像预览、图像格式转换等。 (2)图像处理:图像基本处理、像素处理、颜色处理等。 根据功能不同,PIL库共包括21个与图片相关的类,这些类可以被看作是子库或PIL库中的模块,子库列表如下: Image、ImageChops、ImageColor、ImageCrackCode、ImageDraw、Image Enhance、ImageFile、ImageFileIO、ImageFilter、Image Font、ImageGL、ImageGrab、Imagemath、ImageOps、ImagePalette、ImagePath、ImageQt、ImageSequence、ImageStat、ImageTk、ImageWin 下面是关于PIL库的快速参考图 二、略缩图制作

BUAA_OO Summary——多项式求导问题

断了今生、忘了曾经 提交于 2020-11-18 20:40:25
  从C、DS、计组一路折磨过来, 几乎都在采用过程化、函数式的编程思想。初接触面向对象的项目开发,经过了三周的对多项式求导问题的迭代开发,经历了设计、coding、测评环节,算是对面向对象有了一定的认识,这个过程总结了一些经验,在这里希望和大家一起share,欢迎大家给我提意见。    一、关于代码架构    1、第一次作业      主要设置了3个class   PolyComputer作为主类,进行I/O操作,正则表达式匹配,项的提取,合并同类型,排序这些操作   PolyTerm表示每一项,包含项的基本特征系数和指数,constructor(处理每个String项,提取系数和幂),以及获取和修改系数和指数,转化为String这些Methods.   PolyDerivation继承PolyTerm,修改构造器,继承PolyTerm的Methods.      整体思路分析:   1、在PolyComputer类中,使用正则表达式匹配每一项,并提取项之间的符号。(一项一项匹配可以有效防止爆栈问题,当然还可以使用独占模式进行匹配来避免,我会在后面的作业 使用到,这里推荐一个学习链接 https://blog.csdn.net/weixin_42516949/article/details/80858913 )   2、在PolyComputer类中,把提取出的符号和项进行合并

docker安装并运行mongo

强颜欢笑 提交于 2020-11-18 20:07:21
  拉镜像: [mall@VM_0_7_centos ~]$ sudo docker pull mongo: 3.2 [ sudo ] password for mall: 3.2 : Pulling from library/ mongo a92a4af0fb9c: Pull complete 74a2c7f3849e: Pull complete 927b52ab29bb: Pull complete e941def14025: Pull complete be6fce289e32: Pull complete f6d82baac946: Pull complete 7c1a640b9ded: Pull complete e8b2fc34c941: Pull complete 1fd822faa46a: Pull complete 61ba5f01559c: Pull complete db344da27f9a: Pull complete Digest: sha256:0463a91d8eff189747348c154507afc7aba045baa40e8d58d8a4c798e71001f3 Status: Downloaded newer image for mongo: 3.2 docker.io /library/mongo: 3.2   启动: [mall@VM