`
大涛学长
  • 浏览: 120076 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flink on YARN(下):常见问题与排查思路

阅读更多
Flink 支持 Standalone 独立部署和 YARN、Kubernetes、Mesos 等集群部署模式,其中 YARN 集群部署模式在国内的应用越来越广泛。Flink 社区将推出 Flink on YARN 应用解读系列文章,分为上、下两篇。上篇分享了基于 FLIP-6 重构后的资源调度模型介绍 Flink on YARN 应用启动全流程,本文将根据社区大群反馈,解答客户端和 Flink Cluster 的常见问题,分享相关问题的排查思路。
客户端常见问题与排查思路
▼ 应用提交控制台异常信息:Could not build the program from JAR file.
这个问题的迷惑性较大,很多时候并非指定运行的 JAR 文件问题,而是提交过程中发生了异常,需要根据日志信息进一步排查。最常见原因是未将依赖的 Hadoop JAR 文件加到 CLASSPATH,找不到依赖类(例如:ClassNotFoundException: org.apache.hadoop.yarn.exceptions.YarnException)导致加载客户端入口类(FlinkYarnSessionCli)失败。
**▼ Flink on YARN 应用提交时如何关联到指定 YARN 集群?
**
Flink on YARN 客户端通常需配置 HADOOP_CONF_DIR 和 HADOOP_CLASSPATH 两个环境变量来让客户端能加载到 Hadoop 配置和依赖 JAR 文件。示例(已有环境变量 HADOOP_HOME 指定 Hadoop 部署目录):
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HADOOP_CLASSPATH=`${HADOOP_HOME}/bin/hadoop classpath`
▼ 客户端日志在哪里,如何配置?
客户端日志通常在 Flink 部署目录的 log 文件夹下:${FLINK_HOME}/log/flink-${USER}-client-.log,使用 log4j 配置:${FLINK_HOME}/conf/log4j-cli.properties。
有的客户端环境比较复杂,难以定位日志位置和配置时,可以通过以下环境变量配置打开 log4j 的 DEBUG 日志,跟踪 log4j 的初始化和详细加载流程:export JVM_ARGS="-Dlog4j.debug=true"
▼ 客户端疑难问题排查思路
当客户端日志无法正常定位时,可以修改 log4j 配置文件将日志级别由 INFO 改为 DEBUG 后重新运行,看是否有 DEBUG 日志可以帮助排查问题。对于一些没有日志或日志信息不完整的问题,可能需要开展代码级调试,修改源码重新打包替换的方式太过繁琐,推荐使用 Java 字节码注入工具 Byteman(详细语法说明请参考:Byteman Document),使用示例:
(1) 编写调试脚本,例如打印 Flink 实际使用的 Client 类,以下脚本表示在 CliFrontend#getActiveCustomCommandLine 函数退出时打印其返回值;
RULE test
CLASS org.apache.flink.client.cli.CliFrontend
METHOD getActiveCustomCommandLine
AT EXIT
IF TRUE
DO traceln("------->CliFrontend#getActiveCustomCommandLine return: "+$!);
ENDRULE
(2) 设置环境变量,使用 byteman javaagent:
export BYTEMAN_HOME=/path/to/byte-home
export TRACE_SCRIPT=/path/to/script
export JVM_ARGS="-javaagent:${BYTEMAN_HOME}/lib/byteman.jar=script:${TRACE_SCRIPT}"
(3) 运行测试命令 bin/flink run -m yarn-cluster -p 1 ./examples/streaming/WordCount.jar ,控制台将输出内容:
------->CliFrontend#getActiveCustomCommandLine return: org.apache.flink.yarn.cli.FlinkYarnSessionCli@25ce9dc4
Flink Cluster 常见问题与排查思路
▼ 用户应用和框架 JAR 包版本冲突问题
该问题通常会抛出 NoSuchMethodError/ClassNotFoundException/IncompatibleClassChangeError 等异常,要解决此类问题:
**
1.首先需要根据异常类定位依赖库*,然后可以在项目中执行 mvn dependency:tree 以树形结构展示全部依赖链,再从中定位冲突的依赖库,也可以增加参数 -Dincludes 指定要显示的包,格式为 [groupId]:[artifactId]:[type]:[version],支持匹配,多个用逗号分隔,例如:mvn dependency:tree -Dincludes=power,javaassist;
2.定位冲突包后就要考虑如何排包,简单的方案是用 exclusion 来排除掉其从他依赖项目中传递过来的依赖,不过有的应用场景需要多版本共存,不同组件依赖不同版本,就要考虑用 Maven Shade 插件来解决,详情请参考 Maven Shade Plugin。
▼ 依赖库有多版本 JAR 包共存时如何确定某类的具体来源?
很多应用运行 CLASSPATH 中存在相同依赖库的多个版本 JAR 包,导致实际使用的版本跟加载顺序有关,排查问题时经常需要确定某个类的来源 JAR,Flink 支持给 JM/TM 进程配置 JVM 参数,因此可以通过下面三个配置项来打印加载类及其来源(输出在 .out 日志),根据具体需要选择其中之一即可:
env.java.opts=-verbose:class   //配置JobManager&TaskManager
env.java.opts.jobmanager=-verbose:class  //配置JobManager
env.java.opts.taskmanager=-verbose:class  //配置TaskManager
▼ Flink 应用的完整日志如何查看?
Flink 应用运行中的 JM/TM 日志可以在 WebUI 上查看,但是查问题时通常需要结合完整日志来分析排查,因此就需要了解 YARN 的日志保存机制,YARN 上 Container 日志保存位置跟应用状态有关:
1.如果应用还没有结束,Container 日志会一直保留在其运行所在的节点上,即使 Container 已经运行完成仍然可以在所在节点的配置目录下找到: ${yarn.nodemanager.log-dirs}//,也可以直接从 WebUI访问:http:///node/containerlogs//
2.如果应用已结束并且集群启用了日志收集(yarn.log-aggregation-enable=true),则通常应用结束后(也有配置可以增量上传)NM会将其全部日志上传至分布式存储(通常是 HDFS)并删除本地文件,我们可以通过 yarn 命令 yarn logs -applicationId -appOwner 查看应用的全部日志,还可以增加参数项 -containerId -nodeAddress 来查看某 container 的日志,也可以直接访问分布式存储目录:${yarn.nodemanager.remote-app-log-dir}/${user}/${yarn.nodemanager.remote-app-log-dir-suffix}/
▼ Flink 应用资源分配问题排查思路
如果 Flink 应用不能正常启动达到 RUNNING 状态,可以按以下步骤进行排查:
1.需要先检查应用当前状态,根据上述对启动流程的说明,我们知道:
处于 NEW_SAVING 状态时正在进行应用信息持久化,如果持续处于这个状态我们需要检查 RM 状态存储服务(通常是 ZooKeeper 集群)是否正常;
如果处于 SUBMITTED 状态,可能是 RM 内部发生一些 hold 读写锁的耗时操作导致事件堆积,需要根据 YARN 集群日志进一步定位;
如果处于 ACCEPTED 状态,需要先检查 AM 是否正常,跳转到步骤2;
如果已经是 RUNNING 状态,但是资源没有全部拿到导致 JOB 无法正常运行,跳转到步骤 3;
2.检查 AM 是否正常,可以从 YARN 应用展示界面(http:///cluster/app/)或 YARN 应用 REST API(http:///ws/v1/cluster/apps/)查看 diagnostics 信息,根据关键字信息明确问题原因与解决方案:
- Queue's AM resource limit exceeded. 原因是达到了队列 AM 可用资源上限,即队列的 AM 已使用资源和 AM 新申请资源之和超出了队列的 AM 资源上限,可以适当调整队列 AM 可用资源百分比的配置项:yarn.scheduler.capacity..maximum-am-resource-percent。
- User's AM resource limit exceeded. 原因是达到了应用所属用户在该队列的 AM 可用资源上限,即应用所属用户在该队列的 AM 已使用资源和 AM 新申请资源之和超出了应用所属用户在该队列的 AM 资源上限,可以适当提高用户可用 AM 资源比例来解决该问题,相关配置项:yarn.scheduler.capacity..user-limit-factor 与 yarn.scheduler.capacity..minimum-user-limit-percent。
- AM container is launched, waiting for AM container to Register with RM. 大致原因是 AM 已启动,但内部初始化未完成,可能有 ZK 连接超时等问题,具体原因需排查 AM 日志,根据具体问题来解决。
- Application is Activated, waiting for resources to be assigned for AM. 该信息表示应用 AM 检查已经通过,正在等待调度器分配,此时需要进行调度器层面的资源检查,跳转到步骤 4。
3.确认应用确实有 YARN 未能满足的资源请求:从应用列表页点击问题应用 ID 进入应用页面,再点击下方列表的应用实例 ID 进入应用实例页面,看 Total Outstanding Resource Requests 列表中是否有 Pending 资源,如果没有,说明 YARN 已分配完毕,退出该检查流程,转去检查 AM;如果有,说明调度器未能完成分配,跳转到步骤4;
4.调度器分配问题排查,YARN-9050 支持在 WebUI 上或通过 REST API 自动诊断应用问题,将在 Hadoop3.3.0 发布,之前的版本仍需进行人工排查:
检查集群或 queue 资源,scheduler 页面树状图叶子队列展开查看资源信息:Effective Max Resource、Used Resources:(1)检查集群资源或所在队列资源或其父队列资源是否已用完;(2)检查叶子队列某维度资源是否接近或达到上限;
检查是否存在资源碎片:(1)检查集群 Used 资源和 Reserved 资源之和占总资源的比例,当集群资源接近用满时(例如 90% 以上),可能存在资源碎片的情况,应用的分配速度就会受影响变慢,因为大部分机器都没有资源了,机器可用资源不足会被 reserve,reserved 资源达到一定规模后可能导致大部分机器资源被锁定,后续分配可能就会变慢;(2)检查 NM 可用资源分布情况,即使集群资源使用率不高,也有可能是因为各维度资源分布不同造成,例如 1/2 节点上的内存资源接近用满 CPU 资源剩余较多,1/2 节点上的 CPU 资源接近用满内存资源剩余较多,申请资源中某一维度资源值配置过大也可能造成无法申请到资源;
检查是否有高优先级的问题应用频繁申请并立即释放资源的问题,这种情况会造成调度器忙于满足这一个应用的资源请求而无暇顾及其他应用;
检查是否存在 Container 启动失败或刚启动就自动退出的情况,可以查看 Container 日志(包括 localize 日志、launch 日志等)、YARN NM 日志或 YARN RM 日志进行排查。
▼ TaskManager 启动异常:
org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container. This token is expired. current time is ... found ...
该异常在 Flink AM 向 YARN NM 申请启动 token 已超时的 Container 时抛出,通常原因是 Flink AM 从 YARN RM 收到这个 Container 很久之后(超过了 Container有效时间,默认 10 分钟,该 Container 已经被释放)才去启动它,进一步原因是 Flink 内部在收到 YARN RM 返回的 Container 资源后串行启动。
当待启动的 Container 数量较多且分布式文件存储如 HDFS 性能较慢(启动前需上传 TaskManager 配置)时 Container 启动请求容易堆积在内部,FLINK-13184 对这个问题进行了优化,一是在启动前增加了有效性检查,避免了无意义的配置上传流程,二是进行了异步多线程优化,加快启动速度。
▼ Failover 异常 1:
java.util.concurrent.TimeoutException: Slot allocation request timed out for ...
异常原因是申请的 TaskManager 资源无法正常分配,可以按 Flink 应用资源分配问题排查思路的步骤4排查问题。
▼ Failover 异常 2:
java.util.concurrent.TimeoutException: Heartbeat of TaskManager with id timed out.
异常直接原因是 TaskManager 心跳超时,进一步原因可能有:
进程已退出,可能自身发生错误,或者受到 YARN RM 或 NM 上抢占机制影响,需要进一步追查 TaskManager 日志或 YARN RM/NM 日志;
进程仍在运行,集群网络问题造成失联,连接超时会自行退出,JobManager 在该异常后会 Failover 自行恢复(重新申请资源并启动新的 TaskManager);
进程 GC 时间过长,可能是内存泄露或内存资源配置不合理造成,需根据日志或分析内存进一步定位具体原因。
▼ Failover 异常 3:
java.lang.Exception: Container released on a lost node
异常原因是 Container 运行所在节点在 YARN 集群中被标记为 LOST,该节点上的所有 Container 都将被 YARN RM 主动释放并通知 AM,JobManager 收到此异常后会 Failover 自行恢复(重新申请资源并启动新的 TaskManager),遗留的 TaskManager 进程可在超时后自行退出。
▼ Flink Cluster 疑难问题排查思路
首先根据 JobManager/TaskManager 日志分析定位问题,完整日志请参考“Flink 应用的完整日志如何查看”,如果想获取 DEBUG 信息,需修改 JobManager/TaskManager 的 log4j 配置(${FLINK_HOME}/conf/log4j.properties)后重新提交运行,对于仍在运行的进程,推荐使用 Java 字节码注入工具 Byteman 来一窥进程内部的相关状态,详细说明请参考:How Do I Install The Agent Into A Running Program?
参考资料
文中绿色字体部分均有跳转,详细参考资料请见下方链接:
Byteman Documents
Maven Shade Plugin
YARN-9050
FLINK-13184
How Do I Install The Agent Into A Running Program?
Flink on YARN 上、下两篇文章对 Flink on YARN 应用启动全流程进行梳理,并对客户端和 Flink Cluster 的常见问题提供了排查思路,供大家参考,希望在应用实践中能够对大家有所帮助。
本文作者:杨弢(搏远)
原文链接:https://yq.aliyun.com/articles/719703?utm_content=g_1000079636
本文为云栖社区原创内容,未经允许不得转载。
分享到:
评论

相关推荐

    flink-1.13.1 cdh6.3.2

    3. **配置Flink**:在每个节点上,配置`conf/flink-conf.yaml`,设置Flink与CDH的交互参数,如YARN的资源配置、日志路径等。 4. **启动Flink服务**:通过`flink-yarn-session.sh`或`flink-standalone.sh`命令启动...

    flink1.14.3-on-cdh6.3.2

    9. **监控与日志**:利用CDH的监控工具(如Cloudera Manager)以及Flink自带的监控接口,进行作业监控和问题排查。 10. **开发与调试**:使用Flink的API进行作业开发,以及在CDH环境下进行调试和测试的最佳实践。 ...

    Apache Flink 十大技术难点实战.pdf

    Flink on YARN的部署涉及了基础架构和启动流程的掌握,同时也需要了解如何排查和解决YARN环境下Flink作业的常见问题。 Flink社区不断增长和完善,提供了丰富的文档和教程帮助用户学习和使用。对于想要深入了解Flink...

    藏经阁-Apache Flink 十大技术难点实战-114.pdf

    6. Flink on YARN的上下两部分详细介绍了YARN环境下的部署架构和常见问题的处理方法,帮助用户更好地理解和应对集群规划与运维问题。 总之,Apache Flink 1.10.0的发布带来了许多重要的改进,包括内存管理的优化、...

    《基于YOLOv8的八段锦练习指导系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    大语言模型教育应用中的知识冲突挑战与应对策略

    内容概要:本文详细探讨了大语言模型(LLMs)在教育应用中遇到的知识冲突问题,包括概念定义、事实陈述和逻辑推理层面的认知不一致性。文章分析了知识冲突的技术成因,如训练数据噪声、参数化知识表示的局限、推理机制的缺陷、模型架构的不足及外部知识的偏差,并探讨了这些因素对教育应用的深远影响。文中提出了多维度的解决路径,如通过数据增强优化知识表示、利用提示强化上下文连贯、开发量规完善模型评估等。此外,文章从社会文化的宏观视角剖析了知识冲突的外部驱动因素,探讨如何在多元异质、动态演进的社会建构语境中构建开放进取、兼容融通的智能教育应用体系。 适合人群:从事教育技术研究的学者、教育工作者、人工智能研究人员和技术开发者。 使用场景及目标:①帮助教育工作者理解大语言模型在教育应用中的局限性;②为技术人员提供优化大语言模型教育应用的具体策略;③促进教育人工智能技术的可靠性、适应性和普及性提升。 其他说明:文章强调了知识冲突的有效化解不仅能够提升大语言模型在教育场景中的应用价值,还将为人工智能在更广泛领域的可持续发展奠定坚实基础。

    《基于YOLOv8的家具鉴定系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    数据结构day1-思维导图顺序表

    数据结构day1-思维导图顺序表

    STM32超声波红外避障小车

    STM32超声波红外避障小车项目通过STM32微控制器实现自动避障功能。硬件部分主要包括STM32开发板、超声波传感器、红外传感器、直流电机、电池模块和电机驱动模块。超声波传感器用于测量前方障碍物的距离,红外传感器帮助小车检测地面线路或障碍物。电机驱动模块通过STM32控制直流电机的转动,从而实现小车的前进、后退和转向。 在软件方面,STM32通过编写简单的避障算法,实时读取传感器数据,并根据环境信息控制小车的运动。当超声波传感器检测到障碍物时,系统会触发后退或转向操作,避免碰撞。

    哈尔滨工业大学DeepSeek公开课-从图灵测试到DeepSeek.pdf

    哈尔滨工业大学DeepSeek公开课-从图灵测试到DeepSeek.pdf

    《基于YOLOv8的冰上运动监测系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    《基于YOLOv8的体育产业监测系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    《基于YOLOv8的港口机械识别系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    oooooomy_vchat_1742859071.zip

    app开发

    《基于YOLOv8的3D打印缺陷检测系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    Screenshot_2025-03-31-19-36-01-657_com.UCMobile.jpg

    Screenshot_2025-03-31-19-36-01-657_com.UCMobile.jpg

    半导体过程控制篇 集成电路的可靠性仿真_03_31_153111.docx

    半导体过程控制篇 集成电路的可靠性仿真_03_31_153111.docx

    社交应用_鸿蒙OS_API12_高仿微信APP_开发示例_1742847098.zip

    社交应用_鸿蒙OS_API12_高仿微信APP_开发示例_1742847098.zip

    《基于YOLOv8的民间体育监测系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    安卓_热更新_简化编译_HTHotFix框架_1742849446.zip

    app开发

Global site tag (gtag.js) - Google Analytics