毫米波雷达 TI IWR1443 初体验

文章目录

  • 1 前言
  • 2 准备工作
    • 2.1 mmWave SDK
    • 2.2 Code Composer Studio(CCS)
    • 2.3 Uniflash
    • 2.4 MATLAB runtime
    • 2.5 TI Cloud Agent
  • 3 导入工程
  • 4 烧录
    • 4.1 调到 Flashing Mode
    • 4.2 使用 UniFlash 软件
      • 4.2.1 选择 .bin 文件
      • 4.2.2 填入端口号
      • 4.2.3 开始烧录
  • 5 运行GUI
    • 5.1 调到 Functional Mode
    • 5.2 打开 GUI 界面
    • 5.3 配置端口号
    • 5.4 成功采集到数据
  • 6 参考文档

1 前言

第一次使用毫米波雷达,大致熟悉了流程,目前可以跑官网预编译好的结果。
其中build那块报错,目前还没有解决,可能是相关软件安装的问题。

2 准备工作

2.1 mmWave SDK

下载地址:http://www.ti.com.cn/tool/cn/MMWAVE-SDK

在这里插入图片描述

根据操作系统版本进行选择

在这里插入图片描述

2.2 Code Composer Studio(CCS)

下载地址:http://www.ti.com.cn/tool/cn/CCSTUDIO#downloads

在这里插入图片描述
在这里插入图片描述

2.3 Uniflash

下载地址:http://www.ti.com.cn/tool/cn/UNIFLASH#downloads

历史版本:http://software-dl.ti.com/ccs/esd/uniflash/docs/release_archive.html

在这里插入图片描述
在这里插入图片描述

2.4 MATLAB runtime

下载地址:http://ww2.mathworks.cn/products/compiler/matlab-runtime.html

选择一个合适的版本,我目前也不太清楚应该怎么选择。有的项目明确要求了某个版本就下那个版本。

在这里插入图片描述

2.5 TI Cloud Agent

使用 mmWave Demo Visualizer 的时候要求安装
在这里插入图片描述

安装这个软件的时候,报了以下错误

在这里插入图片描述
原因是我修改了默认安装路径,安装在D盘了,默认安装在C盘就好了。

解决方法来源:http://digitalsupport.ge.com/en_US/Article/Is-Windows-8-3-File-Naming-Enabled-How-Do-I-Enable-8-3-File-Naming-If-It-Is-Not


但是,它通常不会在非系统驱动器上启用,在对备用(非系统)驱动器执行安装时会出现问题。

3 导入工程

在CCS中导入官方提供的工程


初始界面

在这里插入图片描述

view --> Resource Explorer

在这里插入图片描述
选择 mmWave radar sensors

在这里插入图片描述
选择 Embedded Software

在这里插入图片描述选择 Industrial Toolbox

在这里插入图片描述
点击右上角 install,由于我已经安装过了,所以这里显示 Uninstall

在这里插入图片描述


安装好 Industrial Toolbox 之后,就可以选择其中某一个 Lab 来测试。

在这里插入图片描述
这里选择 Out Of Box Demo

在这里插入图片描述
选择 Out Of Box 1443

在这里插入图片描述
导入工程

在这里插入图片描述
导入的时候报了一些错,目前不清楚原因

在这里插入图片描述
导入完成后,在 Project Explorer 看到多了个文件

在这里插入图片描述
修改了代码以后,可以build项目,生成新的二进制文件

在这里插入图片描述
但是我这里遇到一个错误,目前不清楚原因

在这里插入图片描述

Buildfile generation error occurred…
This project does not contain a buildable RTSC Configuration (.cfg) file. In order for it to build, this project must contain one RTSC Configuration file that is not excluded from build.
Build stopped…


没有 build 问题也不大,可以使用官方预编译好的二进制文件。

在 CCS 的安装目录可以找到 Industrial Toolbox 文件夹
在这里插入图片描述
按照这个目录找下去

\ti\ccs1210\mmwave_industrial_toolbox_4_12_0\labs\Out_Of_Box_Demo\prebuilt_binaries

可以找到编译好的二进制文件,可以直接拿来用
在这里插入图片描述

4 烧录

4.1 调到 Flashing Mode

这里注意要正确连接跳线。每个雷达的构造不同,具体见官方文档——模式设置。

由于我使用的雷达是 IWR1443,因此我找到这个地方,点击 > 展开具体说明。

在这里插入图片描述

Flashing Mode
在这里插入图片描述
意味着我要接 SOP0 和 SOP2

在这里插入图片描述

4.2 使用 UniFlash 软件

下面打开 UniFlash 软件,点击 Start
在这里插入图片描述

4.2.1 选择 .bin 文件

选择 .bin 文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.2.2 填入端口号

这里要填入正确的端口号

在这里插入图片描述

在设备管理器中查看端口号

在这里插入图片描述
在这里插入图片描述
User UART 用来烧录

因此填上 COM6

在这里插入图片描述

4.2.3 开始烧录

点击 Load Image 开始烧录
在这里插入图片描述

如果卡了,可以断开雷达电源,再重新插上试一下。

这样就表示烧录成功了。
在这里插入图片描述

5 运行GUI

5.1 调到 Functional Mode

烧录完成后,需要将雷达调到 Functional Mode

Functional Mode
还是参考 官方文档——模式设置

在这里插入图片描述
我应该连接 SOP0 ,断开 SOP1 和 SOP2

在这里插入图片描述
调完模式后应重新连接雷达电源。

5.2 打开 GUI 界面

打开官网提供的 mmWave Demo Visualizer

根据提示,我使用的是 IWR1443,应该选择 SDK 2.x
在这里插入图片描述
选择合适的平台

在这里插入图片描述

5.3 配置端口号

在这里插入图片描述
在这里插入图片描述
还是在设备管理器中查看端口号的

点击 OK ,底部会显示等待数据

在这里插入图片描述
点击向雷达发送配置信息

在这里插入图片描述
控制台会出现一些信息

在这里插入图片描述

5.4 成功采集到数据

点击 Plots 观察
在这里插入图片描述
可以看到,成功采集数据。

在这里插入图片描述

6 参考文档

  1. http://github.com/yiwangchunyu/mmWave
  2. 官方文档
  3. 一、 毫米波(mmWave) 上手TI IWR1443——mmWave Vital Signs (生命体征实验)
本文转载于网络 如有侵权请联系删除

相关文章

  • 云安全加固实践分享

    今天围绕云安全,总结一些实践经验,我们从五个角度看一看安全策略规划。基础网络安全策略防火墙安全策略访问安全策略主动安全防护策略业务安全策略一、基础网络安全策略基础网络安全关注重点:1:认识VPC、子网、安全组、ACL2:合理规划VPC、子网、安全组、ACL3:对外常用默认端口关闭(3389.22等)PS:https://blog.csdn.net/HBice2020/article/details/116245207(常用默认端口)VPC;私有网络(VirtualPrivateCloud,VPC)-VPC是一块您在腾讯云上自定义的逻辑隔离网络空间,可以为云服务器、云数据库等资源构建逻辑隔离的、用户自定义配置的网络空间,以提升用户云上资源的安全性,并满足不同的应用场景需求安全组:-安全组是一种虚拟防火墙,实例级别安全层,具备有状态的数据包过滤功能,用于设置云服务器、负载均衡、云数据库等实例的网络访问控制,控制实例级别的出入流量,是重要的网络安全隔离手段。ACL(网络访问控制列表,AccessControlList,ACL)-子网级别的可选安全层,控制进出子网的数据流,可以精确到协议和端口

  • [答疑]序列图怎么带sd框

    即(36***59)17:27:57 即(36***59)17:28:06 上面的sd怎么设置? 潘加宇(3504847)21:27:02 你是问如果让复制的图没有这个?Tools|Options|Diagram,设置DiagramFrames 即(36***59)21:27:43 我想要有sd 潘加宇(3504847)21:27:48 即(36***59)21:28:11 好像找不到sd,是版本问题吗? 即(36***59)21:29:54 即(36***59)21:30:15 那个图是用的Fragment吗? 即(36***59)21:30:26 即(36***59)21:30:32 好象没有SD可以选 潘加宇(3504847)21:35:36 潘加宇(3504847)21:35:54 SD不是控制框,是图的名称 潘加宇(3504847)21:36:08 sd--sequencediagram 即(36***59)21:57:25 搞不出来 潘加宇(3504847)22:02:52 你想要什么效果 潘加宇(3504847)22:04:09 如果要这个框,Diagram|S

  • 【面试官】你可以说一下缓存击穿、穿透、雪崩的区别和解决方法吗?

    数据获取的流程,一般是前端请求,后台先从缓存中取数据,缓存取不到则去数据库中取,数据库取到了则返回给前端,然后更新缓存,如果数据库取不到则返回空数据给前端流程图:假如缓存的数据没有,后台则会一直请求数据库,对数据库造成压力,如果是请求量大或者恶意请求则会导致数据库崩溃,我们一般称为缓存穿透、缓存击穿、缓存雪崩。1、缓存穿透描述:缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大(不存在的数据)。这时的用户很可能是攻击者,攻击会导致数据库压力过大。缓存穿透解决:接口层增加校验,如用户鉴权校验,id做基础校验,比如id<=0的直接拦截;从缓存取不到的数据,在数据库中也没有取到,这时也可以将key-value对写为key-null,直接返回空值。缓存有效时间可以设置短点,如30秒(设置太长会导致正常情况也没法使用)。这样可以防止攻击用户反复用同一个id暴力攻击。利用互斥锁,缓存失效的时候,先去获得锁,得到锁了,再去请求数据库。没得到锁,则休眠一段时间重试。异步更新。直接返回一个空值,然后启动一个线程去数据库读数据,更新缓存,比如项目启

  • 为文本摘要模型添加注意力机制:采用LSTM的编解码器模型实现

    摘要是自然语言处理领域中最具挑战性和最有趣的问题之一。它是一个从多种文本资源(如书籍、新闻文章、博客文章、研究论文、电子邮件和tweet)中生成简洁而有意义的文本摘要的过程。现在,随着大量的文本文档的可用性,摘要是一个更加重要的任务。那么有哪些不同的方法呢? 萃取总结这些方法依赖于从一段文本中提取几个部分,比如短语和句子,然后将它们堆在一起创建摘要。因此,在提取方法中,识别出用于总结的正确句子是至关重要的。让我们通过一个例子来理解这一点。Text:MessiandRonaldohavebetterrecordsthantheircounterparts.Performedexceptionallyacrossallcompetitions.Theyareconsideredasthebestinourgeneration.*Abstractivesummary:MessiandRonaldohavebetterrecordsthantheircounterparts.Bestinourgeneration.正如你在上面看到的,这些粗体的单词被提取出来并加入到一个摘要中——尽管有时这些摘

  • Springsecurity之认证过程简析 原

      注:分析的Springsecurity版本是4.3.x,源码可自行到github上去下载。  先上一张图,如下图1.1所示:                             图1.1Springsecurity认证的时序图1.AuthenticationManager  AuthenticationManager的实现类ProviderManager的实现如下:List-1.1ProviderManager的authenticate方法publicclassProviderManagerimplementsAuthenticationManager,MessageSourceAware, InitializingBean{ privateList<AuthenticationProvider>providers=Collections.emptyList(); privateAuthenticationManagerparent; publicAuthenticationauthenticate(Authenticationauthenticatio

  • 给定一个数组,求子数组的最大异或和

    一、给定一个数组,求子数组的最大异或和解法一:O(N^3)publicstaticintgetMaxEOR1(int[]arr){ intmax=Integer.MIN_VALUE; for(inti=0;i<arr.length;i++){ for(intstart=0;start<=i;start++){ intres=0; for(intj=start;j<=i;j++){ res^=arr[j]; } max=Math.max(max,res); } } returnmax; } 复制解法二:O(N^2) publicstaticintgetMaxEOR2(int[]arr){ intmax=Integer.MIN_VALUE; int[]dp=newint[arr.length]; inteor=0; for(inti=0;i<arr.length;i++){ eor^=arr[i];//0..i的异或和 max=Math.max(max,eor);//由于下面的start的初始为1没有包括0, //所以这里需要将0..i的包括进来 for(ints

  • 从零开始学 Web 之 移动Web(四)实现JD分类页面

    实现JD分类页面我们先看看要实现的效果图:1、项目需求:全屏页面右侧的页面随着页面宽度的变化而变化,左侧栏宽度固定不变。左侧栏可以上下滑动,如果滑动超出上下范围自动反弹回去点击左侧栏每个项目,自动滚动左侧栏使得项目置顶当点击项目可能使得超出滑动范围的时候,以滑动范围为准,当前点击的项目不必置顶。2、项目分析如何实现一个全屏页面,没有滚动条?如下面的结构:大盒子1和大盒子2分为上下结构,小盒子3和小盒子4在大盒子2的内部,分为左右结构。那么如何排布,使得上下左右都没有滚动条呢?思路:1、要使得大盒子1和大盒子2上下没有滚动条,可以使得大盒子1的宽度为100%,高度加入100px,大盒子2的高度100%;这时会超出100px的高度,如果这时我们让大盒子1定位(position:absolute;),,确实可以实现上下没有滚动条,但是大盒子的头部100px的位置会被覆盖,所以再让大盒子2padding-top:100px;就可以了。2、要使得小盒子3和小盒子4左右没有滚动条,可不可以参考大盒子1和大盒子2的策略呢?让小盒子3宽度100px,高度100%,小盒子4宽度100%,高度100%,然

  • NYU陈溪博士:运筹学与机器学习的融合交叉

    AI科技评论按:从一个旁观者的角度看来,陈溪的履历无疑令人艳羡:从西安交通大学少年班一路至计算机系毕业,随后到卡耐基梅隆大学(CMU)商学院攻读硕士学位,一年后转到了CMU的机器学习系;五年博士毕业后,陈溪跟随人工智能泰斗、UC伯克利教授MichaelI.Jordan进行博士后研究;在这之后,他从西海岸横跨北美洲,于纽约大学任商学院助理教授。机器学习专业出身的陈溪,美国研究生涯始于商学院的运筹学和统计学,在经历六年的机器学习研究后,如今又重回商学院。运筹学与机器学习之间,能产生怎样奇妙的化学反应?陈溪又是如何在这两门学科中寻求交叉平衡与科研创新的?AI科技评论与陈溪博士进行了一次交流,了解了他在运筹学与机器学习之间的十年研究心得。陈溪博士目前是纽约大学商学院助理教授,CMU机器学习系博士,也曾跟随MichaelI.Jordan做了为期一年多的博士后研究。同时,陈溪博士拿过GoogleFacultyResearchAward,AdobeDataScienceResearchAward,AlibabaInnovationAward,在2017年还获得了福布斯杂志全美30under30最有影

  • 「镁客·请讲」图灵机器人郭家:多数AI玩家还在飘,他们需要考虑如何“接地气”

    在郭家看来,对于下一步人工智能的发展,首先要做的就是如何从“飘忽”状态变得接地气。从2015年开始,“人工智能”又一次受到了人们的关注,并快速的形成了一股风潮。而在今年的两会期间,“人工智能”更是首次被写进了政府工作报告。这些情形无一不提醒着我们人工智能的产业的再次崛起。同时我们注意到,在众多涌现出的人工智能企业中,有些前瞻者早在这股风潮成形之前就开始了自己的布局。在2010年,郭家与自己的大学校友俞志晨联合创立了现在的图灵机器人公司。从最初的聊天机器人开放平台到现在的机器人操作系统turingos,身处人工智能第一梯队的图灵机器人一如既往地继续开拓者自己的战局。创业念头起源一本书现在专注于投资自己 “孙正义当时写过一本书,讲到他的人生轨迹是20岁选择一个可以为之奋斗十年以上的行业,24、5岁在这个行业成立一家自己的公司,到了30岁则是拿着这个公司的第一桶金去做投资。我们当时挺欣赏他的,就按照他的这个轨迹来设计了自己的一个创业路线。”谈及创业初衷,郭家这样告诉我们。如今已年过三十,依据规划走的他也创业到了第三阶段“投资”。不过,与孙正义不同,前者是在30岁的时候拿着自己的第一桶金去投资

  • 腾讯云API网关查询Api绑定的应用列表api接口

    1.接口描述接口请求域名:apigateway.tencentcloudapi.com。 本接口(DescribeApiBindApiAppsStatus)查询Api绑定的应用列表。 默认接口请求频率限制:20次/秒。 APIExplorer提供了在线调用、签名验证、SDK代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成SDK调用示例。 2.输入参数以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见公共请求参数。 参数名称 必选 类型 描述 Action 是 String 公共参数,本接口取值:DescribeApiBindApiAppsStatus。 Version 是 String 公共参数,本接口取值:2018-08-08。 Region 是 String 公共参数,详见产品支持的地域列表。 ServiceId 是 String 服务ID ApiIds.N 是 ArrayofString Api的ID的数组 Limit 否 Integer 返回数量,默认为20,最大值为100。

  • 腾讯云混沌演练平台数据结构

    DescribePolicy查询-保护策略 被如下接口引用:DescribeTask。 名称 类型 描述 TaskPolicyIdList ArrayofString 保护策略ID列表 TaskPolicyStatus String 保护策略状态 TaskPolicyRule String 策略规则 TaskPolicyDealType Integer 护栏策略生效处理策略1:顺序执行,2:暂停注意:此字段可能返回null,表示取不到有效值。 TagWithCreate用于传入创建、编辑标签 被如下接口引用:CreateTaskFromTemplate。 名称 类型 必选 描述 TagKey String 是 标签键 TagValue String 是 标签值 TagWithDescribe展示标签列表 被如下接口引用:DescribeTask,DescribeTaskList,DescribeTemplate,DescribeTemplateList。 名称 类型 描述 TagKey String 标签键 TagValu

  • python关于字典的用法

    #字典里面的数据是以“键值对”形式出现,字典数据和数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找数据即可。 #字典特点: #符号为大括号 #数据为键值对形式出现 #各个键值对之间用逗号隔开 #有数据字典 dict1={'name':'Tom','age':20,'gender':'男'} #空字典 dict2={} dict3=dict() #注意:一般称冒号前面的为键(key),简称k;冒号后面的为值(value),简称v。 #eg1 #增:写法:字典序列[key]=值 print('eg1:') dict1={'name':'Volcario','age':'18','gender':'女'} dict1['name']='HunKing' #结果:{'

  • Java Instrumentation

    前言 JDK1.5开始,Java新增了Instrumentation(JavaAgentAPI)和JVMTI(JVMToolInterface)功能,允许JVM在加载某个class文件之前对其字节码进行修改,同时也支持对已加载的class(类字节码)进行重新加载(Retransform)。 在1.6版本新增了attach(附加方式),可以对运行中的Java进程插入Agent,instrumentation包被赋予了更强大的功能:启动后的instrument、本地代码(nativecode)instrument,以及动态改变classpath等等。这些改变,意味着Java具有了更强的动态控制、解释能力,它使得Java语言变得更加灵活多变。 java.lang.instrument包的具体实现,依赖于JVMTI。JVMTI(JavaVirtualMachineToolInterface)是一套由Java虚拟机提供的,为JVM相关的工具提供的本地编程接口集合。JVMTI是从JavaSE5开始引入,整合和取代了以前使用的JavaVirtualMachineProfilerInterface(J

  • 驱动开发:内核监控FileObject文件回调

    本篇文章与上一篇文章《驱动开发:内核注册并监控对象回调》所使用的方式是一样的都是使用ObRegisterCallbacks注册回调事件,只不过上一篇博文中LyShark将回调结构体OB_OPERATION_REGISTRATION中的ObjectType填充为了PsProcessType和PsThreadType格式从而实现监控进程与线程,本章我们需要将该结构填充为IoFileObjectType以此来实现对文件的监控,文件过滤驱动不仅仅可以用来监控文件的打开,还可以用它实现对文件的保护,一旦驱动加载则文件是不可被删除和改动的。 与进程线程回调有少许的不同,文件回调需要开启驱动的TypeInfo.SupportsObjectCallbacks开关,并定义一些微软结构,如下是我们所需要的公开结构体,可在微软官方或WinDBG中获取到最新的,将其保存为lyshark.h方便后期引用。 //署名权 //righttosignone'snameonapieceofwork //PowerBy:LyShark //Email:me@lyshark.com #include<ntddk.h&

  • 第五章 隐藏具体实现

      在面对对象设计中,要考虑的一个基本问题是:如何把变动的事物与保持不变的事物区分开来。 1.     关于Java的包访问权限   private 默认访问权限 protected public 类本身 是 是 是 是 相同包中子类 否 是 是 是 相同包中非子类 否 是 是 是 不同包中的子类 否 否 是 是 不同包中的非子类 否 否 否 是       访问权限控制的等级,从最大权限到最小权限依次为:public,protected,包访问权限(没有关键词),private。   2    包:程序库单元   包就是当使用关键字import来导入整个程序库时那些变为可用的单元。       当编写一个Ja

  • A==?B(A,B超级大)

    #include<iostream>#include<string.h>#include<cstring>usingnamespacestd;structzhennan{charstr[100000]; charstr0[100000];voidcc(){ intn,i,k1,k2,f,v; n=strlen(str); f=0; for(i=0,k1=0;i<n;i++) { if(str[i]=='0'&&f==0){continue;} if(str[i]!='0'){f++;} str0[k1]=str[i]; k1++; } str0[k1]='\0'; v=0; for(i=0;i<k1;i++) { if(str0[i]!='.'){v=1;} else{v=0;break;} } if(v==0) { f=0;for(i=k1-1,k2=0;i>=0;i--) { if(str0[i]=='0'&&f==0){continue

  • Vue项目小应用

    Vue—ref链在项目中的应用(1) 在移动端app项目当中,我们经常遇到的一个场景是:点击每一个不同的模块,进入到一个大致相同的详情页,然后里面会有不同的一大堆折叠起来的文字描述,我们可以点击一个向下的箭头,就可以进行将折叠文字显示出来,下面来介绍一下如何通过vue的ref链以及css3来完成我们的上述场景 我们在这里拿两段数据来作比较 "1937年淞沪会战末期,国民革命军第88师524团留守上海四行仓库,与租界一河之隔,孤军奋战4昼夜,造就了罕见的被围观的战争;为壮声势,四百人对外号称八百人。电影《八佰》由管虎导演,是亚洲首部全片使用IMAX摄影机拍摄的商业影片,将于2019年7月5日全国上映。" "哈利波特是一个孤儿,从小寄养在姨妈家,受尽欺凌。但就在哈利11岁生日的时候,他意外收到了霍格沃茨学院的入学通知书。哈利从该学院派来接他的巨人海格口中得知,这是一间魔法学院,并得知了自己的身世,原来哈利的父母都是伟大的魔法师,在对付伏地魔的战斗中双双献身,唯有哈利幸免于难。哈利进入霍格沃茨后,表现出了超乎想象的飞行天赋,得到麦格教授的推荐进入了格兰芬多的魁地奇球队。另一方面,哈利发现

  • java -jar提示找不到入口类和没有依赖解决方法

    1、在pom.xml中添加两个插件,插件maven-jar-plugin用于打包成jar包并且指定入口类,在java-jar执行的时候会执行publicstaticvoidmain(String[]args)方法。插件maven-assembly-plugin则是用于项目和对应依赖一起打包。 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>graphalgo.Main</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with

  • 简单CSS3代码实现立方体以及3D骰子

    1实现3D立方体 首先准备好UL以及6个Li; 代码如下 ul{position:absolute;top:50%;left:50%; transform:translate(-50%,-50%)    //以上代码主要是使ul居中而已   transform-style:preserve-3d;      //使子元素保留其3D视角-webkit-perspective:0;           //视距离,默认值为0 }      li{width:200px;height:200px;position:absolute;} 此时,6个LI是重叠一起,如下   我们分别调整6个li的位置,从而实现立方体6个面的效果     //上下面 rotateX(90deg)意为:将2个li沿着X轴旋转90度,此时垂

  • 【读书笔记与思考】Andrew 机器学习课程笔记

    Andrew机器学习课程笔记 完成Andrew的课程结束至今已有一段时间,课程介绍深入浅出,很好的解释了模型的基本原理以及应用。在我看来这是个很好的入门视频,他老人家现在又出了一门deeplearning的教程,虽然介绍的内容很浅,毕竟针对大部分初学者。不管学习到什么程度,能将课程跟一遍,或多或少会对知识体系的全貌有一个大致的理解。如果有时间的话,强烈建议跟完课程的同时完成各项作业。但值得注意的是,机器学习除了需要适当的数理基础之外,还是一门实践科学,只有通过不断的深入积累才能有更好的成长。 本文仅是对自身学习的一个log,总结的顺序有所调整,其中也加入了自己的一些总结与思考。本想在此基础上进行更多的扩展,但越想发现内容越多,似乎不是一篇博文能容纳的,这或许要在以后分章节深入。既然是日记,还是点到为止就好,要不然就没办法写完了。 笔记链接,每个小结前面都有一个总结概述。 目录 01.introduction SupervisedLearning 02.linearregression 03.logisticregression 04.neuralnetwork 05.SVM 0

  • el-upload用form的方式多文件上传的方法

    使用el-upload组件遇到的坑。 1.第一种感觉最好,首先多个文件是一个http请求,另外还可以传除文件外其他的参数,但是没有进度条了。 发送请求的部分没有注释的部分是我分装了调后台的api,注释的部分是直接调。 注意如果使用自定义提交http-request,则on-success和on-error这两个钩子函数会不起作用,另外点击事件submitUpload中的this.$refs.uploadFiles.submit();是必须的,个人感觉是先将所有的文件给el-form处理, 我发先执行this.$refs.uploadFiles.submit();会多次执行handleUpload函数,次数与要上传文件的个数一样。 fileList:[], files:[]要在data中先定义好,file是在form默认有的,是选进来的一个文件。action此时是无用的,但是必须要设置。 <template> <el-form> <divclass="drop-upload-container"> <el-form-item:labe

相关推荐

推荐阅读