二维卷积实验(平台课与专业课要求相同) 1.手写二维卷积的实现,并在至少一个数据集上进行实验,从训练时间、预测精度、Loss变化等角度分析实验结果(最好使用图表展示) 2.使用torch.nn实现二维卷积,并在至少一个数据集上进行实验,从训练时间、预测精度、Loss变化等角度分析实验结果(最好使用图表展示) 3.不同超参数的对比分析(包括卷积层数、卷积核大小、batchsize、lr等)选其中至少1-2个进行分析 4.使用PyTorch实现经典模型AlexNet并在至少一个数据集进行试验分析 (平台课同学选做,专业课同学必做)(无GPU环境则至少实现模型) 5.使用实验2中的前馈神经网络模型来进行实验,并将实验结果与卷积模型结果进行对比分析(选作) 空洞卷积实验(专业课) 1.使用torch.nn实现空洞卷积,要求dilation满足HDC条件(如1,2,5)且要堆叠多层并在至少一个数据集上进行实验,从训练时间、预测精度、Loss 2.变化等角度分析实验结果(最好使用图表展示)将空洞卷积模型的实验结果与卷积模型的结果进行分析比对...... 残差网络实验(专业课) 1.实现给定 2.
2024-08-03 21:20:52 750KB 交通物流 pytorch pytorch 深度学习
1
1.手动实现前馈神经网络解决上述回归、二分类、多分类任务 分析实验结果并绘制训练集和测试集的loss曲线 2.利用torch.nn实现前馈神经网络解决上述回归、二分类、多分类任务 分析实验结果并绘制训练集和测试集的loss曲线 3.在多分类实验的基础上使用至少三种不同的激活函数 对比使用不同激活函数的实验结果 4.对多分类任务中的模型评估隐藏层层数和隐藏单元个数对实验结果的影响 使用不同的隐藏层层数和隐藏单元个数,进行对比实验并分析实验结果 5.在多分类任务实验中分别手动实现和用torch.nn实现dropout 探究不同丢弃率对实验结果的影响(可用loss曲线进行展示) 6.在多分类任务实验中分别手动实现和用torch.nn实现L2正则化 探究惩罚项的权重对实验结果的影响(可用loss曲线进行展示) 7.对回归、二分类、多分类任务分别选择上述实验中效果最好的模型,采用10折交叉验证评估实验结果 要求除了最终结果外还需以表格的形式展示每折的实验结果
2024-07-29 22:15:36 1.41MB 交通物流 深度学习 神经网络
1
辽宁工程技术大学计算机类专业课程《数据结构》授课PPT课件+实例代码+上机实验+期末复习题(含答案) 内容概要: (1)授课PPT课件(普通版、美化版) (2)李春葆编著的《数据结构教程(第6版·微课视频·题库版)》、《数据结构教程(第6版)学习指导》源代码,及《数据结构教程上机实验指导》源代码 (3)两份与《数据结构教程(第6版·微课视频·题库版)》配套的数据结构考试题(含答案) (4)《数据结构(C语言篇)-习题与解析(修订版)》-李春葆[编著] (5)8个上机实验的实验代码及运行结果截图 (6)期末考试复习题(题库版,含答案)等 适用群体:适用于辽宁工程技术大学软件工程(专升本)、计算机科学与技术(专升本)等计算机类专业学习该课程的同学,有考研打算且需要参加《数据结构》科目考试的同学也可就此学习和参考 说明:2023年11月版
1
异步FIFO是一种在数字系统设计中常见的数据缓冲机制,特别是在高速数据传输和处理中。它的核心特性在于读写指针分别由两个不同时钟域控制,以解决时钟域间的数据传递问题,防止数据丢失或错误。在这个实验中,我们将深入探讨异步FIFO的设计与验证。 "RTL"通常指的是寄存器传输级(Register Transfer Level)设计,这是硬件描述语言(如Verilog或VHDL)中的一个层次,用于描述数字系统的逻辑功能。在RTL设计中,我们定义了电路中的每个逻辑门和寄存器以及它们之间的数据流动。在这个实验的"rtl"文件夹中,你应该能找到异步FIFO的Verilog或VHDL源代码,它会包括读写指针的管理、FIFO存储阵列以及必要的同步逻辑。 异步FIFO的关键在于其读写指针的管理。由于读写操作发生在不同的时钟域,需要额外的同步机制来确保正确性。这通常通过使用时钟边沿检测器和多个阶段的寄存器(通常称为“锁存器”或“缓冲区”)来实现。在RTL代码中,你需要查找这些同步结构,理解它们如何确保数据在两个时钟域之间正确传输。 "TB"代表测试平台(Testbench),是用于验证RTL设计正确性的模拟环境。在测试平台中,会模拟输入信号,然后检查输出是否符合预期的行为。"TB代码需要debug"提示我们,可能在测试平台的实现或与RTL接口的连接上存在一些问题,需要进行调试。调试TB通常涉及到设置激励,观察响应,并检查是否满足设计规范。对于异步FIFO,可能需要检查在各种边界条件(如满、空状态)下的行为,以及在读写速度不匹配时的数据完整性。 SV(SystemVerilog)是一种扩展的硬件描述语言,它提供了高级的验证工具和方法,如类、接口、覆盖点等,使得测试平台的构建更加高效和模块化。在本实验中,你可能会看到SV语言的一些特性被用来增强TB的功能,例如,使用随机化生成测试数据,或者通过接口来模拟外部系统与FIFO的交互。 在提供的"fifo部分代码.docx"文档中,可能会有更详细的关于FIFO设计思路的解释,或者是对TB调试步骤的指导。而"fifo"文件可能包含了其他与FIFO相关的资料或代码片段。 这个实验将让你深入了解异步FIFO的设计原理,以及如何使用硬件描述语言和验证技术来实现和测试这种关键的数字系统组件。在完成实验的过程中,你将提升对时钟域同步、数据缓冲和高级验证方法的理解,这些都是现代数字系统设计不可或缺的知识点。
2024-07-26 15:49:18 613KB 异步FIFO
1
STM32F103C8T6是意法半导体(STMicroelectronics)生产的一款高性能、低成本的微控制器,属于STM32系列的通用型MCU。它采用ARM公司的Cortex-M3内核,工作频率最高可达72MHz,具有丰富的外设接口,包括GPIO、ADC、UART、SPI、I2C、定时器等,广泛应用于各种嵌入式系统设计。在本实验中,我们将重点讨论如何利用STM32F103C8T6的编码器接口进行速度测量。 编码器是一种用于测量旋转角度或速度的设备,通常有增量型和绝对型两种。增量型编码器通过产生脉冲信号来表示角度变化,而绝对型编码器则直接提供当前角度位置信息。在STM32F103C8T6中,我们通常使用TIM(Timer)模块配合编码器接口来处理编码器信号,实现对电机或其他旋转装置的速度测量。 实验开始前,首先需要配置编码器接口。STM32F103C8T6有两个TIM模块(TIM2和TIM3)支持编码器模式。我们需要选择其中一个TIM,并将其两个输入捕获通道(通常为CH1和CH2)连接到编码器的A相和B相信号。在编码器模式下,这两个通道会检测到来自编码器的脉冲,根据A相和B相的相对极性变化,STM32可以确定脉冲的上升沿和下降沿,从而计算出旋转速度。 配置编码器接口的步骤大致如下: 1. 初始化时钟:开启TIM模块所需的APB1或APB2时钟。 2. 配置GPIO:设置编码器信号线的输入模式,一般为浮空输入。 3. 设置TIM工作模式:将TIM配置为编码器模式,可以选择正常模式或者单边模式,根据编码器类型选择合适的计数方式。 4. 配置TIM输入滤波器:减少噪声影响,确保正确捕获脉冲。 5. 设置TIM输入捕获通道:分配编码器信号到相应的通道,如TIM2的CH1和CH2。 6. 启动TIM:使能TIM的计数器。 在获取编码器信号后,我们需要通过TIM中断或者DMA来处理脉冲计数。每当检测到一个上升沿或下降沿,TIM都会生成一个中断请求,通过中断服务程序更新计数值。通过比较两次中断之间的时间差,我们可以计算出电机转速。 实验代码通常包括初始化函数、中断服务函数和主循环中的速度计算部分。初始化函数负责上述配置步骤,中断服务函数负责更新计数值,主循环则读取计数值并计算速度。速度计算公式通常为: \[ \text{Speed} = \frac{\text{Pulse Count}}{\text{Time Difference}} \] 其中,脉冲计数(Pulse Count)由中断服务程序维护,时间差(Time Difference)可通过定时器获取或软件计时实现。 在实际应用中,可能还需要考虑编码器分辨率、电机齿轮比等因素对速度的影响。此外,为了提高精度,可以使用PID控制算法来调整电机速度,使其更接近目标值。 总结来说,基于STM32F103C8T6的编码器接口测速实验涉及到STM32的定时器配置、编码器接口设置、中断服务以及速度计算等多个关键知识点。通过这个实验,开发者能够深入理解微控制器如何与编码器交互,以及如何利用这些信息进行实时的电机速度控制。
2024-07-15 11:26:23 285KB stm32
1
在本文中,我们将深入探讨基于万利STM3210B-LK1开发板的“实验5:外部中断实验”。这个实验旨在帮助我们理解和掌握STM32微控制器如何处理外部中断事件,这对于实时系统和响应关键应用至关重要。STM32是意法半导体(STMicroelectronics)推出的一系列高性能、低功耗的32位微控制器,广泛应用于各种嵌入式设计。 外部中断是STM32微控制器与外界交互的重要方式之一。它允许微控制器在外部信号发生变化时暂停当前任务,执行特定的中断服务程序,然后恢复原来的工作。这种机制使得STM32能够及时响应外部事件,如按钮按下、传感器检测等。 在STM32中,外部中断主要由GPIO(General-Purpose Input/Output)引脚管理。STM3210B-LK1开发板上的GPIO引脚可以被配置为输入模式,并且可以设置为触发中断的不同条件,例如上升沿、下降沿或两者的组合。在实验中,我们可能需要配置某个GPIO端口,比如PA0,来检测外部信号的变化。 实验步骤通常包括以下几个部分: 1. 初始化:首先要对STM32进行初始化,这包括设置时钟系统、GPIO端口模式以及中断控制器。我们需要开启相应的时钟,将GPIO端口配置为输入模式,并启用中断功能。 2. 配置中断线:选择需要监听的中断线,比如EXTI0,这对应于GPIOA的第0个引脚。通过设置EXTI寄存器,我们可以设置中断触发条件,比如上升沿触发。 3. 设置中断服务函数:当外部中断发生时,程序会跳转到预设的中断服务函数。在这个函数中,我们可以处理中断事件,例如读取GPIO状态、更新LED状态或者记录事件。 4. 启用中断:我们需要启用全局中断和具体的外部中断线。这样,一旦外部中断发生,CPU就会停止当前任务,执行中断服务程序。 5. 测试与调试:连接适当的外部设备(如按钮)并运行代码,观察中断是否正常工作。通过LED状态的变化或其他反馈机制,我们可以验证中断功能是否正确实现。 在STM32CubeMX或类似的配置工具中,这些配置过程可以更直观地完成。工具会自动生成初始化代码,简化了开发流程。同时,了解中断向量表和中断优先级的概念也很重要,它们决定了中断服务程序的执行顺序和处理方式。 这个“实验5:外部中断实验”是STM32学习中的一个重要环节,它帮助开发者理解如何利用STM32的中断机制来提高系统的实时性和效率。通过实践,你可以更好地掌握STM32的中断系统,为以后的项目打下坚实的基础。在实验过程中,务必细心操作,多加练习,以便深入理解外部中断的工作原理。
2024-07-15 11:02:56 324KB 外部中断实验 STM32
1
【跑马灯】是一种常见的电子工程实践中的演示项目,尤其在微控制器(MCU)学习和开发中,常被用来展示基本的数字电路控制和编程技术。在这个实验中,我们聚焦于万利STM3210B-LK1开发板上的跑马灯应用。 万利STM3210B-LK1是一款基于STM32系列的微控制器开发板,由意法半导体(STMicroelectronics)生产。STM32是基于ARM Cortex-M内核的高性能、低功耗的微控制器家族,广泛应用于各种嵌入式系统设计。该开发板通常配备丰富的外围接口和功能模块,便于开发者进行硬件调试和软件开发。 跑马灯实验的核心是通过编程控制板上的LED灯按照特定顺序亮灭,形成一种连续滚动的效果,类似于赛车跑道上的指示灯。在STM32中,我们可以使用GPIO(General Purpose Input/Output)端口来驱动这些LED。GPIO端口可以配置为输入或输出模式,本实验中我们将其配置为输出模式,以便向LED提供电流。 实验步骤通常包括以下几个部分: 1. **硬件连接**:需要确认开发板上的LED灯与STM32的GPIO引脚正确连接。万利STM3210B-LK1开发板上的LED可能已预焊在板上,每个LED通过跳线与特定的GPIO引脚相连。 2. **初始化GPIO**:在软件层面,需要配置STM32的GPIO寄存器,设置相应的GPIO端口为推挽输出模式,并设置初始电平。这通常在程序的启动阶段完成。 3. **编写循环控制**:然后,编写一个循环,依次改变LED的状态,例如从左到右逐个点亮,然后熄灭,再从右到左点亮,如此往复,形成跑马灯效果。可以使用延时函数控制LED状态改变的速度,以达到视觉上的滚动效果。 4. **程序烧录**:将编译好的固件通过USB接口或者JTAG/SWD调试接口烧录到STM32中。烧录工具可能包括STM32CubeProgrammer、JLink等。 5. **运行验证**:观察跑马灯是否按照预期工作。如果出现异常,可以通过调整代码或检查硬件连接来解决问题。 在学习这个实验时,开发者不仅能掌握STM32的基本GPIO操作,还能了解到中断、定时器等更高级的概念,因为这些都可以用来实现更复杂的跑马灯效果,比如多方向滚动、变色等。此外,通过这个简单的项目,开发者还能提升对C语言编程和嵌入式系统开发的理解。 万利STM3210B-LK1跑马灯实验是一个很好的起点,它能帮助初学者快速进入STM32的世界,同时也能为有经验的开发者提供一个练习和验证基本概念的平台。通过这个实验,你可以逐步熟悉STM32的开发环境、固件编程以及硬件调试,为后续更复杂的项目打下坚实的基础。
2024-07-15 10:58:43 335KB
1
在IT行业中,尤其是在地质力学和材料科学领域,模拟实验是理解和预测材料行为的重要手段。"单轴压缩实验5.0版3D" 是一个专用于模拟这类实验的软件工具,它基于PFC3D(Particle Flow Code in 3 Dimensions)平台进行设计。PFC3D是一种离散元方法(DEM)的高级软件,它能够精确地模拟颗粒材料的行为,如土壤、岩石或混凝土等。 单轴压缩试验是对材料进行力学性能测试的基本方法,通常用于研究固体材料的强度和变形特性。在这个实验中,试样会受到一个单一方向的载荷,导致试样在该方向上发生压缩。PFC3D的模拟能够再现这个过程,帮助科学家和工程师分析应力应变曲线,了解材料的弹性模量、屈服强度和破坏模式等关键参数。 在"单轴压缩实验5.0版3D"中,用户可以设定不同的边界条件、初始应力状态以及颗粒属性,以模拟不同工况下的实验。此外,该版本可能提供了更为精细的图形界面和增强的计算能力,使得用户能更直观地观察模拟过程,并进行更复杂的数据分析。 文件"单轴压缩实验5.0版3D.txt"可能是该模拟软件的操作手册、用户指南或者实验结果数据。通过阅读这份文档,用户可以学习如何设置和运行单轴压缩实验,包括创建模型、分配物理属性、施加边界条件、启动模拟以及解析和解读输出结果。 在实际应用中,PFC3D的单轴压缩模拟有助于在不需要进行昂贵实物实验的情况下评估新材料或工况,从而节省时间和资源。同时,对于那些难以直接进行实验的环境,如深部地下工程或极端条件下的材料行为,这种模拟工具更是不可或缺。 "单轴压缩实验5.0版3D"结合了PFC3D的强大功能,为地质力学和材料科学的研究提供了一个强大的工具,帮助科研人员深入理解材料的力学响应,为工程设计和灾害预防提供科学依据。通过详细学习和熟练掌握这一软件,工程师和科学家能够更加精准地预测和控制与材料压缩性能相关的工程问题。
2024-07-14 14:32:30 1KB pfc3d 单轴压缩试验 单轴压缩
1
全部11关的通关满分答案,直接复制即可提交 全部11关的通关满分答案,直接复制即可提交 全部11关的通关满分答案,直接复制即可提交 计算机组成原理运算器设计(HUST) 第1关:8位可控加减法电路设计 第2关:CLA182四位先行进位电路设计 第3关:4位快速加法器设计 第4关:16位快速加法器设计 第5关:32位快速加法器设计 第6关:5位无符号阵列乘法器设计 第7关:6位有符号补码阵列乘法器 第8关:乘法流水线设计 第9关:原码一位乘法器设计 第10关:补码一位乘法器设计 第11关:MIPS运算器设计
2024-07-14 12:01:10 722KB 计算机组成原理
1
基于Weka的数据分类分析实验报告范文全文共6页,当前为第1页。基于Weka的数据分类分析实验报告范文全文共6页,当前为第1页。基于Weka的数据分类分析实验报告范文 基于Weka的数据分类分析实验报告范文全文共6页,当前为第1页。 基于Weka的数据分类分析实验报告范文全文共6页,当前为第1页。 1实验目的 使用数据挖掘中的分类算法,对数据集进行分类训练并测试。应用不同的分类算法,比较他们之间的不同。与此同时了解Weka平台的基本功能与使用方法。 2实验环境 2.1Weka介绍 Weka是怀卡托智能分析系统的缩写,该系统由新西兰怀卡托大学开发。Weka使用Java写成的,并且限制在GNU通用公共证书的条件下发布。它可以运行于几乎所有操作平台,是一款免费的,非商业化的机器学习以及数据挖掘软件。Weka提供了一个统一界面,可结合预处理以及后处理方法,将许多不同的学习算法应用于任何所给的数据集,并评估由不同的学习方案所得出的结果。 图1Weka主界面 Weka系统包括处理标准数据挖掘问题的所有方法:回归、分类、聚类、关联规则以及属性选择。分析要进行处理的数据是重要的一个环节,Weka提供了很多用于数据可视化和与处理的工具。输入数据可以有两种形式,第一种是以ARFF格式为代表的文件;另一种是直接读取数据库表。 使用Weka的方式主要有三种:第一种是将学习方案应用于某个数据集,然后分析其输出,从而更多地了解这些数据;第二种是使用已经学习到的模型对新实例进预测;第三种是使用多种学习器,然后根据其性能表现选择其中一种来进行预测。用户使用交互式界面菜单中选择一种学习方基于Weka的数据分类分析实验报告范文全文共6页,当前为第2页。基于Weka的数据分类分析实验报告范文全文共6页,当前为第2页。法,大部分学习方案都带有可调节的参数,用户可通过属性列表或对象编辑器修改参数,然后通过同一个评估模块对学习方案的性能进行评估。 基于Weka的数据分类分析实验报告范文全文共6页,当前为第2页。 基于Weka的数据分类分析实验报告范文全文共6页,当前为第2页。 2.2数据和数据集 根据应用的不同,数据挖掘的对象可以是各种各样的数据,这些数据可以是各种形式的存储,如数据库、数据仓库、数据文件、流数据、多媒体、网页,等等。即可以集中存储在数据存储库中,也可以分布在世界各地的网络服务器上。 大部分数据集都以数据库表和数据文件的形式存在,Weka支持读取数据库表和多种格 式的数据文件,其中,使用最多的是一种称为ARFF格式的文件。 ARFF格式是一种Weka专用的文件格式,Weka的正式文档中说明AREF代表Attribute-RelationFileFormat(属性-关系文件格式)。该文件是ASCII文本文件,描述共享一组属性结构的实例列表,由独立且无序的实例组成,是Weka表示数据集的标准方法,AREF不涉及实例之间的关系。 3数据预处理 本实验采用Weka平台,数据使用Weka安装目录下data文件夹下的默认数据集iri.arff。 Iri是鸢尾花的意思,鸢尾花是鸢尾属植物,是一种草本开花植物的统称。鸢尾花只有三枚花瓣,其余外围的那三瓣乃是保护花蕾的花萼,只是由于这三枚瓣状花萼长得酷似花瓣,以致常常以假乱真,令人难以辨认。 基于Weka的数据分类分析实验报告范文全文共6页,当前为第3页。基于Weka的数据分类分析实验报告范文全文共6页,当前为第3页。由于本次使用平台自带的ARFF格式数据,所以不存在格式转换的过程。实验所用的ARFF格式数据集如图2所示。 基于Weka的数据分类分析实验报告范文全文共6页,当前为第3页。 基于Weka的数据分类分析实验报告范文全文共6页,当前为第3页。 图2AREF格式数据集(iri.arff) 鸢尾花的数据集包括三个类别:IriSetoa(山鸢尾)、IriVericolour(变色鸢尾)和IriVirginica(维吉尼亚鸢尾),每个类别各有50个实例。数据集定义了5个属性:epallength(花萼长)、epalwidth(花萼宽)、petallength(花瓣长)、petalwidth(花瓣宽)、cla(类别)。最后一个属性一般作为类别属性,其余属性都是数值,单位为cm(厘米)。 实验数据集中所有的数据都是实验所需的,因此不存在属性筛选的问题。若所采用的数 据集中存在大量的与实验无关的属性,则需要使用weka平台的Filter(过滤器)实现属性的筛选。 实验所需的训练集和测试集均为iri.arff。 4实验过程及结果 应用iri.arff数据集,分别采用LibSVM、C4.5决策树分类器和朴素贝叶斯分类器进行测试和评价,分别在训练数据上训练分类模型,找出各个模型最优的参数值,并对三个模型进行全面评价比较,得到一个最 《基于Weka的数据分类分析实验报告》 实验的主要目的是运用数据挖掘中的分类算法对特定数据集进行训练和测试,以对比不同算法的效果,并熟悉Weka这一数据挖掘工具的使用。Weka是由新西兰怀卡托大学开发的一款开源软件,它支持在多种操作系统上运行,涵盖了回归、分类、聚类、关联规则和属性选择等多种数据挖掘任务。Weka提供了一个直观的用户界面,用户可以通过菜单选择不同的学习算法,调整参数,并通过内置的评估模块来比较不同方案的性能。 实验环境主要涉及到Weka的介绍和数据集的选择。Weka能够处理多种数据源,包括ARFF格式的文件,这是Weka专用的一种属性-关系文件格式,用于描述具有相同属性结构的实例列表。实验选用的数据集是iri.arff,源自鸢尾花数据,包含了三个鸢尾花品种,每个品种有50个实例,共有5个属性,包括花萼长度、花萼宽度、花瓣长度、花瓣宽度和类别。数据集中的所有属性对于实验都是必要的,因此无需进行属性筛选。 在数据预处理阶段,实验直接使用了Weka自带的iri.arff数据,无需进行格式转换。实验过程中,分别使用了LibSVM、C4.5决策树和朴素贝叶斯三种分类器对数据集进行训练和测试,寻找最佳的模型参数。在模型训练后,通过对模型的全面评价,选取性能最佳的分类模型。 实验过程中的关键步骤包括使用Weka的Explorer界面,切换到Classify选项,选择相应的分类算法(如LibSVM),并设置交叉验证为10折,以确保模型的泛化能力。训练完成后,通过比较不同模型在训练集上的表现,确定最优模型及其参数,然后使用该模型对测试数据进行预测,以评估其在未知数据上的效果。 实验的结果分析会对比三种分类器的准确性、精度、召回率等指标,最终选择性能最优的模型。这种比较有助于理解不同算法的特性,同时也为实际问题的数据分类提供了参考。通过这样的实验,不仅能深入理解Weka工具的使用,还能掌握数据分类的基本流程和评价方法,对机器学习和数据挖掘有更深入的理解。
2024-07-13 18:27:08 47KB 文档资料
1