精华内容
下载资源
问答
  • 在单元1输入的节点不正确
    万次阅读 多人点赞
    2020-05-24 17:03:49

    转载链接:http://www.jishulink.com/content/post/361389

    文中红色部分为自己添加!!!

    转载的文章中提到的梁单元截面是常用的工字形,那么要是不规则的截面形状的话需要自己进行截面形状绘制,具体可以参考这篇文章:https://blog.csdn.net/qq_45769063/article/details/106316667

    目录

    导读:

    一、问题描述

    二、GUI步骤

    更多相关内容
  • ROS节点

    千次阅读 多人点赞 2019-12-28 16:25:22
    ROS的世界里,最小的进程单元就是节点(node) 一个软件包里可以有多个可执行文件,可执行文件运行之后就成了一个进程(process),这个进程ROS中就叫做节点 从程序角度来说,node就是一个可执行文件(通常为C++...

    ROS节点介绍

    • 在ROS的世界里,最小的进程单元就是节点(node)
    • 一个软件包里可以有多个可执行文件,可执行文件在运行之后就成了一个进程(process),这个进程在ROS中就叫做节点
    • 从程序角度来说,node就是一个可执行文件(通常为C++编译生成的可执行文件、Python脚本)被执行,加载到了内存之中
    • 从功能角度来说,通常一个node负责者机器人的某一个单独的功能。由于机器人的功能模块非常复杂,我们往往不会把所有功能都集中到一个node上,而会采用分布式的方式,把鸡蛋放到不同的篮子里
    • 例如有一个node来控制底盘轮子的运动,有一个node驱动摄像头获取图像,有一个node驱动激光雷达,有一个node根据传感器信息进行路径规划,这样做可以降低程序发生崩溃的可能性,试想一下如果把所有功能都写到一个程序中,模块间的通信、异常处理将会很麻烦。

    主节点

    • 由于机器人的元器件很多,功能庞大,因此实际运行时往往会运行众多的node,负责感知世界、控制运动、决策和计算等功能。
    • 那么如何合理的进行调配、管理这些node?这就要利用ROS提供给我们的节点管master,master在整个网络通信架构里相当于管理中心,管理着各个node
    • node首先master处进行注册,之后master会将该node纳入整个ROS程序中
    • node之间的通信也是先由master进行“牵线”,才能两两的进行点对点通信
    • 当ROS程序启动时,第一步首先启动master,由节点管理器处理依次启动node

    节点和主节点之间的关系

    在这里插入图片描述

    基本命令

    roscore
    • 启动ros主节点,在运行ros程序之前都必须运行该命令启动主节点
    • 运行roscore时ROS master启动,同时启动的还有 rosout 和 parameter server ,
      • 其中rosout 是负责日志输出的一个节点,其作用是告知用户当前系统的状态,包括输出系统的error、warning等等,并且将log记录于日志文件中
      • parameter server 即是参数服务器,它并不是一个node,而是存储参数配置的一个服务器
    • 每一次我们运行ROS的节点前,都需要把master启动起来,这样才能够让节点启动和注册
    rosrun
    • 运行某一节点
    • 用法:rosrun [--prefix cmd] [--debug] pkg_name node_name [ARGS]
    • rosrun将会寻找PACKAGE下的名为EXECUTABLE的可执行程序,将可选参数ARGS传入
    • 例如在GDB下运行ros程序:rosrun --prefix 'gdb -ex run --args' pkg_name node_name
    rosnode
    # 列出当前运行的node信息
    rosnode list
    # 显示出node的详细信息
    rosnode info node_name
    # 结束某个node
    rosnode kill node_name
    # 测试连接节点
    rosnode ping
    # 列出在特定机器或列表机器上运行的节点
    rosnode machine
    # 清除不可到达节点的注册信息
    rosnode cleanup
    # 查看rosnode命令的用法
    rosnode help
    

    编写和运行ROS节点

    编写节点

    # 在home目录下运行以下命令创建一个名字为ros_workspace的工作空间
    $ mkdir –p ros_workspace/src
    # 切换到工作工件目录
    $ cd ros_workspace
    # 编译工作空间
    $ catkin_make
    # 设置环境变量
    $ echo “source ~/ros_workspace/devel/setup.bash” >> ~/.bashrc
    $ source ~/.bashrc
    
    # 切换到/src目录,创建一个test_pkg的功能包
    $ catkin_create_pkg test_pkg std_msgs rospy roscpp
    
    注意:

    ROS 包的命名遵循一个命名规范只允许使用小写字母、数字和下划线,而且首字符必须是一个小写字母。一些 ROS工具,包括 catkin,不支持那些不遵循此命名规范的包
    在这里插入图片描述

    ROS node头文件
    • 头文件
    • 头文件类型有gencpp模块根据msg定义自动生成
    • std_msgs/String.h
    • 使用rosmsg 查看具体内容
      在这里插入图片描述
    ROS node 基本结构
    • ros::init():初始化
    • ros::Publisher:发布消息
    • ros::Subscriber:订阅消息
    • ros::Rate loop_rate:循环速率
    • ros::spin():事件循环
    • ros::spinOnce():单次事件
    • ros::start():启动
    • ros::shutdown():关闭

    ros::init()
    • 通过调用ros::init()函数来初始化node
    • 此函数向ROS系统传递命令行参数定义node名字其它参数
    • 在调用roscpp其它函数前必须先调用ros::init(),其函数原型为:
      在这里插入图片描述
    ros::Publisher

    将节点设置成发布者,并将所发布主题的类型和名称告知节点管理器

    ros::Subscriber

    将节点设置成接收者,并将所接收主题的类型和名称告知节点管理器

    主循环
    • 循环条件 ros::ok(): 当接受到ctrl+c 信号 或者 ros::shutdown() 调用时,为false,终止运行节点
    • 主循环中,使用ros::rate 实现将循环一次的时间控制在一个我们设置的一个周期内
    • ROS_INFO();

    操作小记

    操作内容

    Hello World

    • 节点:
      • 节点talker:包含一个发布者
    • 节点间的通讯:
      • Topic(话题的名称):“chatter”
      • Message(传递的数据类型):std_msgs::String
        • String为 ROS自定义的数据类型
        • String中包含唯一变量为 std::string data
    编写节点测试代码

    在这里插入图片描述

    编译软件包

    我们主要需要修改CMakeLists.txt这个编译配置文件
    在这里插入图片描述

    编译

    当修改完CMakeLists.txt文件后 就可以在工作空间的根目录下使用catkin_make进行编译了
    在这里插入图片描述

    运行节点

    当编译过程没有错误时,接下来就可以使用rosrun命令来启动节点了
    在这里插入图片描述

    如何添加头文件和库文件

    如何引用自定义头文件

    引用当前软件包内的头文件

    在编写代码时我们经常会需要引用头文件,引用公用的头文件很容易,因为它们已经在标准库头文件路径中。但 如果要引用自定义的头文件就稍微麻烦点,我们首先查看软件包的目录结构,需要在正确的目录下创建头文件修改CMakeLists.txt文件这样才能正确编译,下面来举例说明:
    在这里插入图片描述
    在test_pkg.h内写入以下内容
    在这里插入图片描述
    修改源码文件,引用自定义头文件
    在这里插入图片描述
    修改CMakeLists.txt文件
    在这里插入图片描述
    运行效果
    在这里插入图片描述


    引用同一工作空间中其他软件包的头文件

    在一些情况我们需要引用其他软件包中提供的函数或宏定义,这样可以一定程度上减少我们在两个节点之间需要进行通信的话题个数,下面我们通过举例来进行说明:
    创建一个功能包
    在这里插入图片描述
    新建相关文件及文件夹
    在这里插入图片描述
    修改源码文件
    在这里插入图片描述
    修改两个软件包的编译配置文件
    在这里插入图片描述
    运行效果
    在这里插入图片描述

    如何引用第三方库文件

    我们经常在开发软件包时需要引入第三方的so动态库,但是将其放到系统默认库路径中或者使用绝对路径比较简单省事。但是这样的话我们软件包的移植性就会变差,当需要移植到其他机器上时需要重新配置该软件包的 依赖库路径

    手工自己创建测试用的动态库

    我们创建一个简单的动态库,里面只有一个简单的函数来计算两个输入整数的乘积并返回,我们首先创建multiply.cpp和multiply.h两个文件
    multiply.cpp
    在这里插入图片描述
    multiply.h
    在这里插入图片描述
    接下来准备开始将multiply.cpp编译成为动态库libmultiply.so供我们测试用,注意-shared参数和-fPIC参数很重要

    • -shared:告诉gcc要生成的是动态链接库;
    • -fPIC:告诉gcc生成的代码是非位置依赖的,方便用于动态链接。

    在这里插入图片描述

    将编译好的动态库复制到当前软件包对应的目录下
    在这里插入图片描述

    编辑代码和配置文件来引用动态库
    在这里插入图片描述

    修改编译配置文件,编译后运行效果演示
    在这里插入图片描述

    展开全文
  • LIN主从节点设计与实现

    千次阅读 2020-12-23 08:23:20
    LIN(LocalInterconnect Network)是一种低速汽车网络,采用单主多从、异步串行通信方式,定位于现有汽车网络(如CAN总线)的辅助和补充,目的是以低廉的价格联接车上的传感器、执行器...从节点不需晶振或陶瓷震荡器就能...

    LIN(LocalInterconnect Network)是一种低速汽车网络,采用单主多从、异步串行通信方式,定位于现有汽车网络(如CAN总线)的辅助和补充,目的是以低廉的价格联接车上的传感器、执行器和处理器,并且允许不同厂家的模块随时添加进来。LIN的主要特点有:低成本,基于通用UART接口,几乎所有微控制器都具备LIN必须的硬件;传输速率最高可达20 Kb/s;从节点不需晶振或陶瓷震荡器就能实现自同步,节省了从设备的硬件成本;单主控器/多从设备模式,无需仲裁机制;不需要改变LIN从节点的硬件和软件就可以在网络上增加节点等。

    1 主从节点硬件设计

    LIN网络由一个主节点和最多15个从节点构成。设计LIN节点可以有三种方法:用普通I/O口线模拟异步串行通信;用UART和定时器实现;用专门的LIN模块来实现。第一种方法成本最低,但CPU负担最重,代码较多;第二种方法成本适中,CPU负担较轻;第三种方法成本较高,但CPU负担最轻,代码最少。这里采用最常用的一种,即基于UART和定时器的LIN节点设计和实现。LIN网络拓扑结构如图1所示。

    在LIN网络中所有的通信都由主节点发起,同时还承担与CAN总线通信的任务,因此主节点硬件电路主要包括微控制器、LIN收发器和CAN收发器。LIN收发器将协议控制器向TXD引脚输入的传输数据流转换成总线信号并由收发器控制回转速率和波形以减少EME;CAN收发器作为CAN总线与控制器之间的接口以及提供CAN总线的差动发送和接收功能。需要注意的是主节点电路中必须连接一个1 kΩ的上拉电阻和一个二极管。采用Microchip公司的PICl8系列单片机作为主节点的微控制器,MCP2551作为CAN总线收发器,MCP201作为LIN总线收发器。主节点硬件原理图如图2所示。在实际设计过程中还要注意EMI(电磁干扰)和ESD(静电危害)对LIN总线的干扰,为了避免EMI的影响,LIN协会把LIN的最高位速率限制在20 Kb/s,同时最大传输距离不能超过40 m;ESD表现为短暂而幅度迅速衰减的高压、大电流放电,而LIN总线收发器最容易受到:ESD的冲击,因此设计时可以在电源线和地线之间串联电阻和电容,也可以把地线加粗,并与其他大面积接地导体就近、低阻抗连接。

    从节点采用PIC18F1320作为主控制器,MCP201作为LIN总线收发器;需要注意的是从节点中必须连接一个30 kΩ的上拉电阻,当然串联二极管也是必须的,它可以防止电子控制单元在本地电池掉电的情况下通过LIN总线上电。从节点电路原理图与主节点相似,去掉CAN收发器,其余不再赘述。

    2 软件设计

    LIN主节点是LIN总线的控制者,它将决定在什么时候发送哪个报文到LIN总线上,同时它需要检测从节点和总线的工作状态。因为LIN主节点是通讯的发起者,在每个报文帧开始时它需要发送出同步间歇,同步字段以及标识字段。如果这个报文帧是发送控制命令到从节点,主节点接着将发送出数据字段及校验和字段;而如果这个报文帧是发送查询命令到从节点,此时主节点将从LIN总线读取从节点发送的数据字段和校验和字段。

    LIN从节点用UART实现通讯,从中检出主节点发送给本从节点的命令,并执行相应动作。要正确实现LIN总线的通信,主从节点的初始化是非常重要的,图3、图4给出了主从节点的初始化流程图。其余还有LIN主节点UART接收数据流程图,LIN从节点中断服务流程图等限于篇幅不一一列出。

    3 LIN总线通信测试

    如前所述,一个LIN网络由一个LIN主节点和多个从节点组成,报文的传送方向和时间由主节点决定。从节点是根据报头中的ID号来决定是否接收一帧数据,在检测到正确的报文ID号后,从节点将根据ID号判断后续操作:是否接收后续数据或者发送数据到LIN总线,并初始化相应操作。在本子系统中,设计了两个从节点,定义的报文ID号如表1所示。

    在LIN总线波特率设为9 600 b/s时,利用数字存储示波器对LlN从接点通信过程进行了测试。另外,还利用ZLGCANtest软件对LIN网络的通信功能做了测试,一切结果显示均正常,证明设计LIN网络的通信程序设计是正确的。

    4 结语

    在欧美、日本等发达国家,LIN总线被越来越多地应用到车身网络中,但在我国LIN总线的应用还处在起步阶段,因此对LIN总线通信的研究显得尤为重要。本文设计了基于PIC单片机的LIN总线主从节点,并实现了主从节点间的通信,其中,位定时的设定是影响通信速度的重要因素。该研究为下一步将LIN总线应用到汽车的联合装配控制单元中打下良好的基础。

    本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

    展开全文
  • 人工神经网络有两个重要的超参数,用于控制网络的体系结构或拓扑:层数和每个隐藏层中的节点数。配置网络时,必须指定这些参数...这篇文章中,你将了解层和节点的作用,以及如何着手为你的预测建模问题配置多层感...

    人工神经网络有两个重要的超参数,用于控制网络的体系结构或拓扑:层数和每个隐藏层中的节点数。配置网络时,必须指定这些参数的值。

    为你的特定预测建模问题配置这些超参数的最可靠方法是通过强大的测试工具系统实验。

    对于初学者来说,寻找一种分析方法来计算最佳层数和节点数,或者遵循简单的经验法则,可能是一个很难接受的机器学习领域。

    在这篇文章中,你将了解层和节点的作用,以及如何着手为你的预测建模问题配置多层感知器神经网络。

    阅读这篇文章后,你会知道:

    • 单层和多层感知器网络之间的区别。
    • 在网络中拥有一个和多个隐藏层的价值。
    • 配置网络中的层数和节点数的五种方法。

    让我们开始吧。

    如何配置神经网络中的层数和节点数

    这篇文章分为四个部分; 他们是:

    1. 多层感知器
    2. 如何计算层?
    3. 为什么要有多个层?
    4. 要使用多少层和节点?

    多层感知器

    节点,也称为神经元或感知器,是具有一个或多个权重输入连接的计算单元,它以某种方式连接输入的转移函数,并且连接输出。然后将节点组织成层以构成网络。

    单层人工神经网络,也简称为单层,顾名思义,具有单层节点。单层中的每个节点直接连接到输入变量并提供输出变量。

    单层网络只有一层活动的单元。输入通过单层权重直接连接到输出。输出不相互影响,因此具有N个输出的网络可被视为N个分离的单输出网络。

    – 第15页,Neural Smithing: Supervised Learning in Feedforward Artificial Neural Networks,1999。

    单层网络可以扩展到多层网络,也曾为称为多层感知器。多层感知器(MLP)是具有不止一层的人工神经网络。

    它有一个连接到输入变量的输入层,一个或多个隐藏层,以及一个产生输出变量的输出层。

    标准多层感知器(MLP)是单层感知器的连接在一起。存在一层输入节点,一层输出节点和一个或多个中间层。中间层也被称为“隐藏层”,因为它们不能直接从系统输入和输出中观察到。

    – Page 31,Neural Smithing: Supervised Learning in Feedforward Artificial Neural Networks,1999。

    我们可以总结MLP中层的类型如下:

    • 输入层:输入变量,有时称为可见层。
    • 隐藏层:输入和输出层之间的节点层。这些层可能存在一个或多个。
    • 输出层:生成输出变量的节点层。

    最后,以下是用于描述神经网络形状和能力的一些术语:

    • 尺寸:模型中的节点数。
    • 宽度:特定层中的节点数。
    • 深度:神经网络中的层数。
    • 能力:可以通过网络配置学到的函数的类型或结构。有时被称为“ 表征能力 ”。
    • 架构:网络中层和节点的具体排列。

    如何计算层?

    过去,对于如何计算层数存在一些分歧。

    分歧的核心在于输入层是否被计算在内。有一种观点认为不应该计算它,因为输入并不活动,它们只作输入变量。我们将使用这个惯例; 这也是《Neural Smithing》 一书中推荐的惯例。

    因此,具有输入层,一个隐藏层和一个输出层的MLP是2层MLP!

    可以使用简单的符号来概括MLP的结构。

    这种方便的表示法表述了每层的层数和节点数。每个层中的节点数被指定为一个整数,从输入层到输出层,每个层的尺寸由一个正斜线字符(/)分隔。

    例如,输入层中具有两个变量的网络,有一个具有八个节点的隐藏层和具有一个节点的输出层使用符号来描述为:2/8/1。

    我建议在描述多层感知器神经网络的层及其尺寸时使用此表示法。

    为什么要有多个层?

    在我们查看要指定的层数之前,有必要先思考为什么我们希望拥有多个层。

    单层神经网络只能用于表示线性可分离的函数。也就是说非常简单的问题,例如,分类问题中可以被一行整齐地分隔开的两个类。如果你的问题相对简单,那么单层网络就足够了。

    然而,我们有兴趣解决的大多数问题都不是线性可分的。

    多层感知器可用于表示凸区域。这意味着,实际上,他们可以学习在一些高维空间中围绕实例绘制形状,以对它们进行分类,从而克服线性可分性的限制。

    实际上,Lippmann在1987年的论文“An introduction to computing with neural nets ”中有一个理论发现,它表明具有两个隐藏层的MLP足以创建任何所需形状的分类区域。这很有启发性,但应该注意的是,没有给出每层中使用多少节点或如何学习权重的指示。

    进一步的理论发现和证明已经显示MLP是万能逼近器。有了一个隐藏层,MLP就可以逼近我们需要的任何函数。

    具体而言,万能逼近定理表明:只要有足够的隐藏节点,具有线性输出层和至少一个具有任何“压缩”激活函数(如,logistic sigmoid)的隐藏层的前馈网络可以从一个有限维空间到另一个有限维空间有任意的非零误差逼近任何波莱尔可测函数。

    – 第198页,Deep Learning,2016年。

    这是一个经常被引用的理论发现,关于它的文献很多。在实践中,我们同样不知道在给定问题的单个隐藏层中要使用多少节点,也不知道如何有效地学习或设置其权重。此外,已经出现了许多反例,有些函数不能通过单个隐藏层的MLP直接学习或者需要无限数量的节点。

    即使对于那些可以通过足够大的单隐藏层MLP学习的函数,使用两个(或更多)隐藏层来学习它也会更有效。

    既然一个足够大的隐藏层足以近似大多数函数,为什么还有人会使用更多呢?其中一个原因在于“足够大”这个词。虽然单个隐藏层对于某些函数是最佳的,但是与有更多层的解决方案相比,单隐藏层解决方案的效率非常低。

    – 第38页,Neural Smithing: Supervised Learning in Feedforward Artificial Neural Networks,1999。

    要使用多少层和节点?

    有了前面的铺垫,让我们来处理你真正的问题。应该在多层感知器中使用多少层,每层有多少个节点?

    在本节中,我们将列举解决此问题的五种方法。

    1)实验

    一般来说,当我被问到用于MLP的层数和节点数时,我经常回复:

    我不知道,你要使用系统的实验来发现对特定数据集最有效的方法。

    我仍然坚持这个答案。

    通常,你无法分析计算人工神经网络中每层使用的层数或节点数,以解决特定的实际预测建模问题。

    每层中的层数和节点数是必须指定的模型超参数。

    你可能是第一个尝试使用神经网络解决自己的特定问题的人。在你之前没有人解决过它。因此,没有人能告诉你如何配置网络的正确答案。

    你必须使用强大的测试工具和受控实验来发现答案。推荐文章:

    • https://machinelearningmastery.com/evaluate-skill-deep-learning-models/

    无论你遇到什么样的启发式方法,所有答案都会回到需要仔细的实验​​来查看哪种方法最适合你的特定数据集。

    2)直觉

    网络可以通过直觉进行配置。

    例如,你可能有直觉认为需要深层网络来解决特定的预测建模问题。

    深度模型提供了层次结构,这种层次构建了从输入变量空间到输出变量的不断增加的抽象级别。

    如果对问题域有了一定的了解,我们可能认为需要深层次模型来充分解决预测问题。在这种情况下,我们可以选择具有多层深度的网络配置。

    选择深度模型编码了一个非常常见的信念,即我们想要学习的函数应该包含几个更简单函数的组合。这可以从表示学习的角度解释为我们认为学习问题由发现发现的一组潜在的变异因素构成,这些因素又可以用其他更简单的变异潜在因素来描述。

    – 第201页,Deep Learning,2016年。

    这种直觉可以来自领域的经验,神经网络建模问题的经验,或者两者都有。

    根据我的经验,直觉常常被实验证明是无效的。

    3)去深度

    在他们重要的深度学习教科书中,Goodfellow,Bengio和Courville强调,在经验上,对于感兴趣的问题,深度神经网络似乎表现得更好。

    具体而言,他们表示在深度可能直观有益的情况下,选择使用深度神经网络作为统计论据。

    从经验上看,深度越大,对各种任务的归纳就越好。[…]这表明使用深层架构确实在模型学习的函数空间上表达了一个有用的先验。

    – 第201页,Deep Learning,2016年。

    我们可以使用这个论点来建议使用深层网络,具有多层的网络,可能是一种配置网络的启发式方法,以应对具有挑战性的预测建模问题。

    这与从随机森林和随机梯度提升开始对预测建模问题的建议类似,利用表格数据,在测试其他方法之前快速地了解模型技能的上限。

    4)借用思想

    一种简单但可能很耗时的方法是利用文献中报道的研究结果。

    查找研究论文,描述在预测问题的实例上使用MLP,以类似方式解决你的问题。请注意这些文章中使用的网络配置,并将它们作为测试自己问题的配置起点。

    模型超参数的可转移性导致从一个问题到另一个问题的巧妙的模型,这是一个具有挑战性的开放问题,并且这就是模型超参数配置比艺术更具艺术性的原因。

    然而,在相关问题上使用的网络层和节点数量是测试想法的良好起点。

    5)搜索

    设计自动搜索以测试不同的网络配置。你可以用文学和直觉的想法来进行搜索。

    一些流行的搜索策略包括:

    • 随机:尝试每层的层和节点的随机配置。
    • 网格:尝试系统地搜索每个层的层数和节点数。
    • 启发式:尝试在配置上进行定向搜索,如遗传算法或贝叶斯优化。
    • 穷举:尝试所有层的组合和节点的数量;它可能适用于小型网络和数据集。

    对于大型模型,大型数据集以及或者都大,这可能具有挑战性。减少或管理计算负担的一些想法包括:

    • 在训练数据集的较小子集上拟合模型以加速搜索。
    • 严格限制搜索空间的大小。
    • 跨多个服务器实例并行化搜索(例如,使用Amazon EC2服务)。

    如果时间和资源允许,我建议系统化的搜索。

    拓展阅读

    如果希望深入了解,本节将提供有关该主题的更多资源。

    论文

    • https://ieeexplore.ieee.org/abstract/document/1165576/
    • https://www.tandfonline.com/doi/abs/10.1080/01431160802549278

    • https://amzn.to/2vhyW8j
    • https://amzn.to/2IXzUIY

    文章

    • https://en.wikipedia.org/wiki/Artificial_neural_network
    • https://en.wikipedia.org/wiki/Universal_approximation_theorem
    • http://www.faqs.org/faqs/ai-faq/neural-nets/part3/section-9.html

    总结

    在这篇文章中,你将了解层和节点的作用,以及如何着手为你的预测建模问题配置多层感知器神经网络。

    阅读这篇文章后,你会知道:

    • 单层和多层感知器网络之间的区别。
    • 在网络中拥有一个和多个隐藏层的价值。
    • 配置网络中的层数和节点数的五种方法。
    展开全文
  • 由于必须按顺序存储,链表插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)。...
  • 2、​以下说法不正确的是 ___B___。 A.数据元素是数据的基本单位 B.数据项可由若干个数据元素构成 C.数据可由若干个数据元素构成 D.数据项是可分割的最小标识单位 3、‌数据结构是指 __C____ ...
  • 超硬核!数据结构学霸笔记,考试面试吹牛就靠它

    万次阅读 多人点赞 2021-03-26 11:11:21
    O(N*logN),整个程序时间复杂度为O(N^3),因为随着N的增长,其它项都会忽略 3)算法分析的目的是分析算法的效率以求改进 4)对算法分析的前提是算法必须正确 5)原地工作指的不是需要空间,而是空间复杂度O(1),...
  • 为神经网络选择正确的激活函数

    千次阅读 2022-01-21 10:02:43
    激活函数应用于隐藏层和输出层中每个节点的称为 z 的输入加权和(此处输入可以是原始数据或前一层的输出)。 本篇文章中我们将讨论神经网络中常见的激活函数,并使用可视化技术帮助你了解激活函数的函数定义和不同...
  • K8s 很难么?带你从头到尾捋一遍,信你学不会

    千次阅读 多人点赞 2022-02-17 00:14:16
    点击关注公众号,回复“1024”获取2TB学习资源!为什么要学习 Kubernetes?虽然 Docker 已经很强大了,但是实际使用上还是有诸多不便,比如集群管理、资源调度、文件管理等...
  • 由于图可能是规则的,图可能具有可变大小的无序节点,并且来自图中的节点可能具有不同数量的邻居,导致一些重要的操作(例如卷积)图像域中很容易计算,但是难以应用于图域。 此外,现有机器学习算法的一个核心...
  • 作者最近复习考博,乘此机会分享一些计算机科学与技术、软件工程等相关专业课程考题,一方面分享给考研、考博、找工作的博友,另一方面也是自己今后完成这些课程的复习资料,同时也是在线笔记。基础知识,希望对您...
  • 实验1 BP神经网络实验

    千次阅读 2019-01-31 22:13:51
    实验1 BP神经网络实验 实验2 som网实验 实验3 hopfield实现八皇后问题 实验4 模糊搜索算法预测薄冰厚度 实验5 遗传算法求解tsp问题 实验6 蚁群算法求解tsp问题 实验7 粒子群优化算法求解tsp问题 实验8 分布...
  • 坐标计算是根据图纸中“直线及曲线转角一览表”提供的数据计算道路中桩坐标,然后和图纸提供的“逐桩坐标表”比对,如果一样则说明输入平曲线参数输入正确,可以计算边桩坐标和其他结构物坐标了;如果中桩坐标一样...
  • ANSYS——如何选择合适的单元类型

    千次阅读 2020-05-26 11:11:27
    1.该选杆单元(Link)还是梁单元(Beam)? 2.对于薄壁结构,是选实体单元还是壳单元? 3.实体单元的选择 一、单元1)link(杆)系列: (2)beam(梁)系列: (3)shell(板壳)系列 (4)solid(体)系列 (5)...
  • ANSYS中SHELL181单元理解和参数详解 -

    千次阅读 2020-12-30 04:12:10
    顶部和底部的平均值合适的时候,你应该用这个选项来得到正确的中见面的结果(薄膜结果);例子中包含黑线性材料特性的中间面应力、应变 ,以及包含诸如谱分析等测长操作的模态叠加之后的中间面结果。 KEYOPT(9) = 1...
  • 确定渲染树种所有节点的几何属性,比如:位置、大小等等,最后输入一个盒子模型,它能精准地捕获到每个元素屏幕内的准确位置与大小。 然后遍历渲染树,调用渲染器的 paint() 方法屏幕上显示其内容。 6.5. 合并...
  • 上一次介绍了界面和一个简单的自由落体,然而实际运用中,机器人的结构都是可以大做文章的,天马星空的想象如果能仿真中运行一下是再好不过了的。这一次说一说webots下建模。    本人是学机械的,都知道...
  • 牛逼!Java 从入门到精通,超全汇总版

    万次阅读 多人点赞 2021-05-06 19:40:33
    读这本书仅仅是学习知识,而是学习一种思考的方法,学习一种认知的技巧,学习一种成长的阶梯。总之,用你闲暇的时间来读这本书,并不亚于你专注的工作或学习。 图解设计模式 设计模式更多是一种思想,而不是一...
  • 布局与绘制 确定渲染树种所有节点的几何属性,比如:位置、大小等等,最后输入一个盒子模型,它能精准地捕获到每个元素屏幕内的准确位置与大小。 然后遍历渲染树,调用渲染器的 paint() 方法屏幕上显示其内容。...
  • 见图 ,可以看到当总线出现帧起始信号时,某节点检测到总线的帧起始信号不在节点内部时序的 SS 段范围,所以判断它自己的内部时序与总线不同步,因而这个状态的采样点采集得的数据是不正确的。所以节点以硬同步的...
  • fei33423 Merkle Tree 注意比特币的 tree , spv 简单支付证明,先通过服务端找到交易的块. 即证明了.Merkle Tree概念Merkle Tree,通常也被称作...非叶节点是其对应子节点串联字符串的hash。[1] phil 注: 这张图,有...
  • 成功登录系统,出发地城市分别选择100个不存在的、或不在中国境内的城市,无法购票,对应同一个备选事件流 B.系统登录失败,该流程对应的是备选事件流 C.成功登录系统,为已有乘车人成功购买单程、单张车票,该...
  • 使用GATT承载层时需要将蓝牙mesh协议数据单元(PDU)封装代理协议(Proxy Protocol)中,我们将下文中对此进行详细介绍。   节点与特性 成为蓝牙mesh网络中一员的设备被称为节点(Node) 。很多种...
  • 七月在线深度学习错题刷

    千次阅读 2019-09-01 10:32:53
    8、 CNN中使用1×1卷积时,下列哪一项是正确的? A 它可以帮助降低维数 B 可以用于特征池 C 由于小的内核大小,它会减少过拟合 D 所有上述 解析:1×1卷积CNN中被称为bottleneck structure。 正解D...
  • 某Java大佬地表最强Java企业(阿里)面试总结

    万次阅读 多人点赞 2020-08-23 19:48:06
    面试题真的是博大精深,也通过这个面试题学到了很多...Hashtable 中的方法是Synchronize的,而HashMap中的方法缺省情况下是非Synchronize的。 HashMap把Hashtable的contains方法去掉了,改成containsValue和contains.
  • 单元测试中测试用例的设计方法

    千次阅读 2018-12-13 15:26:16
    1. 用于语句覆盖的基路径法 基路径法保证设计出的测试用例...控制流图是描述程序控制流的一种图示方法,主要由结点和边构成,边代表控制流的方向,节点代表控制流的汇聚处,边和结点圈定的空间叫做区域,下面是控...
  • NC6.3常见问题记录

    千次阅读 2020-12-23 07:27:19
    业务单元——辅助功能——业务期初期间物料委托优先级:物料档案先分配组织才能指定采购类型,指定采购类型时一旦指定了采购组织,那么采购业务委托关系中再次指定其他采购组织将不会生效集采控制三种方式:1....
  • Vue面试题-1

    千次阅读 2020-07-27 17:11:01
    1.Vue中,如果转义输出?( ) A v-bind B {{@ }} C v-html D <%= %> 正确答案: C 2.插值语法中支持的下列哪项操作?( ) A a + b B if(a) b C a && b D a ? b : c 正确答案: B 解析: 语句...
  • 软件测试过程与方法_第2单元

    千次阅读 2020-03-12 08:56:01
    成功登录系统,出发地城市分别选择100个不存在的、或不在中国境内的城市,无法购票,对应同一个备选事件流 C.成功登录系统,为已有乘车人成功购买单程、单张车票,该流程对应的是基本事件流 D.系统登录失败,该流程...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 58,123
精华内容 23,249
关键字:

在单元1输入的节点不正确