4 Python机器学习性能优化Python机器学习性能优化 以BERT服务为例例,从1到1000 刘欣 ⽬目录 CONTENTS 1. 优化的哲学 2. 了解你的资源 3. 定位性能瓶颈 4. 动⼿优化 1. 优化的哲学 "There ain't no such thing as a free lunch" Ahmdal’s Law • 系统整体的优化,取决于热点部分的占⽐比和该部分的加速程度 No Free Flask Production Server • gunicorn 多进程解决多核利利⽤用率问题 • gevent 协程替代多线程⽹网络模型 • 更更⾼高效的序列列化lib 3 定位性能瓶颈 Profile before Optimizing Python Profilers • time.time() • cProfile • line profiler • pyflame 放个截图 cProfile • 倒序打印 & graph pyflame • 插桩 or 采样 • 放个flamegraph • 开源地址 wrk • 制造压⼒力力 • 挖掘整体性能瓶颈 • 实现⾮非常精妙的压⼒力力⼯工具,强烈烈安利利(要不不要写个py binding) 4 动⼿优化 多线程服务器的问题 • 每个请求单独进GPU,利利⽤用率不不⾼高 • ⼤大量量请求并⾏行行,CUDA会爆0 码力 | 38 页 | 2.25 MB | 1 年前3
4_杨柳_基于Python构建高稳定可扩展的自动化测试集群0 码力 | 62 页 | 25.29 MB | 1 年前3
3 Thautwarm 解放python的表达力 性能和安全性 语法和语义扩展 JIT 静态检查解放Python的 表达力,性能和安全性 Thautwarm 目录 CONTENTS 语法和语义扩展 JIT 静态类型 语法和语义扩展 表达力的扩展, 可用性的保留,白来的午餐? 演示一小部分: 模式匹配, Quick Lambda, Pipe运算 语言决定思维模型 GNU-APL C++ Haskell 说 到 质 数 � 人 们 想 到 什 么 � 语言决定思维模型 检查类型的pattern (a, *b, c): 匹配tuple [a, *b, c]: 匹配列表 演示 Pattern-Matching 基于template-python扩展实现。 性能比Pampy高数量级倍。 简单直接的自定义pattern,真实的tree pattern matching。 Match的每个分支是语句而不是表达力有限的表达式。 … benchmark.py 而基本上编译器0优化的Cython端, 你模拟栈后, 还远不如Python解释器快, 所以必须写分析去掉栈机语义。 那用Julia后端就可以不写了? 来谈后端的问题。 Julia Cython 常见性能提升 100x 1-10x 小函数JIT 比Python慢1000倍 比Python快50% 启动时间 10s以上, “JAOT” 没有,调编译器快 循环折叠 有 有 Debug现场? 每次打log等待30s0 码力 | 43 页 | 10.71 MB | 1 年前3
PyConChina2022-杭州-ARM芯片的Python+AI算力优化-朱宏林上。然而综合考虑到功耗、成本、性能等因素,云厂商们开始建设 ARM 架构的服务平台,如 何整合 Python + AI 的相关软件并使其在该平台上发挥最高的性能成为了工程师们关注的焦点。 • 矩阵乘法是深度学习计算的重要组成部分,我们利用 ARM 架构新提供的矩阵扩展对 bf16 类型的 矩阵乘法计算进行优化,该优化将纯矩阵乘法的运算速度提升 3 倍以上,对深度学习推理任务性能 提升明显。目前,该成果已经被集成进 set_float32_fast_math_mode("BF16") 性能测试 • OpenBLAS 矩阵乘法测试 • 阿里云 ECS g8y(倚天 710)单线程 FP32 vs BF16 • MNK:2000, 2000, 2000 • GFLOPS • 每秒浮点数计算次数,G(十亿次) • 2MNK / Times 性能测试 • 平台 • 阿里云 ECS g8y vs g7(Ice g7(Ice Lake) • 8vCPUs • TensorFlow 推理测试 • ResNet-50 • batch size 32 • PyTorch 推理测试 • Mask R-CNN • 每张图像耗时 最佳实践 • TensorFlow • Official(latest) • pip install tensorflow == 2.10.1 或者 == 2.11.0 • 阿里云0 码力 | 24 页 | 4.00 MB | 1 年前3
Django、Vue 和Element UI 前后端原理论述1 《51 测试天地》七十四 www.51testing.com 这是一篇什么文章? 一篇你对测试开发工作感兴趣,想了解系统工作逻辑的文章。 一篇是你在开始动手搭建环境前需要了解各工具原理的文章。 这是一篇你真正开始前需要查阅的文章。 本文介绍了前后端工作原理,前后端搭建的流程、搭建过程中需要用到的技术以及 开发环境版本。 一、前后端如何工作 Django、Vue 和 Element Element UI 前后 端原理论述 作者:M&T. 2 《51 测试天地》七十四 www.51testing.com 后端开发(Django+Rest Framework+MySQL): Django 负责处理 HTTP 请求和响应,以及 URL 路由的配置。它接收来自前端的 HTTP 请求,并根据 URL 将请求分发给相应的视图函数进行处理。 Rest Framework 是 Django 的解耦,使得各自的 开发工作更加专注和高效。前端负责用户界面的呈现和交互,后端负责数据处理和业务 逻辑,通过 API 接口进行数据传输和交互,从而实现一个完整的 Web 应用。 3 《51 测试天地》七十四 www.51testing.com 二、搭建流程 2.1 后端搭建流程 安装相关包->创建工程->后端依赖(pipenv)创建虚拟环境->后端服务配置启动->后 端创建子应用->后端0 码力 | 61 页 | 6.84 MB | 1 年前3
Python 标准库参考指南 3.13 bisect --- 数组二分算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 8.7.1 性能说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 8.7.2 搜索有序列表 8 限制全局变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 12.1.9 性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 12.1 4 类的层次结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682 16.2.5 性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691 16.30 码力 | 2246 页 | 11.74 MB | 9 月前3
Python 标准库参考指南 3.13 bisect --- 数组二分算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 8.7.1 性能说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 8.7.2 搜索有序列表 8 限制全局变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 12.1.9 性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 12.1 4 类的层次结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678 16.2.5 性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687 16.30 码力 | 2242 页 | 11.73 MB | 9 月前3
Python 标准库参考指南 3.12 bisect --- 数组二分算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 8.7.1 性能说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 8.7.2 搜索有序列表 8 限制全局变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 12.1.9 性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 12.1 4 类的层次结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654 16.2.5 性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663 16.30 码力 | 2253 页 | 11.81 MB | 9 月前3
Python 标准库参考指南 3.12 bisect --- 数组二分算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 8.7.1 性能说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 8.7.2 搜索有序列表 8 限制全局变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 12.1.9 性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 12.1 4 类的层次结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654 16.2.5 性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663 16.30 码力 | 2253 页 | 11.81 MB | 9 月前3
Python 标准库参考指南 3.10.15 bisect --- 数组二分查找算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 8.7.1 性能说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 iii 8.7 8 限制全局变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 12.1.9 性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 12.1 4 类的层次结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597 16.2.5 性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606 16.30 码力 | 2072 页 | 10.39 MB | 9 月前3
共 165 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17













