【答疑现场】我一个搞嵌入式的,有必要学习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学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...

什么是VR全景技术
VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...
JavaScript 标签加载
目录 JavaScript 标签加载script 标签的 async 和 defer 属性,分别代表什么,有什么区别1. 普通 script 标签2. async 属性3. defer 属性4. type"module"5. 各种加载方式的对比6. 使用建议 JavaScript 标签加载 script 标签的 async 和 defer …...
无需布线的革命:电力载波技术赋能楼宇自控系统-亚川科技
无需布线的革命:电力载波技术赋能楼宇自控系统 在楼宇自动化领域,传统控制系统依赖复杂的专用通信线路,不仅施工成本高昂,后期维护和扩展也极为不便。电力载波技术(PLC)的突破性应用,彻底改变了…...