02 黄盈樟 MicroPython与硬件开发
MicroPython与硬件开发 黄盈樟 个人简介 2019年11月10日8时10分 资深嵌入式开发工程师,近几年的工作领域为开源无人机系统应用、物联网全系统 应用,擅长语言是C/C++/Python, 曾于国内多个重点大学开展无人机应用项目, 在国内多所二本院校担任物联网专业的课程讲师。 目录 CONTENTS 硬件发展史与开发语言 MicroPython发展史 MicroPython实例 MicroPython实例 物联网全栈开发 1 硬件发展史与开发语言 根据摩尔定律的发展,硬件的性能越来越好,随之对开发语言的 要求也越高。 电子管时代 中小型机时代 嵌入式系统时代 物联网时代 2 MicroPython发展史 MicroPython的缘起,在教育领域中的应用。 MicroPython发明者 • Damien George Mu编辑器及MicroPython贡献者 • • Exceptions • with , yield from, etc. • 增加 3.5’s async and await。 • 根据嵌入式运行环境,增加了硬件专用库和删减了部分库。 MicroPython支持的硬件开发板 • PyBoard • WiPy • ESP8266 • ESP32 • STM32F4 • NUCLEO boards • Espruino Pico Mi0 码力 | 23 页 | 1.77 MB | 1 年前307 FPGA 助力Python加速计算 陈志勇
人工智能、数据分析等 Ø Python 的生态环境:软件平台、硬件平台、方案合作伙伴 等 Ø 用 Python 如何开发嵌入式产品?如何实现 算法硬件加速? Ø 之前基于python开发的工程师很少接触嵌入式环境, 接触硬件 Ø 本次题目的主要内容 Ø Python <- tools -> FPGA Ø 算法硬件加速:用FPGA的逻辑硬件实现算法加速 Ø 算法如何在FPGA 中实现?如何用”与或非”门电路去 新的嵌入式计算平台:MCU,DSP,FPGA,GPU、ASSP等 Ø 嵌入式计算: Ø 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统对功能、可靠 性、成本、体积、功耗有严格要求的专用计算机系统,它一般由嵌入式微处理器、外围硬件设备、 嵌入 式操作系统以及用户的应用程序等四个部分组成。 Ø 嵌入式系统促使计算机的形态和性能更加小型化,多功能,低功耗. Ø 加速计算: Array)是在PAL、GAL等可编程器件的基础上进一步发展的 产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路 的不足,又克服了原有可编程器件门电路数有限的缺点。 Ø 设计语言:硬件描述语言(HDL)是一种用来设计数字逻辑系统和描述数字电路的语言,常用 的主要有VHDL、Verilog HDL Ø 信号处理:数据可以并行处理 Ø 主要实现功能: Ø 组合逻辑 -》计数器 -》算法实现0 码力 | 34 页 | 6.89 MB | 1 年前3FPGA助力Python加速计算 陈志勇
人工智能、数据分析等 ➢ Python 的生态环境:软件平台、硬件平台、方案合作伙伴等 ➢ 用 Python 如何开发嵌入式产品?如何实现 算法硬件加速? ➢ 之前基于python开发的工程师很少接触嵌入式环境, 接触硬件 ➢ 本次题目的主要内容 ➢ Python <- tools -> FPGA ➢ 算法硬件加速:用FPGA的逻辑硬件实现算法加速 ➢ 算法如何在FPGA 中实现?如何用”与或非”门电路去写 新的嵌入式计算平台:MCU,DSP,FPGA,GPU、ASSP等 ➢ 嵌入式计算: ➢ 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统对功能、可靠 性、成本、体积、功耗有严格要求的专用计算机系统,它一般由嵌入式微处理器、外围硬件设备、 嵌入 式操作系统以及用户的应用程序等四个部分组成。 ➢ 嵌入式系统促使计算机的形态和性能更加小型化,多功能,低功耗. ➢ 加速计算: Array)是在PAL、GAL等可编程器件的基础上进一步发展的 产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路 的不足,又克服了原有可编程器件门电路数有限的缺点。 ➢ 设计语言:硬件描述语言(HDL)是一种用来设计数字逻辑系统和描述数字电路的语言,常用 的主要有VHDL、Verilog HDL ➢ 信号处理:数据可以并行处理 ➢ 主要实现功能: ➢ 组合逻辑 -》计数器 -》算法实现0 码力 | 34 页 | 4.19 MB | 1 年前32_FPGA助力Python加速计算_陈志勇
人工智能、数据分析等 Ø Python 的生态环境:软件平台、硬件平台、方案合作伙伴等 Ø 用 Python 如何开发嵌入式产品?如何实现 算法硬件加速? Ø 之前基于python开发的工程师很少接触嵌入式环境, 接触硬件 Ø 本次题目的主要内容 Ø Python <- tools -> FPGA Ø 算法硬件加速:用FPGA的逻辑硬件实现算法加速 Ø 算法如何在FPGA 中实现?如何用”与或非”门电路去写 新的嵌入式计算平台:MCU,DSP,FPGA,GPU、ASSP等 Ø 嵌入式计算: Ø 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统对功能、可靠 性、成本、体积、功耗有严格要求的专用计算机系统,它一般由嵌入式微处理器、外围硬件设备、 嵌入 式操作系统以及用户的应用程序等四个部分组成。 Ø 嵌入式系统促使计算机的形态和性能更加小型化,多功能,低功耗. Ø 加速计算: Array)是在PAL、GAL等可编程器件的基础上进一步发展的 产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路 的不足,又克服了原有可编程器件门电路数有限的缺点。 Ø 设计语言:硬件描述语言(HDL)是一种用来设计数字逻辑系统和描述数字电路的语言,常用 的主要有VHDL、Verilog HDL Ø 信号处理:数据可以并行处理 Ø 主要实现功能: Ø 组合逻辑 -》计数器 -》算法实现0 码力 | 33 页 | 8.99 MB | 1 年前3PyConChina2022-上海-基于Python的深度学习框架设计与实现-刘凡平
的算法封装、数据调用以及计算资源的使用,同时面向开发者提供了开发界面和高效的执行平台,是算法工 程师的必备工具之一。 美国互联网对AI底层技术战略性投入力度较大,但中国的AI产业主要受需求拉动,大多数人工智能 公司布局应用层。 一、背景:深度学习框架的演进 一、背景:深度学习框架的重要性 二、原理:深度学习框架结构 ����� ��������� � � � ����� ���������� ������� ���� ����� ���� ��� 面向应用服务提供解 决方案或一般性方法。 提供模型生命周期中 科配置的各类功能组件。 实现框架最基础、最 核心的功能,帮助开发者 屏蔽底层硬件技术细节。 三、设计:最小化的深度学习框架 从模型的设计者角度思考,一个模型设计的最小使用内容。 三、设计:最小MVP深度学习框架的层次逻辑 � � � � Datasets DataLoader0 码力 | 15 页 | 2.40 MB | 1 年前3Hello 算法 1.0.0b4 Python版
示例题目等。 0. 前言 hello‑algo.com 2 Figure 0‑1. Hello 算法内容结构 0.1.3. 致谢 在本书的创作过程中,我得到了许多人的帮助,包括但不限于: ‧ 感谢我在公司的导师李汐博士,在一次畅谈中您鼓励我“快行动起来”,坚定了我写这本书的决心。 ‧ 感谢我的女朋友泡泡作为本书的首位读者,从算法小白的角度提出许多宝贵建议,使得本书更适合新 手阅读。 ‧ 感谢腾 B,它们都能解决同一问题,现在需要对比这两个算法的效率。我们最直接的 方法就是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够 反映真实情况,但也存在较大局限性。 难以排除测试环境的干扰因素。硬件配置会影响算法的性能表现。例如,在某台计算机中,算法 A 的运行时 间比算法 B 短;但在另一台配置不同的计算机中,我们可能得到相反的测试结果。这意味着我们需要在各种 机器上进行测试,而这是不现实的。 成简单案例的复杂度分析。 2.2. 时间复杂度 2.2.1. 统计算法运行时间 运行时间可以直观且准确地反映算法的效率。然而,如果我们想要准确预估一段代码的运行时间,应该如何 操作呢? 1. 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns,乘法操作 * 需要 10 ns,打印操作需要 5 ns 等。0 码力 | 329 页 | 27.34 MB | 1 年前3Hello 算法 1.0.0b5 Python版
示例题目等。 第 0 章 前言 hello‑algo.com 3 图 0‑1 Hello 算法内容结构 0.1.3 致谢 在本书的创作过程中,我得到了许多人的帮助,包括但不限于: ‧ 感谢我在公司的导师李汐博士,在一次畅谈中您鼓励我“快行动起来”,坚定了我写这本书的决心。 ‧ 感谢我的女朋友泡泡作为本书的首位读者,从算法小白的角度提出许多宝贵建议,使得本书更适合新 手阅读。 ‧ 感谢腾 ,它们都能解决同一问题,现在需要对比这两个算法的效率。最直接的方法 是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够反映真 实情况,但也存在较大局限性。 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能表现。比如在某台计算机中,算法 A 的 运行时间比算法 B 短;但在另一台配置不同的计算机中,我们可能得到相反的测试结果。这意味着我们需要 在各种机器上进行测试,统计平均效率,而这是不现实的。 题,因为它们非常适合用分治思想进行分 析。 2.3 时间复杂度 运行时间可以直观且准确地反映算法的效率。如果我们想要准确预估一段代码的运行时间,应该如何操作 呢? 1. 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns,乘法操作 * 需要 10 ns,打印操作 print() 需要0 码力 | 361 页 | 30.64 MB | 1 年前3Hello 算法 1.1.0 Python版
night‑cruise、nuomi1 和 Reanon 完成(按照首字母顺序排列)。感谢他们付出的时间与精力,正是他们确 保了各语言代码的规范与统一。 在本书的创作过程中,我得到了许多人的帮助。 ‧ 感谢我在公司的导师李汐博士,在一次畅谈中你鼓励我“快行动起来”,坚定了我写这本书的决心; ‧ 感谢我的女朋友泡泡作为本书的首位读者,从算法小白的角度提出许多宝贵建议,使得本书更适合新 手阅读; ‧ 感谢腾 个算法的效率。最直接的方法 是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够反映真 实情况,但也存在较大的局限性。 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能。比如在某台计算机中,算法 A 的运行 时间比算法 B 短;但在另一台配置不同的计算机中,可能得到相反的测试结果。这意味着我们需要在各种机 器上进行测试,统计平均效率,而这是不现实的。 衡两者的优劣并根据情境选择合适的方 法至关重要。 2.3 时间复杂度 运行时间可以直观且准确地反映算法的效率。如果我们想准确预估一段代码的运行时间,应该如何操作呢? 1. 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns ,乘法操作 * 需要 10 ns ,打印操作 print()0 码力 | 364 页 | 18.42 MB | 1 年前3Hello 算法 1.0.0 Python版
e、 nuomi1 和 Reanon 完成(按照首字母顺序排列)。感谢他们付出的时间与精力,正是他们确保了各语言代 码的规范与统一。 在本书的创作过程中,我得到了许多人的帮助。 ‧ 感谢我在公司的导师李汐博士,在一次畅谈中你鼓励我“快行动起来”,坚定了我写这本书的决心; ‧ 感谢我的女朋友泡泡作为本书的首位读者,从算法小白的角度提出许多宝贵建议,使得本书更适合新 手阅读; ‧ 感谢腾 个算法的效率。最直接的方法 是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够反映真 实情况,但也存在较大的局限性。 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能。比如在某台计算机中,算法 A 的运行 时间比算法 B 短;但在另一台配置不同的计算机中,可能得到相反的测试结果。这意味着我们需要在各种机 器上进行测试,统计平均效率,而这是不现实的。 衡两者的优劣并根据情境选择合适的方 法至关重要。 2.3 时间复杂度 运行时间可以直观且准确地反映算法的效率。如果我们想准确预估一段代码的运行时间,应该如何操作呢? 1. 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns ,乘法操作 * 需要 10 ns ,打印操作 print()0 码力 | 362 页 | 17.54 MB | 1 年前3Hello 算法 1.2.0 简体中文 Python 版
mi1、Reanon 和 rongyi 完成(按照首字母顺序排列)。感谢他们付出的时间 与精力,正是他们确保了各语言代码的规范与统一。 在本书的创作过程中,我得到了许多人的帮助。 ‧ 感谢我在公司的导师李汐博士,在一次畅谈中你鼓励我“快行动起来”,坚定了我写这本书的决心; ‧ 感谢我的女朋友泡泡作为本书的首位读者,从算法小白的角度提出许多宝贵建议,使得本书更适合新 手阅读; ‧ 感谢腾 个算法的效率。最直接的方法 是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够反映真 实情况,但也存在较大的局限性。 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能表现。比如一个算法的并行度较高,那 么它就更适合在多核 CPU 上运行,一个算法的内存操作密集,那么它在高性能内存上的表现就会更好。也 就是说,算法在不同的机器上的测试结果可 衡两者的优劣并根据情境选择合适的方 法至关重要。 2.3 时间复杂度 运行时间可以直观且准确地反映算法的效率。如果我们想准确预估一段代码的运行时间,应该如何操作呢? 1. 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns ,乘法操作 * 需要 10 ns ,打印操作 print()0 码力 | 364 页 | 18.43 MB | 10 月前3
共 54 条
- 1
- 2
- 3
- 4
- 5
- 6