【答疑现场】我一个搞嵌入式的,有必要学习Python吗?
【答疑现场】我一个搞嵌入式的,有必要学习Python吗?
文章目录
- 1 写在前面
- 2 一个结论
- 3 Python在嵌入式领域能干啥事
- 4 Python是用来干大事的
- 5 友情推荐
- 6 福利活动
大家好,我是架构师李肯,一个专注于嵌入式物联网系统架构设计的攻城狮。
今天我打算结合自己的真实案例,跟大家一起来聊一聊Python与嵌入式的藕断丝连。
1 写在前面
相信很多刚进入大学或者刚应届进入嵌入式开发领域的朋友,都有过这样的一个疑问:我将来是计划搞嵌入式研发的,我有必要去学习Python吗?
这个问题,说起来,肯定是不同人有不同的答案,下面我会结合我个人从事嵌入式研发近10年的工作经历,和大家一起探讨探讨这个话题。
2 一个结论
在读下文之前,我先拎出我的一个结论:搞嵌入式研发,真的非常有必要学习学习Python!
从我刚应届出来那会,说真的,由于我是电子科学与技术专业出身,本身是一个偏硬件的专业,毕业投简历的时候志在嵌入式软件岗位上发光发热,结果阴差阳错,被第一东家以嵌入式硬件工程师的岗位录用,从此走上了上班画板子,下班拿烙铁的苦逼生活。
说来也巧,我进入的团队由于业绩不理想,是一个新兴部门,并且团队内的硬件工程师严重饱和,所以部门领导见我是个可塑之才(一直空白,容易塑造),就想着把我往嵌入式软件工程师的岗位上培养。
这样可把我乐坏了,这不正是我一年前的理想吗?我怎么也得好好干一把,发挥发挥软件开发的优势。
但是,其实那个时候开发嵌入式软件,我是压根不知道有Python这玩意的,由于在学习只学过C语言、C++、汇编语言,而对于Python语言,也仅仅是从团队中资深的老大哥们口中得知的。基本上,大家都是统一口径:Python可牛B了,有必要学好它!
显然,那个时候我并不知道它牛B在哪,也可能无法理解它将会在我的嵌入式开发生涯中,一直伴随着我。
3 Python在嵌入式领域能干啥事
扯了这么多有的没的,下面我将结合我个人的实际工作经历,给大家梳理一下Python在嵌入式领域能干啥事?
-
Python上手快,组件(软件包)非常丰富,平时用于跑一个应用Demo,可以很快就能得到验证。比如我需要测试一下嵌入式终端的客户端网络通讯能力,我可快速用Python打一个网络服务器即可验证。比如我想验证一个ftp文件下载的功能,比如我想验证一个http文件下载的功能,比如我想验证一个MQTT订阅和发布,等等。这些对于Python而已,都是小CASE,有大量的第三方库,一分钟就帮你搭建好整个验证环境。
-
Python是脚本化编程语言,在嵌入式编译构建中,应用非常广泛,大名鼎鼎的 scons 就是完全用Python写的;了解了它之后,你也就不用去学习复杂繁琐的Makefile了
-
Python的还有一大利器,就是应用于嵌入式领域的自动化测试。在嵌入式中,性能测试和功能测试都是非常重要的两个环节,而传统的使用人工去执行测试,不但效果低下,而且容易出错,得不到有效的测试数据。而有了Python,我们就可以利用Python工具来搭建各种自动化测试环境,可以执行性能压力测试、可以执行批量的功能测试、可以挂长负载运行等等测试场景,不但减轻了测试人员的工作强度,也大大提升了研发定位问题的速度,这就是Python带来的好处。
-
如今,嵌入式芯片的运算能力越来越强大了,想要在嵌入式平台上直接跑Python已经编程了一种可能,而MicroPython可能就是一种比较理想的方案。Python 编程语言具有浅薄的学习曲线,这使得开发人员可以非常轻松地开始使用它。当你有一个好的产品想法时,可以很快就用MicroPython实现验证,加速产品商用落地。
以上几点,都是我亲身体会到的优势点,大家还有其他重要用途吗?欢迎大家再评论区补充,我们一起来交流交流Python的牛B。
4 Python是用来干大事的
讲了这么多,你以为Python就仅仅是用于嵌入式领域吗?那你就大错特错了。
从我个人角度出发,我个人认为Python用于人工智能领域,这才是干大事的节奏。
由于我本身不是搞人工智能相关研发的,所以我的观点可能不具备说服力,于是我在某乎上,搜索 Python 人工智能 关键字,得到一个高赞答案,如下图所示:
感兴趣了解全部答案的可以 戳这里 !
看完这个回答,我想各位也应该深入思考一下,如果有志于从事人工智能领域的研发,是不是得把Python给学透了,毕竟那么多优秀的深度学习框架都是用Python来构建的,掌握了它们,也就开启了人工智能的大门。
5 友情推荐
基于Python语言学习人工智能,我留意到最近有一个畅销书非常火爆,它就是**《Python深度学习:基于PyTorch 第2版》**。
相信大家最近都被chat GPT的智能化给震惊到了,那么chat GPT究竟是怎么来的呢?
我这个门外汉搜集了一些资料,简单回答一下:
chat GPT是语言生成模型,是用人工智能技术来生成内容(AI Generated Content,AIGC)中的一种,像图像、视频和语音的生成模型,如VAE、GAN及扩散模型Stable Diffusion、DALL-E2等构成AIGC的另一个分支。这些模型或算法凭借其强大的生成能力,已成为生成模型的一大热门。
chat GPT背后的主要技术从架构、微调等方面来说,主要涉及三个核心技术。
(1)Transformer是底层核心架构,Transformer架构有很好的并发性、可扩展性、长距离依赖等特性。
(2)Codex用于代码、文本生成,可以根据用户描述生成代码,而且因其上下文窗口长达8192,无形中大大提升了整个模型推理能力。
(3)人类反馈强化学习(Reinforcement Learning from Human Feedback,RHFL)模型将预训练语言模型按照人类反馈进一步微调以符合人类偏好,利用人类反馈信息直接优化模型。
而今天我要推荐的这边书,《Python深度学习:基于PyTorch 第2版》,它涉及AIGC技术的核心内容,本书第8章、第14重点介绍了注意力机制及Transformer架构及其应用,第10章、第16章介绍了生成式网络核心架构(如AE、VAE、GAN等),这些架构包括降噪、重参数化等技术,此外,本书还包括目标检测、强化学习等内容。除理论、原理介绍外,还包括大量可动手实践的实例。
同时,本书还配置了丰富的PPT文档,更好地辅助读者朋友了解和实践书中的例程。另外,它还与 《Python深度学习:基于TensorFlow 第2版》 誉为 深度学习领域的双子星,阵容不可谓不强大。
关于本书的更多详细介绍,欢迎来我的 社区帖子 进一步深入了解。
6 福利活动
为了回馈广大粉丝的大力支持,特开展粉丝专属的赠书福利活动,活动详情可见我的 社区帖子:
总共送出3本 畅销书《Python深度学习:基于PyTorch 第2版》,再额外加2个幸运大礼包哦。
还在等什么,一起来参与吧。
相关文章:

【答疑现场】我一个搞嵌入式的,有必要学习Python吗?
【答疑现场】我一个搞嵌入式的,有必要学习Python吗? 文章目录1 写在前面2 一个结论3 Python在嵌入式领域能干啥事4 Python是用来干大事的5 友情推荐6 福利活动大家好,我是架构师李肯,一个专注于嵌入式物联网系统架构设计的攻城狮。…...

MySQL存表报错问题 Incorrect string value
MySQL存表报错问题 Incorrect string value 问题 Incorrect string value: ‘\xF0\xA8\xA5\xA5\xE5\xAD…’ for column ‘xxxxxxx’ at row 1 意思是错误的字符,常出现在添加中文字符的时候。这个问题的产生原因主要是因为一些特色中文字符或者Emoji表情占4个字…...

SAP ABAP DIALOG长文本编辑框
1. 在SCREEN100 中创建一个定制控制(容器),命名为PP *&---------------------------------------------------------------------* *& Report ZTEST_TEXT *& *&---------------------------------------------------------------------* *& *…...

电子技术——负反馈特性
电子技术——负反馈特性 本节我们进一步深入介绍负反馈特性。 增益脱敏性 假设 β\betaβ 是一个常数。考虑下面的微分方程: dAfdA(1Aβ)2dA_f \frac{dA}{(1 A\beta)^2} dAf(1Aβ)2dA 将上式除以 AfA1AβA_f \frac{A}{1A\beta}Af1AβA 得到࿱…...

网站移动端性能优化方法
移动端优化 click 的 300ms 延迟响应 click 的 300ms 延迟是由双击缩放(double tap to zoom)所导致的,由于用户可以进行双击缩放或者双击滚动的操作,当用户一次点击屏幕之后,浏览器并不能立刻判断用户是确实要打开这个链接,还是想要进行双击操作。因此,移动端浏览器就等…...

2023年AI语音会议汇总
2023年,AI语音领域学术会议精彩纷呈,语音之家汇总了国内外重要的会议呈现给大家,大家可根据时间统筹安排好2023年的学术活动交流行程。如果信息有误,欢迎指正。 ICASSP 2023 2023 IEEE International Conference on Acoustics, S…...

Mybatis持久层框架 | Mapper加载方式、目录结构解析
💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Mapper(resource、class、package)加载方式 resource方式加载 通过resource或url加载单个mapper,接口文件与映射文件不在同一路径下,只能用re…...

九龙证券|创业板向未盈利企业敞开大门 考验投行估值定价能力
未盈余企业上市有了新选择。2月17日,全面实行股票发行注册制相关准则规矩发布施行。深交所发布《深圳证券交易所创业板股票上市规矩(2023年修订)》及《关于未盈余企业在创业板上市相关事宜的告诉》,“预计市值不低于50亿元&#x…...

「TCG 规范解读」第12章 TPM工作组 TCG身份验证研讨
可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强在相异计算机平台上的计算环境的安全性。TCG于2003年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Alli…...

Logstash:在 Logstash 管道中的定制的 Elasticsearch update by query
我们知道 Elasticsearch output plugin 为我们在 Logstash 的 pipeline 中向 Elasticsearch 的写入提供了可能。我们可以使用如下的格式向 Elasticsearch 写入数据: elasticsearch {hosts > ["https://localhost:9200"]index > "data-%{YYYY.M…...

Spring Cloud Kubernetes环境下使用Jasypt
前言最近半年着手开始做了基于微服务的中台项目,整个项目的技术栈采用的是Java Spring Cloud Kubernetes Istio。业务开放上还是相当顺利的。但是在安全审核上,运维组提出了一个简易。现在项目一些敏感配置,例如MySQL用户的密码࿰…...

Kotlin-面向对象
本片博客主要写创建对象,创建接口,创建抽象类,data关键字的作用 创建对象 如何声明一个对象,使用class关键字 格式为: class 对象名字(对象属性名:属性类型…){} 如果对象没有函数…...

循环、函数、对象——js基础练习
目录 一、循环练习 1.1 取款机案例 1.2 九九乘法表 1.3 根据数据生成柱形图 1.4 冒泡排序 1.6综合大练习 二、函数 2.1 转换时间案例 三、对象 1. 遍历数组对象 2. 猜数字游戏 3. 生成随机颜色 4. 学成在线页面渲染案例 一、循环练习 1.1 取款机案例 // 准备一个…...

精确控制 AI 图像生成的破冰方案,ControlNet 和 T2I-Adapter
ControlNet 和 T2I-Adapter 的突破性在哪里?有什么区别?其它为 T2I 扩散模型施加条件引导的相关研究ControlNet 和 T2I-Adapter 的实际应用效果如何?使用体验上,跟 SD原生支持的 img2img 有什么区别?ControlNet 在插画…...

让师生“不跑腿”,教育数据治理究竟有何魔力
当前,教育信息化新基础设施正在加紧建设,教育业务系统应用不断推进,各种软硬件平台源源不断地产生着教育数据。海量数据的汇聚和分析,能给教育系统带来什么?如何在教育数字化转型中,探索出基于数据驱动的新…...

力扣-寻找用户推荐人
大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:584. 寻找用户推荐人二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.其他总结前言 一、题目:…...

mmdetection测试阶段
首先需要训练,训练会自动生成:latest.pth 权重文件 根据权重文件生成“.pkl”文件; 下面以faster_rcnn为例,–out是只生成的权重文件地址,result是生成的pkl文件名; python ./tools/test.py ./configs/…...

【无标题】10.货币系统
题目描述: 在网友的国度中共有 n 种不同面额的货币,第 i 种货币的面额为 a[i],你可以 假设每一种货币都有无穷多张。为了方便,我们把货币种数为 n、 面额数组为 a[1..n] 的货币系统记作 (n,a)。 在一个完善的货币系统中,每一个非…...

【c++】类和对象6—运算符重载
文章目录加号()运算符重载左移(<<)运算符重载递增()运算符重载赋值()运算符重载关系运算符重载函数调用运算符重载运算符重载概念: 对已有的运算符重新进行定义&am…...

【SPSS】基础图形的绘制(条形图、折线图、饼图、箱图)详细操作过程
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...

6、Fatfs系统移植
注意:挂载Fatfs笔记 Fatfs系统读写文件的时间是不固定的,随机性 搭载Fatfs的外设通信方式建议开启DMA方式,否则应避免中断打断时序,导致Fatfs出现FR_DISK_ERR(A hard error occurred in the low level disk I/O layer&…...

【数据结构与算法】数据结构的基本概念,时间复杂度
🍉内容专栏:【数据结构与算法】 🍉本文脉络:数据结构和算法的基本概念,时间复杂度 🍉本文作者:Melon西西 🍉发布时间 :2023.2.21 目录 一、引入: 二、数据结…...

【Python】变量类型,赋值+多个变量赋值
嗨害大家好鸭~我是小熊猫(✿◡‿◡) 好像还有一些小伙伴还不是很会python的基础鸭~ 没关系啦~这不是还有我小熊猫嘛 ~ 源码资料电子书:点击此处跳转文末名片获取 Python 变量类型 变量是存储在内存中的值, 这就意味着在创建变量时会在内存中开辟一个空间。 基于…...

Qt基础之二十九:图形视图框架(Graphics View Framework)及其应用
无意中从网络获取一份俄罗斯方块源码,基于图形视图框架(Graphics View Framework)实现的。当然源码的核心从来都不是界面,而是方块的移动、变形和消除等算法。源码非常完整,注释详细,经改动后已能在Qt5中运行,下面是运行效果,背景音乐和音效也是有的。 一.效果 二.原理 …...

电商平台销量查询:2023年1月牛奶乳品热门排行榜
随着人们消费能力的提升以及健康意识的增强,牛奶乳品已经成为居民日常饮食中的重要组成部分,伴随人们整体消费的增长,牛奶乳品行业也越来越成熟。 今年1月份我国牛奶乳品行业的整体趋势如何呢?结合数据我们一同来分析!…...

应用层协议
目录 应用层常见协议 DNS协议 前言 域名结构 DNS服务器分类 DNS的工作原理 DNS工作原理实例 DNS记录 DHCP协议 静态IP与动态IP DHCP协议好处 DHCP分配IP地址的4阶段 电子邮件 邮件的过程 电子邮件发送过程 pop协议特点 IMAP协议的特点 FTP协议 前言 FTP数据…...

Golang调用FFmpeg转换视频流
问题背景 问题背景是在,由于视频采集端使用的是H264编码采集的裸流,而网络流媒体大多是以FLV为主的直播方式进行的,为了实现实时直播,当前是打算直接使用FFmpeg将H264裸流实时转成FLV视频流。 为什么是使用FLV视频流呢,…...

外卖点餐小程序开发
前言 餐饮行业是一个传统的行业。根据当前发展现状,网络信息时代的全面普及,餐饮行业也在发生着变化,单就点餐这一方面,利用手机点单正在逐步进入人们的生活。传统的点餐方式,不仅会耗费大量的人力、时间,有时候还会出错。小程序系统伴随智能手机为我们提供了新的方向。 手机…...

华为OD机试真题Python实现【猴子爬山】真题+解题思路+代码(20222023)
猴子爬山 题目 一天一只顽猴想要从山脚爬到山顶, 途中经过一个有n个台阶的阶梯, 但是这个猴子有个习惯,每一次只跳1步或3步 试问?猴子通过这个阶梯有多少种不同的跳跃方式 🔥🔥🔥🔥🔥👉👉👉👉👉👉 华为OD机试(Python)真题目录汇总 输入 输入只…...

wordpress 网站备份
一个网站从建站完成之日,备份的问题就要提上日程。不论是后期的更换服务器,更换域名,未知故障导致网站崩溃,数据丢失,只要我们有完整的备份,就能将损失降到最低。wordpress网站的备份方法多种多样ÿ…...