【答疑现场】我一个搞嵌入式的,有必要学习Python吗?

news2025/1/30 16:26:14

【答疑现场】我一个搞嵌入式的,有必要学习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个幸运大礼包哦。

还在等什么,一起来参与吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/363294.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FPGA纯vhdl实现MIPI CSI2 RX视频解码输出,OV13850采集,提供工程源码和技术支持

目录1、前言2、Xilinx官方主推的MIPI解码方案3、纯Vhdl方案解码MIPI4、vivado工程介绍5、上板调试验证6、福利:工程代码的获取1、前言 FPGA图像采集领域目前协议最复杂、技术难度最高的应该就是MIPI协议了,MIPI解码难度之高,令无数英雄竞折腰…

Hive---浅谈Hive

浅谈Hive 文章目录浅谈HiveHive文件映射Hive组件元数据(Metadata)元数据存储元数据服务(Metastore)Metastore配置方式Metastore远程模式Hive启动方式第一种(本地)第二种beelineHive Apache Hive作为一款大…

电子作业指导书系统能树立良好的生产形象

“制造”就是以规定的成本、规定的工时、生产出品质均匀、符合规格的产品。从全球新能源汽车的发展来看,其动力电源主要包括锂离子电池、镍氢电池、铅酸电池、超级电容器,其中超级电容器大多以辅助动力源的形式出现。那么,电子作业指导书系统…

吐血整理AutoSAR Com-Stack 的配置【基于ETAS】

总目录链接>> AutoSAR入门和实战系列总目录 文章目录01.软件组件和系统说明02.基本软件配置03.系统数据映射04.代码生成05.代码整合06.测试下图显示了基于 AUTOSAR 的 ECU SW 的结构。纵观BSW,大体分为三层。三层模块中,与通信相关的模块称为通信…

修改一个对象的所有者

警示:本文需要你懂点儿 “技术”。 修改一个对象(例如一个文件)的所有者看起来不是很复杂:你只需要调用 SetNamedSecurityInfo 并传入一个新的安全描述符就可以了,是的,就是这么简单。 难点在于,你如何到达这个调用时…

分布式之Quorum NWR算法

写在前面 假设现在我们实现了AP 系统,但是公司突然要对某些业务进行实时的数据计算,并且要求按照强一致性的方式来读取数据,此时作为系统设计这的我们该怎么办呢?单独为这部分业务实时抽出最新数据?还是修改原有系统&…

个人服务器+博客网站搭建

实现目标: 远程访问windows远程访问linux并在该环境开发(ssh)个人博客网站运 环境准备 准备一台性能较好的个人电脑,推荐台式机,仅在环境搭建初期需要显示器,后期使用基本不需要屏幕。规划好磁盘使用&…

从0探索NLP——神经网络

从0探索NLP——神经网络 1.前言 一提人工智能,最能想到的就是神经网络,但其实神经网络只是深度学习的主要实现方式。 现在主流的NLP相关任务、模型大都是基于深度学习也就是构建神经网络实现的,所以这里讲解一下神经网络以及简单的神经网络…

随想录二刷(数组二分法)leetcode 704 35 34 69 367

第一题 leetcode 704.二分查找 二分法的思路 二分法的思路很简单 数组必须有序先查找中间元素进行比较得出大小再考虑向左比较还是向右比较 代码实现 class Solution { public:int search(vector<int>& nums, int target) {int left 0;int right nums.size() -…

[oeasy]python0090_极客起源_wozniac_苹果公司_Jobs_Wozniac

极客起源 回忆上次内容 上次回顾了 DEC公司的兴起 从IBM的大型机 到DEC的小型机Mini Computer 再到DEC的终端 VT-100 计算机基础元器件发生了进化 从ENIAC的 电子管到PDP系列的 晶体管 新的器件 体积小了价格低了稳定性 提高了而且 连成了网络 ARPA网 就是 最初的Internet …

2023年度最新且最详细Ubuntu的安装教程

目录 准备ISO镜像 1.去官网下载镜像&#xff0c;或者找有镜像源的网站下载 阿里云镜像站 2. 如果服务器是打算直接把底层系统安装为Ubuntu的话还需制作系统U盘 安装 1.新建虚拟机调整基础配置 2.打开电源&#xff0c;进入安装界面&#xff08;到这一步就跟u盘安装步骤一致…

深度学习Week16-yolo.py文件解读(YOLOv5)

目录 简介 需要的基础包和配置 二、主要组件介绍 2.1 parse_model 2.2Detect类 2.3DetectionModel类 三、实验 &#x1f368; 本文为[&#x1f517;365天深度学习训练营]内部限免文章&#xff08;版权归 *K同学啊* 所有&#xff09; &#x1f356; 作者&#xff1a;[K同学啊…

JavaEE简单示例——动态SQL的<trim>属性

简单介绍&#xff1a; 在之前我们介绍过使用<where>和<set>可以帮我们动态的添加和删除一些关键字&#xff0c;但是这些只能操作特定的关键字&#xff0c;比如where和set&#xff0c;但是有一些时候我们需要操作的关键字并不是这些常见的关键字&#xff0c;而是一…

基于SSM的婴幼儿商城

基于SSM的婴幼儿商城 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; …

软件测试3年经验就能拿30K?

1.软件测试如何实现涨薪 首先涨薪并不是从8000涨到9000这种涨薪&#xff0c;而是从8000涨到15K加到25K的涨薪。基本上三年之内就可以实现。 如果我们只是普通的有应届毕业生或者是普通本科那我们就只能从小公司开始慢慢往上走。 有些同学想去做测试&#xff0c;是希望能够日…

springboot+vue员工宿舍报修系统 uniapp微信小程序开发的

目 录 目 录 III 第一章 概述 1 1.1 研究背景 1 1.2 开发意义 1 1.3 研究现状 1 1.4 研究内容 2 1.5 论文结构 2 第二章 开发技术介绍 1 2.2 微信开发者工具 1 2.3 mysql数据库介绍 1 2.4 MySQL环境配置 2 2.5 B/S架构 2 第三章 系统分析 1 3.1 可行性分析 1 3.1.1 技术可行性…

这次,我的CentOS又ping不通www.baidu.com了(gateway配置)

当我们保证了宿主机与虚拟机的ip地址在同一网段&#xff0c;并且我们使用虚拟机ping宿主机&#xff0c;与宿主机ping虚拟机都可以互相ping通的情况下虚拟机却ping不通外网了&#xff0c;由于涉及到了跨越网络访问&#xff0c;所以我们应该把问题聚焦在网关的配置上&#xff01;…

手工布署 java 项目

新建一个java springboot项目 maven 这是一个非常简易的 springBoot 的项目 使用 maven 的 package 工具进行打包 把包上传到 linux 的机器上&#xff0c; 确保 linux 机器上安装了 java jdk工具&#xff0c; 并且配置好了 JAVA_HOME 注意&#xff0c;helloworld 默认的是要使…

Rocky 9.1操作系统实现zabbix6.0的安装部署实战

文章目录前言一. 实验环境二. 安装zabbix过程2.1. 安装zabbix源2.2 安装zabbix相关的软件2.3 安装数据库并启动2.4 开始初始化数据库&#xff1a;2.5 创建数据库实例及对应的用户2.6 导入官网提供的数据2.7 配置zabbix 服务的配置文件2.8. 启动服务2.9 从网页进行安装2.10 登陆…

H5盲盒抽奖系统源码

盲盒抽奖系统4.0&#xff0c;带推广二维码防洪炮灰功能和教程。 支持微信无限回调登录 标价就是源码价格&#xff0c;vuetp5框架编写&#xff0c;H5网页&#xff0c;前后端分离 此源码为正规开发&#xff0c;正版产品已申请软著。 开源无加密无授权&#xff0c;可以二开使用…