Python的智能问答之路 张晓庆 结构 • python对象取值仅对应C结构的一个属性 • 附加字段、引用指针均消耗内存 • 解决方案:c++封装kv存储,编译成so供python调用,内部采用unordered_map实现 • 提升:1g文件,python load dict占用5~6g,kvdict存储占用1~1.5g 对象 占用子节(sys.getsizeof) int 28 float 24 string 50 总结、期望 总结 理解业务,对问题 进行合理建模 选择合适的语言完 成任务 由浅入深稳步迭代: 建立数据、模型、 FEEDBACK的闭环 持续性学习以及拥 抱技术 期望 基础组件性能优化:存储、访问 语言本身支持更多的协程、高并发、多核 THANK YOU0 码力 | 28 页 | 2.60 MB | 1 年前3
Python3 基础教程 - 廖雪峰........................................................................................... 285 分布式进程 ................................................................................................ 于很大或很小的浮点数,就必须用科学计数法表示,把 10 用 e 替代, 1.23x109 就是 1.23e9,或者 12.3e8,0.000012 可以写成 1.2e-5,等等。 整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确 的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五 入的误差。 字符串 Python3 基础教程【完整版】 http://www.yeayee 支持多种数据类型,在计算机内部,可以把任何数据都看成一个 “对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就 是把数据和变量给关联起来。 注意:Python 的整数没有大小限制,而某些语言的整数根据其存储长度 是有大小限制的,例如 Java 对 32 位整数的范围限制在 -2147483648-2147483647。 Python 的浮点数也没有大小限制,但是超出一定范围就直接表示为 inf0 码力 | 531 页 | 5.15 MB | 1 年前3
07 FPGA 助力Python加速计算 陈志勇HDL Ø 信号处理:数据可以并行处理 Ø 主要实现功能: Ø 组合逻辑 -》计数器 -》算法实现 -》SOC 设计 Ø 新一代FPGA器件:高速接口、ARM SOC、多个 IP 硬核、大容量存储器等 Ø 新一代PCIE加速卡:人工智能、金融计算、数据库、高性能计算、视频转码等。 Ø 主要应用: Ø 通信设备:路由器、交换机、5G 设备 Ø 工业市场:工业伺服、控制器、安防相机、机器视觉、超声设备等。 大家对硬件加速的最初印象 Ø 不仅是嵌入式系统 软件仿真和硬件仿真 7 Ø 近期很热门的话题 Ø 目的:提高算法计算效率,缩短算法开发时间和验证时间 Ø 加速框架: Ø 分布式计算:多节点计算 Ø 并行计算:多处理器、多线程计算 Ø 分布式计算引擎:Spark Ø 并行计算语言(函数式编程):Scala Ø 加速方法: Ø 算法的优化 Ø 算法的并行化 Ø CPU: 多核 CPU Ø GPU: 多核处理器 HDL:硬件描述语言 (Verilog, VHDL),通过与或非 门、触发器等逻辑电路实现一些特定的功能。 Ø 最核心技术:算法并行处理。相比于传统CPU的串 行处理架构 Ø 存储器架构:芯片内有大容量存储器,不需要和外 面的 DDR 做反复读写。 Ø DSP 硬核:硬核乘加器,一个时钟实现。 Ø 数据的处理以FPGA 时钟 cycle 来计算的 Ø 100M 时钟,10ns Ø D0 码力 | 34 页 | 6.89 MB | 1 年前3
2_FPGA助力Python加速计算_陈志勇HDL Ø 信号处理:数据可以并行处理 Ø 主要实现功能: Ø 组合逻辑 -》计数器 -》算法实现 -》SOC 设计 Ø 新一代FPGA器件:高速接口、ARM SOC、多个 IP 硬核、大容量存储器等 Ø 新一代PCIE加速卡:人工智能、金融计算、数据库、高性能计算、视频转码等。 Ø 主要应用: Ø 通信设备:路由器、交换机、5G 设备 Ø 工业市场:工业伺服、控制器、安防相机、机器视觉、超声设备等。 大家对硬件加速的最初印象 Ø 不仅是嵌入式系统 软件仿真和硬件仿真 7 Ø 近期很热门的话题 Ø 目的:提高算法计算效率,缩短算法开发时间和验证时间 Ø 加速框架: Ø 分布式计算:多节点计算 Ø 并行计算:多处理器、多线程计算 Ø 分布式计算引擎:Spark Ø 并行计算语言(函数式编程):Scala Ø 加速方法: Ø 算法的优化 Ø 算法的并行化 Ø CPU: 多核 CPU Ø GPU: 多核处理器 HDL:硬件描述语言 (Verilog, VHDL),通过与或非 门、触发器等逻辑电路实现一些特定的功能。 Ø 最核心技术:算法并行处理。相比于传统CPU的串 行处理架构 Ø 存储器架构:芯片内有大容量存储器,不需要和外 面的 DDR 做反复读写。 Ø DSP 硬核:硬核乘加器,一个时钟实现。 Ø 数据的处理以FPGA 时钟 cycle 来计算的 Ø 100M 时钟,10ns Ø D0 码力 | 33 页 | 8.99 MB | 1 年前3
FPGA助力Python加速计算 陈志勇 HDL ➢ 信号处理:数据可以并行处理 ➢ 主要实现功能: ➢ 组合逻辑 -》计数器 -》算法实现 -》SOC 设计 ➢ 新一代FPGA器件:高速接口、ARM SOC、多个 IP 硬核、大容量存储器等 ➢ 新一代PCIE加速卡:人工智能、金融计算、数据库、高性能计算、视频转码等。 ➢ 主要应用: ➢ 通信设备:路由器、交换机、5G 设备 ➢ 工业市场:工业伺服、控制器、安防相机、机器视觉、超声设备等。 大家对硬件加速的最初印象 ➢ 不仅是嵌入式系统 软件仿真和硬件仿真 7 ➢ 近期很热门的话题 ➢ 目的:提高算法计算效率,缩短算法开发时间和验证时间 ➢ 加速框架: ➢ 分布式计算:多节点计算 ➢ 并行计算:多处理器、多线程计算 ➢ 分布式计算引擎:Spark ➢ 并行计算语言(函数式编程):Scala ➢ 加速方法: ➢ 算法的优化 ➢ 算法的并行化 ➢ CPU: 多核 CPU ➢ GPU: 多核处理器 HDL:硬件描述语言 (Verilog, VHDL),通过与或非 门、触发器等逻辑电路实现一些特定的功能。 ➢ 最核心技术:算法并行处理。相比于传统CPU的串 行处理架构 ➢ 存储器架构:芯片内有大容量存储器,不需要和外 面的 DDR 做反复读写。 ➢ DSP 硬核:硬核乘加器,一个时钟实现。 ➢ 数据的处理以FPGA 时钟 cycle 来计算的 ➢ 100M 时钟,10ns ➢ D0 码力 | 34 页 | 4.19 MB | 1 年前3
8 4 Deep Learning with Python 费良宏 4个NVIDIA GRID GPUs, 每1个包括了 1,536 CUDA cores 以 及 4 GB of video 32 vCPUs 60 GB内存 240 GB (2 x 120) of SSD 存储 深度学习的应用环境 深度学习的应用环境 - 安装和配置 sudo yum updat sudo yum install git python-nose 深度学习的应用环境- THEANO 我的第一个Theano 程序 深度学习的应用环境- THEANO GPU vs. CPU TENSORFLOW 的新进展 分布式的深度学习框架 TENSORFLOW 的新进展 分布式的深度学习框架 工程化思维 VS. 科学化思维 THINK GREAT THOUGHTS AND YOU WILL BE GREAT. 心怀伟大,你将会变得伟大!0 码力 | 49 页 | 9.06 MB | 1 年前3
peewee Documentation
Release 3.5.0SqliteExtDatabase(':memory:') >>> class KV(Model): ... key = TextField() ... value = JSONField() ... class Meta: ... database = db ... >>> KV.create_table() Storing data works as you Peewee: >>> KV.create(key='a', value={'k1': 'v1'}) <KV: 1> >>> KV.get(KV.key == 'a').value {'k1': 'v1'} We can access specific parts of the JSON data using dictionary lookups: >>> KV.get(KV.value['k1'] update a JSON value in-place using the update() method: >>> KV.update(value=KV.value.update({'k1': 'v1-x', 'k2': 'v2'})).execute() 1 >>> KV.get(KV.key == 'a').value {'k1': 'v1-x', 'k2': 'v2'} We can also0 码力 | 347 页 | 380.80 KB | 1 年前3
peewee Documentation
Release 3.5.0>>> db = SqliteExtDatabase(':memory:') >>> class KV(Model): ... key = TextField() ... value = JSONField() ... class Meta: ... database = db ... >>> KV.create_table() Storing data works as you might Peewee: >>> KV.create(key='a', value={'k1': 'v1'}) <KV: 1> >>> KV.get(KV.key == 'a').value {'k1': 'v1'} We can access specific parts of the JSON data using dictionary lookups: >>> KV.get(KV.value['k1'] update a JSON value in-place using the update() method: >>> KV.update(value=KV.value.update({'k1': 'v1-x', 'k2': 'v2'})).execute() 1 >>> KV.get(KV.key == 'a').value {'k1': 'v1-x', 'k2': 'v2'} We can also0 码力 | 282 页 | 1.02 MB | 1 年前3
peewee Documentation Release 3.6.0SqliteExtDatabase(':memory:') >>> class KV(Model): ... key = TextField() ... value = JSONField() ... class Meta: ... database = db ... >>> KV.create_table() Storing data works as you Peewee: >>> KV.create(key='a', value={'k1': 'v1'}) <KV: 1> >>> KV.get(KV.key == 'a').value {'k1': 'v1'} We can access specific parts of the JSON data using dictionary lookups: >>> KV.get(KV.value['k1'] the update() method. Note that “k1=v1” is preserved: >>> KV.update(value=KV.value.update({'k2': 'v2', 'k3': 'v3'})).execute() 1 >>> KV.get(KV.key == 'a').value {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'} We0 码力 | 377 页 | 399.12 KB | 1 年前3
peewee Documentation
Release 3.6.0extension: >>> from playhouse.sqlite_ext import * >>> db = SqliteExtDatabase(':memory:') >>> class KV(Model): ... key = TextField() ... value = JSONField() (continues on next page) 178 Chapter 1. Contents: database = db ... >>> KV.create_table() Storing data works as you might expect. There’s no need to serialize dictionaries or lists as JSON, as this is done automatically by Peewee: >>> KV.create(key='a', value={'k1': value={'k1': 'v1'}) <KV: 1> >>> KV.get(KV.key == 'a').value {'k1': 'v1'} We can access specific parts of the JSON data using dictionary lookups: >>> KV.get(KV.value['k1'] == 'v1').key 'a' It’s possible0 码力 | 302 页 | 1.02 MB | 1 年前3
共 146 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15













