钟阳红-Apache Ballista Introduction第三届中国Rust开发者大会 Apache Ballista Introduction 钟阳红 (John Zhong) Software Engineer @ eBay nju_yaho@apache.org Agenda • Overview • Cluster Setup • SQL Execution • Data Cache • Future Apache Ballista0 码力 | 17 页 | 2.66 MB | 1 年前3
2022年美团技术年货 合辑https:// arxiv.org/abs/2205.12740 6. 作者简介 楚怡、凯衡、亦非、程孟、秦皓、一鸣、红亮、林园等,均来自美团基础研发平台 / 视觉智 能部。 算法 < 13 目标检测开源框架 YOLOv6 全面升级, 更快更准的 2.0 版本来啦 作者:楚怡 红亮 梦婕等 9 月 5 日,美团视觉智能部发布了 YOLOv6 2.0 版本,本次更新对轻量级网络进 行了全面升级,量化版模型 用户在数千个异 质站点上的行为刻画。 ● 超高维稀疏性:特征高维稀疏,数据规模庞大,包含了 7 亿个用户、20 亿次 浏览记录。 基于多层级多因子的模型融合方案:针对本次赛题的挑战,我们队采用了基于多层级 多因子的模型融合方案来进行建模。一方面对于异构站点行为,单一模型不易于全 面刻画,另一方面,亿级别的数据规模给多模型的分别优化带来了较大的空间。由 于 FFM 具有强大的特征交 在模型中加入站点嵌入以及空间拓扑结构特征来刻画空间信息,在模型中和天气信息 46 > 2022年美团技术年货 进行拼接以及归一化,从而实现时空联合建模。 图 7 Seq2Seq 模型 (3)模型融合:我们队采用了 Stacking 融合的方式,单个学习器通过不同模型、数 据、建模方式来构建差异性。LightGBM 模型使用了天气质量、历史统计、空间拓扑 等特征,Spatial-temporal Gate0 码力 | 1356 页 | 45.90 MB | 1 年前3
Hello 算法 1.0.0b1 C++版我们将队列头部称为「队首」,队列尾部称为「队尾」,将把元素加入队尾的操作称为「入队」,删除队首元素的 操作称为「出队」。 Figure 5‑4. 队列的先入先出规则 5. 栈与队列 hello‑algo.com 66 5.2.1. 队列常用操作 队列的常用操作见下表,方法名需根据特定语言来确定。 方法名 描述 时间复杂度 push() 元素入队,即将元素添加至队尾 ?(1) poll() poll() 队首元素出队 ?(1) front() 访问队首元素 ?(1) size() 获取队列的长度 ?(1) isEmpty() 判断队列是否为空 ?(1) 我们可以直接使用编程语言实现好的队列类。 // === File: queue.cpp === /* 初始化队列 */ queuequeue; /* 元素入队 */ queue.push(1); queue.push(3); push(3); queue.push(2); queue.push(5); queue.push(4); /* 访问队首元素 */ int front = queue.front(); /* 元素出队 */ queue.pop(); /* 获取队列的长度 */ int size = queue.size(); /* 判断队列是否为空 */ bool empty = queue 0 码力 | 187 页 | 14.71 MB | 1 年前3
Hello 算法 1.0.0b1 Java版我们将队列头部称为「队首」,队列尾部称为「队尾」,将把元素加入队尾的操作称为「入队」,删除队首元素的 操作称为「出队」。 Figure 5‑4. 队列的先入先出规则 5. 栈与队列 hello‑algo.com 67 5.2.1. 队列常用操作 队列的常用操作见下表,方法名需根据特定语言来确定。 方法名 描述 时间复杂度 push() 元素入队,即将元素添加至队尾 ?(1) poll() poll() 队首元素出队 ?(1) front() 访问队首元素 ?(1) size() 获取队列的长度 ?(1) isEmpty() 判断队列是否为空 ?(1) 我们可以直接使用编程语言实现好的队列类。 // === File: queue.java === /* 初始化队列 */ Queuequeue = new LinkedList<>(); /* 元素入队 */ offer(1); queue.offer(3); queue.offer(2); queue.offer(5); queue.offer(4); /* 访问队首元素 */ int peek = queue.peek(); /* 元素出队 */ int poll = queue.poll(); /* 获取队列的长度 */ int size = queue.size(); /* 判断队列是否为空 0 码力 | 186 页 | 14.71 MB | 1 年前3
Hello 算法 1.0.0b1 Swift版我们将队列头部称为「队首」,队列尾部称为「队尾」,将把元素加入队尾的操作称为「入队」,删除队首元素的 操作称为「出队」。 5. 栈与队列 hello‑algo.com 68 Figure 5‑4. 队列的先入先出规则 5.2.1. 队列常用操作 队列的常用操作见下表,方法名需根据特定语言来确定。 方法名 描述 时间复杂度 push() 元素入队,即将元素添加至队尾 ?(1) poll() poll() 队首元素出队 ?(1) front() 访问队首元素 ?(1) size() 获取队列的长度 ?(1) isEmpty() 判断队列是否为空 ?(1) 我们可以直接使用编程语言实现好的队列类。 // === File: queue.swift === /* 初始化队列 */ // Swift 没有内置的队列类,可以把 Array 当作队列来使用 var queue: [Int] append(1) queue.append(3) queue.append(2) queue.append(5) queue.append(4) /* 访问队首元素 */ let peek = queue.first! /* 元素出队 */ // 使用 Array 模拟时 poll 的复杂度为 O(n) let pool = queue.removeFirst() /* 获取队列的长度0 码力 | 190 页 | 14.71 MB | 1 年前3
Hello 算法 1.0.0b1 Python版我们将队列头部称为「队首」,队列尾部称为「队尾」,将把元素加入队尾的操作称为「入队」,删除队首元素的 操作称为「出队」。 Figure 5‑4. 队列的先入先出规则 5.2.1. 队列常用操作 队列的常用操作见下表,方法名需根据特定语言来确定。 方法名 描述 时间复杂度 push() 元素入队,即将元素添加至队尾 ?(1) poll() 队首元素出队 ?(1) front() 访问队首元素 ?(1) que.append(1) que.append(3) que.append(2) que.append(5) que.append(4) """ 访问队首元素 """ front = que[0]; """ 元素出队 """ pop = que.popleft() """ 获取队列的长度 """ size = len(que) """ 判断队列是否为空 """ is_empty 队列需要一种可以在一端添加,并在另一端删除的数据结构,也可以使用链表或数组来实现。 基于链表的实现 我们将链表的「头结点」和「尾结点」分别看作是队首和队尾,并规定队尾只可添加结点,队首只可删除结 点。 5. 栈与队列 hello‑algo.com 63 Figure 5‑5. 基于链表实现队列的入队出队操作 以下是使用链表实现队列的示例代码。 # === File: linkedlist_queue.py ===0 码力 | 178 页 | 14.67 MB | 1 年前3
Hello 算法 1.0.0b1 Golang版我们将队列头部称为「队首」,队列尾部称为「队尾」,将把元素加入队尾的操作称为「入队」,删除队首元素的 操作称为「出队」。 5. 栈与队列 hello‑algo.com 68 Figure 5‑4. 队列的先入先出规则 5.2.1. 队列常用操作 队列的常用操作见下表,方法名需根据特定语言来确定。 方法名 描述 时间复杂度 push() 元素入队,即将元素添加至队尾 ?(1) poll() poll() 队首元素出队 ?(1) front() 访问队首元素 ?(1) size() 获取队列的长度 ?(1) isEmpty() 判断队列是否为空 ?(1) 我们可以直接使用编程语言实现好的队列类。 // === File: queue_test.go === /* 初始化队列 */ // 在 Go 中,将 list 作为队列来使用 queue := list.New() /* PushBack(2) queue.PushBack(5) 5. 栈与队列 hello‑algo.com 69 queue.PushBack(4) /* 访问队首元素 */ peek := queue.Front() /* 元素出队 */ poll := queue.Front() queue.Remove(poll) /* 获取队列的长度 */ size := queue.Len()0 码力 | 190 页 | 14.71 MB | 1 年前3
Hello 算法 1.0.0b2 C++版out」数据操作规则的线性数据结构。顾名思义,队列模 拟的是排队现象,即外面的人不断加入队列尾部,而处于队列头部的人不断地离开。 我们将队列头部称为「队首」,队列尾部称为「队尾」,将把元素加入队尾的操作称为「入队」,删除队首元素的 操作称为「出队」。 Figure 5‑4. 队列的先入先出规则 5. 栈与队列 hello‑algo.com 66 5.2.1. 队列常用操作 队列的常用操作 队列的常用操作见下表。需要注意,不同编程语言的方法名是不同的,在这里我们采用与栈相同的方法命名。 方法名 描述 时间复杂度 push() 元素入队,即将元素添加至队尾 ?(1) pop() 队首元素出队 ?(1) peek() 访问队首元素 ?(1) 我们可以直接使用编程语言实现好的队列类。 // === File: queue.cpp === /* 初始化队列 */ queuequeue; push(1); queue.push(3); queue.push(2); queue.push(5); queue.push(4); /* 访问队首元素 */ int front = queue.front(); /* 元素出队 */ queue.pop(); /* 获取队列的长度 */ int size = queue.size(); /* 判断队列是否为空 */ bool 0 码力 | 197 页 | 15.72 MB | 1 年前3
Hello 算法 1.0.0b2 Java版out」数据操作规则的线性数据结构。顾名思义,队列模 拟的是排队现象,即外面的人不断加入队列尾部,而处于队列头部的人不断地离开。 我们将队列头部称为「队首」,队列尾部称为「队尾」,将把元素加入队尾的操作称为「入队」,删除队首元素的 操作称为「出队」。 Figure 5‑4. 队列的先入先出规则 5. 栈与队列 hello‑algo.com 67 5.2.1. 队列常用操作 队列的常用操作 队列的常用操作见下表。需要注意,不同编程语言的方法名是不同的,在这里我们采用与栈相同的方法命名。 方法名 描述 时间复杂度 push() 元素入队,即将元素添加至队尾 ?(1) pop() 队首元素出队 ?(1) peek() 访问队首元素 ?(1) 我们可以直接使用编程语言实现好的队列类。 // === File: queue.java === /* 初始化队列 */ Queueoffer(1); queue.offer(3); queue.offer(2); queue.offer(5); queue.offer(4); /* 访问队首元素 */ int peek = queue.peek(); /* 元素出队 */ int pop = queue.poll(); /* 获取队列的长度 */ int size = queue.size(); /* 判断队列是否为空 0 码力 | 197 页 | 15.72 MB | 1 年前3
Hello 算法 1.0.0b2 Swift版out」数据操作规则的线性数据结构。顾名思义,队列模 拟的是排队现象,即外面的人不断加入队列尾部,而处于队列头部的人不断地离开。 我们将队列头部称为「队首」,队列尾部称为「队尾」,将把元素加入队尾的操作称为「入队」,删除队首元素的 操作称为「出队」。 5. 栈与队列 hello‑algo.com 68 Figure 5‑4. 队列的先入先出规则 5.2.1. 队列常用操作 队列的常用操作 队列的常用操作见下表。需要注意,不同编程语言的方法名是不同的,在这里我们采用与栈相同的方法命名。 方法名 描述 时间复杂度 push() 元素入队,即将元素添加至队尾 ?(1) pop() 队首元素出队 ?(1) peek() 访问队首元素 ?(1) 我们可以直接使用编程语言实现好的队列类。 // === File: queue.swift === /* 初始化队列 */ // Swift 没有内置的队列类,可以把 append(1) queue.append(3) queue.append(2) queue.append(5) queue.append(4) /* 访问队首元素 */ let peek = queue.first! /* 元素出队 */ // 由于是数组,因此 removeFirst 的复杂度为 O(n) let pool = queue.removeFirst() /* 获取队列的长度0 码力 | 199 页 | 15.72 MB | 1 年前3
共 155 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16













