标签目录:摩登3登录网址

摩登3新闻554258:_[STM32] 教你在vscode下用stm32+makefile+gcc实现编译仿真下载一条龙服务

出品 21ic论坛   791314247 生命在于运动,技术在于折腾,你是否厌倦了在keil、iar下孜孜不倦的写代码、debug,是否玩累了在外部编辑器下写代码,然后在转到ide下进行仿真、下载等操作呢? 这个教程将介绍下如何在vscode下实现这些操作,真正实现一个vscode可以吃天、实现编译仿真下载一条龙服务,而你只需要在vscode下的终端敲几个命令而已。。。 本教程以阿波罗开发板stm32f429igt6为例,先瞅瞅最终界面 最终可以用的功能如下: 1,vscode终端下执行make指令,即可在build文件下编译出.hex .bin .elf文件,中间文件放在build/Obj/文件夹下 2,执行make clean,可清除build文件夹 3,执行make download,可一键下载hex到目标板子并让板子复位运行,相当于keil的一键下载按钮 4,执行make reset,可以让板子复位运行一下 5,执行make commit,可一键推送到你的github或者giteee远程服务器上去,但前提是你自己创建了这个工程的git 教程如下: 环境:1,下载vscode及必要插件,令需要一个插件Cortex_debug 2,Windows下安装arm-none-eabi-gcc工具链,推荐q4版本下载及安装教程:https://blog.csdn.net/qq_35333978/article/details/110398968 3,Windows下安装Jlink最新版驱动(V6.88a)附件上传不上去,故分享个网盘永久链接链接:加HTTP加斜杠pan.baidu.com/s/11YnBjWtl9L9V7YCQABC60Q提取码:ysgp安装、下载的教程也在上面的链接。 4,GNU make 百度网盘链接和安装教程、添加环境变量教程也在上边的链接。。。 5,git bash 这个不用说,大家都会有的吧,然后需要把vscode的终端换成git bash。百度一下,太容易了。 好了,环境就搭好了,不要嫌麻烦,现在越麻烦,你用起来越方便! 编译:编译只需在vscode终端中执行make指令就行,如下图: 仿真:仿真的话需要vscode下的插件cortex debug,这个教程我粘贴上我之前写的国产芯片fm33lc02x的教程,大家只要把芯片名字换成STM32F429就行 (1) vscode下载插件cortex debug插件 (2) 创建launch.json文件 如下图所示: 然后选择Cotrex Debug即可创建好launch.json文件 (3) 配置launch.json文件 稍微按照自己的芯片修改下就好,以FM33LC026为例: 然后将厂商提供的.svd文件放到你的工程根目录即可开始仿真,可以看变量、看外设寄存器、内核寄存器等等,还可以保存你的断点等。 然后实现这一切的核心就是makefile文件,不用管,我已经帮你写好了,而且全部中文注释,各种参数也是取自stm32cube的makefile参数,放心的用,放心的学!然后我将在附件提供一个基于阿波罗开发板stm32f429igt6的点灯例程。如果的芯片不是stm32f429,但只要你的核是arm核,本例程本makefile,通通能用!换芯片后你需要改以下内容: 1,找到你的芯片的基于gcc的启动文件和链接脚本,一般问厂商要肯定有的,不用自己写,然后替换到根目录下的2个对应文件 2,改以下内容,是不是看起来特简单。 然后,就搞定了,具体的参数可以去stm32cube上生成一个对应内核的makefile,然后参考下就行了,其实其他核是更简单的。教程可能有点乱,后期我会在整理下。 最后附上我的整个makefile    #*************************************************************************   #  **   #  ** File         : Makefile   #  ** Abstract     : This is the introduction to the document   #  ** Author       : wr   #  ** mail         : 791314247@q.com   #  ** Created Time : 2020年11月22日 星期日 11时58分06秒   #  ** copyright    : COPYRIGHT(c) 2020   #  **   #  ************************************************************************/      ifneq ($(V),1)   Q := @   else   Q :=   endif      ################################以下项目需用户根据需要更改##########################   # 输出文件的名称,默认为main(main.elf main.bin main.hex)   TARGET := main      #链接文件名称和所在路径   LDSCRIPT := ./STM32F429IGTx_FLASH.ld      #启动文件名称和所在路径   START_FILE_SOURCES := ./startup_stm32f429xx.s      #内核选择,FPU, FLOAT-ABI可为空   CPU       := -mcpu=cortex-m4   FPU       := -mfpu=fpv4-sp-d16   FLOAT-ABI := -mfloat-abi=hard      #系统宏定义   C_DEFS    := \   -DUSE_HAL_DRIVER \   -DSTM32F429xx      # 芯片型号,用于Jlink仿真调试、下载   CHIP      := STM32F429IG      # 选择优化等级:   # 1. gcc中指定优化级别的参数有:-O0、-O1、-O2、-O3、-Og、-Os、-Ofast。   # 2. 在编译时,如果没有指定上面的任何优化参数,则默认为 -O0,即没有优化。   # 3. 参数 -O1、-O2、-O3 中,随着数字变大,代码的优化程度也越高,不过这在某种意义上来说,也是以牺牲程序的可调试性为代价的。   # 4. 参数 -Og 是在 -O1 的基础上,去掉了那些影响调试的优化,所以如果最终是为了调试程序,可以使用这个参数。不过光有这个参数也是不行的,这个参数只是告诉编译器,编译后的代码不要影响调试,但调试信息的生成还是靠 -g 参数的。   # 5. 参数 -Os 是在 -O2 的基础上,去掉了那些会导致最终可执行程序增大的优化,如果想要更小的可执行程序,可选择这个参数。   # 6. 参数 -Ofast 是在 -O3 的基础上,添加了一些非常规优化,这些优化是通过打破一些国际标准(比如一些数学函数的实现标准)来实现的,所以一般不推荐使用该参数。   # 7. 如果想知道上面的优化参数具体做了哪些优化,可以使用 gcc -Q –help=optimizers 命令来查询。   OPT       := -Og      # 是否将debug信息编译进.elf文件,默认打开   DEBUG     := 1     …

摩登3平台注册登录_CEVA和美国国防部高等研究计划局建立技术创新合作伙伴关系

CEVA,全球领先的无线连接和智能传感技术的授权许可厂商宣布与美国国防部高级研究计划局(DARPA)达成一项开放式授权许可协议,以加快推进DARPA计划的技术创新。这项合作伙伴关系是DARPA Toolbox计划的一部分,建立框架让DARPA机构使用CEVA所有商用IP、工具和支持以促进其计划。 CEVA首席执行官Gideon Wertheizer表示:“我们与DARPA建立合作关系,将公司先进的DSP、AI处理器和无线IP引入DARPA研究计划及其生态系统。我们用于5G、Wi-Fi6、蓝牙、计算机视觉、声音和运动传感的综合低功耗平台,将会帮助加快DARPA的创新工作,使得其研究人员能够受惠于我们业界一流的技术、开发指导和支持。” DARPA Toolbox是整个DARPA机构范围内的一项全新计划,旨在使得DARPA计划中的研究人员有机会获得商业技术供应商的开放式授权许可。根据DARPA Toolbox,成功的提议者将以预先协商、低成本和非正式生产的方式,通过该框架和简化的法律条款,获得商业供应商旗下技术和工具的更大使用权限。DARPA Toolbox将会让商业供应商有机会充分利用DARPA机构的前瞻性研究,并通过技术开发计划成果来开拓新的收益来源。 在DARPA负责DARPA Toolbox的微系统技术办公室(MTO)项目经理Serge Leef表示:“通过DARPA Toolbox计划与CEVA等技术创新者进行合作,可以简化DARPA机构对尖端技术的获得。我们一些研究人员进行的一系列项目需要使用无线通信或情境感知计算,而CEVA的处理器、平台IP和软件组合对他们极具吸引力。” CEVA、Arm和Verific公司是第一批通过DARPA Toolbox签署商业合作协议的科技企业。作为CEVA IP的获授权许可方,DARPA研究人员将会从CEVA相关无线连接和智能传感产品组合中的CEVA处理器、工具和支持中受益。CEVA根据协议提供的关键技术包括用于5G基带处理、短距离连接、传感器融合、计算机视觉、声音处理和人工智能的DSP和软件。

摩登3娱乐登录地址_强悍DIY:发烧友自制双屏笔记本

关于双屏 Windows 设备,目前市面上已经有相关产品,但是这些产品动辄需要花费数千美元的价格,并且形式上和 MacBook 的 Touch Bar 相类似,只是那一条触控条变成了面积更大的触控屏。因此,微软自己推出的双屏设备,能够带来的新的应用场景是一个值得期待的方向。下面来看看记录了完整 DIY 过程的视频: 在微软的双屏 Surface 设备发布之前,就有 DIY 发烧友自制了一台双屏笔记本,并且想法还不错。这位发烧友从 eBay 上购买到一块显示屏、电路板等产品,然后经过简单组装,使得所买的零部件成为一块插上电源连接显示信号就能够工作的独立显示屏,接下来就是把这块独立的显示屏和笔记本组装到一起,通过 Windows 内置的投屏功能,连接上自制的显示器,实现双屏显示。 虽然这位发烧友做得事情原理简单,但是其所制造的独一款的双屏笔记本却是能够提供更多应用场景的思路。自制显示屏通过支架固定在笔记本A面,通过铰链实现翻转,两个屏幕可以同一个方向工作,也可以反向工作。 END 来源:趣无尽 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

摩登3内部554258_办公楼夜景照明如何打造耳目一新形象?

城市夜景已经成为城市形象的标配,怎么体现出本城市的特色。在众多亮化设计中脱颖而出,打造耳目一新的城市形象,是明亮照明长期考虑的问题。我们针对这个问题简单地谈一下如何打造特色灯光城市。 城市办公楼,办公楼具有视野宽广,造型多样,立体感强等特点,办公楼照明设计,要对症下药,展现这些特点: 把握楼体的特点和立面建筑风格 每个建筑都是单独的个体,我们在做亮化设计时需要把建筑和周围环境相结合,考虑城市特点和城市文化去做设计,这样才能做出具有特色的灯光设计。比如说杭州钱塘江夜景灯光,楼体联动设计手法吧杭州的文化元素和灯光设计结合在一起,智能调控也展现了智慧化城市的发展趋势。 灯光细节的设计与处理往往是一个设计作品出彩的地方,体现了照明设计师对项目的理解,艺术修养,以及巧妙心思。设计师可以模仿其他城市的灯光设计,但是也要有自己的内容能体现本城市的特色,否则只会出现千城一面的现象,会让人产生审美疲劳。 城市夜景照明对于城市形象塑造和功能定位都有比较大的影响,每个城市的夜景照明都有本城市的特色文化,让城市的夜晚更有韵味。河南(郑州)明亮照明专注户外亮化14年,设计、制作、安装、售后一站式服务,交付更简单! 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

摩登3注册开户_曾踩坑无数的多普勒超声波流量计设计,如此简单就被解决了?

出品 21ic论坛   蒋博1026 网站:bbs.21ic.com 多普勒超声波流量计是利用多普勒频移原理来测量液体流速的。因此多普勒超声波流量计正适合测量含固体颗粒或气泡的流体,不适合测量纯净水。目前正在做一个多普勒超声波流量计,将过程写在这里,以此谨记其中的坎坷: 首先,超声波流量计需要两个超声波探头,一个用来发射信号,另外一路用来接收信号,那么电路就分为两个部分:一个是用在发射探头的驱动信号,另外一个用在接收信号的的处理部分; 首先是驱动电路:首先是利用晶振产生方波信号,然后将该方波信号利用运放电路搭建移相器,然后经过运放电路将两路信号放大,以此作为驱动信号驱动探头,最终调试的驱动信号如下图所示: 此处的注意点就是,驱动信号的幅值和峰峰值不能太小,一般建议大于5V即可。 上述部分一共分为3个电路,一个是运放搭建的移相电路,另外一个就是跟随器,提高带负载能力,最后一个就是信号放大电路。将上述信号驱动探头,可以成功驱动。 第二部分就是接收信号的处理部分,类似于探测器信号的处理,首先将信号进行隔离处理,隔离的目的就是为了后端信号不影响前边的探测器信号,隔离完之后,将信号送给带通滤波器,带通滤波器的中心频率和品质因数自己要设计好,中心频率根据探头的参数进行设定,探头不一样,中心频率不一样。带通滤波器的输出信号,送给信号放大器,一般放大倍数根据实际需要设定,当然也跟运算放大器的供电电压有关,不能让放大的信号达到饱和,这样会影响最终的测试结果;然后再加上偏置电压,因为探测器信号有正有负,属于交流信号,所以要加偏置电压,然后将信号在送给乘法器,乘法器的参考信号采用上边提到的晶振输出信号,做差频处理,最终乘法器输出信号送给低通滤波器,低通滤波器的截止频率去取决于实际需要,低通滤波器的输出信号送给555定时器,将其转换为脉冲信号,脉冲信号送给单片机做处理,利用单片机的输入捕获功能,将单片机的识别结果与实际流量值做校准,进行一系列的转换操作,最终将得到我们想要的流量值,后期可以加上4-20mA的电流输出,更适合于远距离传输。下图分别为驱动电路和放大电路。   免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

摩登3注册网址_C语言文件操作

C 语言把文件看作是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。根据数据的组织形式,可分为 ASCⅡ 文件和二进制文件。文件的操作包括:文件的打开、文件的关闭、文件的读写操作、文件状态检查以及文件的定位等。 1 文件的打开 1.1 函数原型 FILE *fopen(char *pname,char *mode) 1.2 功能说明 按照 mode 规定的方式,打开由 pname指定的文件。若找不到由 pname 指定的相应文件,就按以下方式之一处理: 此时如 mode 规定按写方式打开文件,就按由pname 指定的名字建立一个新文件; 此时如 mode 规定按读方式打开文件,就会产生一个错误; 打开文件的作用: 分配给打开文件一个FILE 类型的文件结构体变量,并将有关信息填入文件结构体变量; 开辟一个缓冲区; 调用操作系统提供的打开文件或建立新文件功能,打开或建立指定文件; FILE *:指出 fopen 是一个返回文件类型的指针函数; 1.3 参数说明 pname:是一个字符指针,它将指向要打开或建立的文件的文件名字符串。 mode:是一个指向文件处理方式字符串的字符指针。 1.4 返回值 正常返回:被打开文件的文件指针。 异常返回:NULL,表示打开操作不成功。 //定义一个名叫fp文件指针 FILE *fp; //判断按读方式打开一个名叫test的文件是否失败 if((fp=fopen("test","r")) == NULL)//打开操作不成功 { printf("The file can not be opened.\n"); exit(1);//结束程序的执行 } 要说明的是:C 语言将计算机的输入输出设备都看作是文件。例如,键盘文件、屏幕文件等。ANSI C 标准规定,在执行程序时系统先自动打开键盘、屏幕、错误三个文件。这三个文件的文件指针分别是:标准输入 stdin、标准输出 stdout 和标准出错 stderr。 2 文件的关闭 2.1 函数原型 int fclose(FILE *fp); 2.2 功能说明 关闭由 fp 指出的文件。此时调用操作系统提供的文件关闭功能,关闭由 fp->fd 指出的文件;释放由 fp 指出的文件类型结构体变量;返回操作结果,即 0 或 EOF。 2.3 参数说明 fp:一个已打开文件的文件指针。 2.4 返回值 正常返回:0。 异常返回:EOF,表示文件在关闭时发生错误。 int n=fclose(fp); 3 文件的读写操作 3.1 从文件中读取一个字符 3.1.1 函数原型 int fgetc(FILE *fp); 3.1.2 功能说明 从fp所指文件中读取一个字符。 3.1.3 参数说明 fp:这是个文件指针,它指出要从中读取字符的文件。 3.1.4返回值 正常返回: 返回读取字符的代码。 非正常返回:返回 EOF。例如,要从"写打开"文件中读取一个字符时,会发生错误而返回一个 EOF。 显示指定文件的内容: //程序名为:display.c //执行时可用:display filename1 形式的命令行运行。显示文件filename1中的内容。例如,执行命令行display display.c将在屏幕上显示display的原代码。 //File display program. #include  void main(int argc,char *argv[]) //命令行参数 {     int ch;//定义文件类型指针     FILE *fp;//判断命令行是否正确 if(argc!=2)     { printf("Error format,Usage: display filename1\n"); return; //键入了错误的命令行,结束程序的执行     }     //按读方式打开由argv[1]指出的文件 if((fp=fopen(argv[1],"r"))==NULL)     { printf("The file <%s> can not be opened.\n",argv[1]);//打开操作不成功 return;//结束程序的执行…

摩登3注册网址_干货分享!用VS Code找对象?不看脸的那种!

VS Code现在居然可以用来谈恋爱了。 为了用最硬核的方式找到男(女)朋友,23岁的程序员Ben Awad在VS Code里打造一个约会软件VSinder。 顾名思义,VSinder = VS Code + Tinder,就是把约会软件集成到了代码编辑器里,简直太对程序员胃口了。 VSinder和Tinder的操作逻辑一样,左滑把不喜欢的人pass掉,右滑收藏喜欢的人。 这款插件一上线,就快速赢得程序员们的认可,GitHub上已收获800 Star,3天的下载量超过9000次。 从代码中找到真爱 既然是面向程序员的约会软件,自然不能和其他约会App一样,一定要有特色。 VSinder的特点就是,可以根据编程语言和代码风格筛选对象。 比如你用的是Python,她用的是C,那么你们之间可能没有共同语言。(以免将来为哪种语言最好吵架。) 对方使用的语言会在人名旁边用一个logo展示出来。 当然,即使用同一种语言编程,水平也有高下,如果对方编程水平达不到自己的要求怎么办? 别怕,VSinder和只看脸的约会软件不同,它是靠代码吸引异性的。(毕竟代码才是程序员的脸面。) Code Pics一栏填入你最得意的代码,让对方一眼知道你的水平深浅。 VSinder也考虑到性取向问题,你也可以选择约会对象的性别。又或者是你只想找个一起交流代码的同性朋友,只需在程序中选择friendship。 当然,找对象,脸也是很重要的。VSinder暂不支持手动修改头像,而是自动抓取你的GitHub账户,如果想让自己帅(美)一点,只能去修改GitHub头像了。 还有手机App 既然是约会软件,怎么可以只在电脑上运行呢? 虽然手机不能跑VS Code,但是Ben还开发了VSinder的手机App供下载。现已经支持iOS和Android两大系统。 只需登上自己的GitHub账号,完善资料即可使用,和Tinder用起来没啥太大区别,除了没有大量美颜照片。 那么这三天来,有没有人在VSinder上找到男(女)朋友?恐怕是没有,有人滑了半个小时,也没有找到一个单身女程序员。 不过这种情况也不难预料,毕竟GitHub是“全球最大的同性交友社区”。 害,没有蹲到小姐姐?推荐试试 Rainbow Fart 彩虹屁插件,萌妹子陪你写代码。 在你写代码的时候,可根据关键字播放接近代码含义的语音。 请看下方示例视频,一定要打开声音(如果是在公司或公众场所,那戴好耳机或调低音量)。 开源地址:https://github.com/benawad/vsinder 插件下载地址:https://marketplace.visualstudio.com/items?itemName=benawad.vsinder 使用方法介绍:https://www.youtube.com/watch?v=bfd8RyAJh6c  来源:量子位 免责声明:本文内容来源于网络,文章版权归原作者所有,意在传播相关技术知识&行业趋势,供大家学习交流,若涉及作品版权问题,请联系删除或授权事宜。 End  微信搜一搜 点分享 点点赞 点在看 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

摩登3测速登录地址_​AI你到底行不行?能找到秃头元凶,却光头&足球傻傻分不清

本文来源:物联网智库 一边,腾讯 AI Lab通过自研AI工具揭示了“秃头元凶”;另一边,AI摄像头在足球赛中将边裁的光头错认为足球,观众看了个寂寞。AI你到底行不行? 今年9月,百度宣布与人民日报社合作共建人工智能媒体实验室,具体来讲就是利用人工智能技术对新闻素材进行自动解读、加工与纠错,确定需要展示的关键信息。在此之前,微软就已经开始将新闻业务转向AI,并鼓励新闻工作者使用AI帮助其扫描、处理、过滤信息以及图片,并终止了与媒体公司PA Media的合作。 “AI编辑部”的报道一出,各位媒体圈的打工人也是心里一颤,我们每天编辑着“人工智能如何取代人工”的新闻,难道也要发生在自己身上了? 近年,人工智能对人类最明目张胆的“挑衅”当属AlphaGo先后击败围棋世界冠军、职业九段棋手李世石与世界围棋冠军柯洁。一战成名后,AI便昂首阔步地进入了大众视野。 目前,AI在toB产业端与toC消费端两面开花,取得了不俗的成绩,但“机器大脑”终究还是受制于数据、编程,无法自主思考,导致其在复杂多变的实际生产、生活场景中并不具备随机应变的能力,也引发了不少令人啼笑皆的“事故”。 “真”智能 VS “假”聪明 早在AlphaGo之前,人们就已经开始在各行各业中探索人工智能技术的产业应用了,通信技术、物联网等技术的发展更是滋润了AI的落地土壤,使其在商业化落地的淬炼中不断迭代升级,发挥其超强的数据学习能力与分析能力,为产业智能化转型提供了坚实的技术保障。 近日,“腾讯AI找到秃头元凶”的消息频频出现在各大科技媒体的头条——腾讯 AI Lab 采用“从头折叠”的蛋白质结构预测方法帮助解析了II型5a还原酶(SRD5A2)晶体结构,并通过自研AI工具“ tFold”有效提升了蛋白质结构预测精度,揭示了治疗脱发和前列腺增生的药物分子“非那雄胺”对于该酶的抑制机制。 非医学专业的秃头党可能是一头雾水。首先,我们要搞明白为什么会脱发。脱发起因复杂,主要有感染、内分泌障碍、神经精神因素、皮肤病等,其中雄激素性脱发主要与人体内的二氢睾酮有关,它由SRD5A2催化合成。因此,当患者因为二氢睾酮水平过高而出现脱发问题时,可以通过抑制 SRD5A2 来降低患者二氢睾酮水平。 但是,SRD5A2的高分辨率结构信息却十分缺乏,导致SRD5A2催化二氢睾酮合成的机理以及非那雄胺抑制SRD5A2 酶活的机制并不清晰。“模板建模”是当前最普遍的蛋白结构预测手段,但前提是在人类已知的蛋白结构数据库当中,必须存在和预测的蛋白相似的结构,否则就无法使用。而“从头折叠”法则可以不依赖于模板来预测蛋白结构,但精度不高。腾讯 AI Lab 自研的 AI工具“tFold” 正是破解这一难题的关键,它通过多数据来源融合、深度交叉注意力残差网络、模板辅助自由建模三项创新技术实现了蛋白结构预测精度的大幅提升。 此外,AI在工业制造、安防、教育等领域也有不俗的表现——“AI 工业大脑”实现工厂内的人机协同、柔性生产;AI监控摄像头通过捕捉徘徊、长时间逗留等可疑行为预警事故;AI+云平台实现教育资源共享、AI+大数据分析为学生提供个性化教学、AI+MR为学生提供身临其境的教学环境…… 面向消费端,AI实时翻译在今年的双11直播中大放异彩,目前支持从中文到英语、俄语、西班牙语的实时翻译;微博原创视频博主@大谷Spitzer利用AI技术将1920年的影像资料重新上色、修复帧率、扩大分辨率,还原了100年前北京晚清的街景…… 博主@大谷Spitzer利用AI修复视频 得益于AI远强于人类的数据学习能力与分析能力,解决了工业制造、教育、医疗等领域的诸多痛点,然而,成也萧何败萧何,在工业制造、安防等领域表现优异的AI却在足球场上闹了笑话。 近日,在一场苏格兰足球冠军联赛中,主场球队在赛事直播中没有雇佣摄像团队,而是选用了一套名为Pixellot的AI摄像系统,该系统使用内置 AI 追踪技术的摄像头来制作实时高清视频内容。 据称,开发团队收集了数十万小时的体育赛事视频,用于对AI算法进行训练,但他们却忘了教AI辨别光头与足球,导致只要是边裁出现在镜头内,AI 就会把边裁的光头误认为是足球,并且“忠心追随”。 随后,Pixellot公司表示,在设计阶段没考虑到光头的影响,现在收集一些足球和光头的数据对算法进行微调就可以解决这一问题。但是,AI虽然学习了“秃头”数据,又如何保证下次不会被场边别的“球形物”影响呢? 图源:机器之心 据外媒报道,大型零售企业沃尔玛将停止运用机器人拣货、查价,原因是“人工处理的效果不亚于机器人”,尤其是疫情影响下,线上订单激增,机器人从接单到分拣、再到包装、出货的时间毫无优势可言。 我们所讲的人工智能其实是一个很宽泛的概念,其核心是机器学习与深度学习,但数据提供的参考有限,导致其在面对程序外的干扰项或突发情况时无法自主纠偏、灵活处理。如开篇所讲,人们既期待AI所带来的智能化应用,却又忌惮于被替代,但事实证明,AI目前还没那么智能。 首先是学习效率。AI“上岗”前需要学习大量的数据从而训练算法,虽然其学习速度远超于人类,但是需要超大规模的学习样本反复进行强化训练、不断优化认知,综合来看,AI的学习效率与人类相比并无太大的优势。 其次是处理速度。对标准模型而言,AI的强大算力拥有碾压式的速度优势,尤其是在工业制造、自动驾驶等低时延场景下,这也是工业AI可以实现工厂无人化运营的主要原因。反之,在复杂多变的应用场景中,AI的处理速度及精准度都会大打折扣。 最后是灵活性。AI运行离不开数据、算法、算力三大要素,它们为AI规划出了一套清晰、准确的运行路线,依据交互反馈来执行预先设定的命令。但是在实际生产、生活中仍然存在大量不可控的突发事件,尤其是toC端,以客服机器人与智能音箱为例,用户反馈的命令“千奇百怪”,AI终端就只能回答“对不起,这个问题我还没有学会”。 诚然,人工处理问题时的灵活思维与应变能力是AI难以逾越的短板。同时,AI在遇到复杂环境时的检测精度也仍然无法达到无人化的标准,其精度只能随数据规模逐步提升。但是,AI可以辅助人工完成部分基础性工作,但想达到“AI换人”恐怕还需要很长一段时间。 事无绝对,我们也应该秉承着辩证的思维看待包括AI在内的一众新兴科技,它们应该是辅助人类的智能化工具,而不是一味的模仿人类。我们应该合理利用其学习能力、分析能力赋能产业,但现阶段还是不能免除人工监督、干预环节,未来应聚焦提升AI应用的灵活性,丰富前期数据学习阶段的应用场景,综合考虑可能遇到的各类情况,将“人工智障”逐步训练为真正的人工智能。 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

摩登3注册网站_单精度、双精度、多精度和混合精度计算的区别是什么?

关注+星标公众号,不错过精彩内容 编排 | strongerHuang 微信公众号 | 嵌入式专栏 我们学过数学,都知道有理数和无理数,然后在有理数中有一类叫浮点数的数字,不知道大家对这些还有没有印象? 在软件编程的时候,我们也会用到浮点数,一种既包含小数又包含整数的数据类型。 下面就来讲讲关于浮点数中,单精度、双精度、多精度和混合精度计算的区别。 嵌入式专栏 1 关于圆周率 π 我们提到圆周率 π 的时候,它有很多种表达方式,既可以用数学常数3.14159表示,也可以用一长串1和0的二进制长串表示。 圆周率 π 是个无理数,既小数位无限且不循环。因此,在使用圆周率进行计算时,人和计算机都必须根据精度需要将小数点后的数字四舍五入。 在小学的时候,小学生们可能只会用手算的方式计算数学题目,圆周率的数值也只能计算到小数点后两位——3.14;而高中生使用图形计算器可能会使圆周率数值排到小数点后10位,更加精确地表示圆周率。在计算机科学中,这被称为精度,它通常以二进制数字来衡量,而非小数。 对于复杂的科学模拟,开发人员长期以来一直都依靠高精度数学来研究诸如宇宙大爆炸,或是预测数百万个原子之间的相互作用。 数字位数越高,或是小数点后位数越多,意味着科学家可以在更大范围内的数值内体现两个数值的变化。 借此,科学家可以对最大的星系,或是最小的粒子进行精确计算。 但是,计算精度越高,意味着所需的计算资源、数据传输和内存存储就越多。其成本也会更大,同时也会消耗更多的功率。 由于并非每个工作负载都需要高精度,因此 AI 和 HPC 研究人员可以通过混合或匹配不同级别的精度的方式进行运算,从而使效益最大化。NVIDIA Tensor Core GPU 支持多精度和混合精度技术,能够让开发者优化计算资源并加快 AI 应用程序及其推理功能的训练。 嵌入式专栏 2 单精度、双精度和半精度浮点格式之间的区别 IEEE 浮点算术标准是用来衡量计算机上以二进制所表示数字精度的通用约定。在双精度格式中,每个数字占用64位,单精度格式占用32位,而半精度仅16位。 要了解其中工作原理,我们可以拿圆周率举例。在传统科学记数法中,圆周率表示为3.14 x100。但是计算机将这些信息以二进制形式存储为浮点,即一系列的1和0,它们代表一个数字及其对应的指数,在这种情况下圆周率则表示为1.1001001 x 21。 在单精度32位格式中,1位用于指示数字为正数还是负数。指数保留了8位,这是因为它为二进制,将2进到高位。其余23位用于表示组成该数字的数字,称为有效数字。 而在双精度下,指数保留11位,有效位数为52位,从而极大地扩展了它可以表示的数字范围和大小。半精度则是表示范围更小,其指数只有5位,有效位数只有10位。 圆周率在每个精度级别表现如下: 嵌入式专栏 3 多精度和混合精度计算的差异 多精度 计算意味着使用能够以不同精度进行计算的处理器,在需要使用高精度进行计算的部分使用双精度,并在应用程序的其他部分使用半精度或单精度算法。 混合精度(也称为超精度)计算则是在单个操作中使用不同的精度级别,从而在不牺牲精度的情况下实现计算效率。 在混合精度中,计算从半精度值开始,以进行快速矩阵数学运算。但是随着数字的计算,机器会以更高的精度存储结果。例如,如果将两个16位矩阵相乘,则结果为32位大小。 使用这种方法,在应用程序结束计算时,其累积得到结果,在准确度上可与使用双精度算法运算得到的结果相媲美。 这项技术可以将传统的双精度应用程序加速多达25倍,同时减少了运行所需的内存、时间和功耗。它可用于 AI 和模拟 HPC 工作负载。 随着混合精度算法在现代超级计算应用程序中的普及,HPC 专家 Jack Dongarra 提出了一个新的基准,即 HPL-AI,以评估超级计算机在混合精度计算上的性能。 混合精度计算主要用于现在很火人工智能领域,感兴趣的读者可以上网搜索更多关于混合精度计算的内容。 ———— END ———— C语言预处理命令分类和工作原理 浅谈Makefile、Kconfig和.config文件 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!