npj | ESA-ECMWF: 机器学习在地球系统观测和预测方面应用的最新进展和研究方向

Schneider, R., Bonavita, M., Geer, A. et al. ESA-ECMWF Report on recent progress and research directions in machine learning for Earth System observation and prediction. npj Clim Atmos Sci 5, 51 (2022). https://doi.org/10.1038/s41612-022-00269-z

来源:npj Climate and Atmospheric Science

翻译:Google translator (机器翻译,如有不当请见谅!)

本文简要总结了2021年11月15日至18日由欧洲航天局(ESA)和欧洲中期天气预报中心(ECMWF)组织的地球系统观测和预测机器学习(ML)研讨会(ESOP / ML4ESOP)的成果。为期4天的研讨会有30多位演讲者和30位海报展示者,吸引了来自全球85个国家的1100多名注册者。该研讨会旨在根据参与者的反馈,展示传统ESOP应用程序和ML方法之间的融合在何处以及如何显示出局限性,突出的机遇和挑战。来自ML4ESOP领域的所有主题领域也强调了未来的方向。

该研讨会由欧洲航天局(ESA)欧洲中期天气预报中心(ECMWF)合作主办,目的是将对传统地球系统观测和预测(ESOP)应用与机器学习(ML)方法之间的融合感兴趣的多元化社区聚集在一起。本报告总结了研讨会期间讨论的范围和深度,并强调了ML4ESOP中当前的局限性,挑战和机遇。

第二期研讨会分为4天(2021年11月15日至18日)。前3天主要来自四个主题领域(TA)的专家的33个口头报告:(1)用ML加强卫星观测,(2)混合数据同化 - ML方法,(3)使用ML和混合模型进行地球物理预测,以及(4)用于后处理和传播的ML。讲习班还举办了一次现场电子海报会议,在单独的虚拟会议室举办了30场海报展示,以促进网络和培育新的合作。在最后一天,是时候颠倒顺序并听取参与者的意见了,他们来自学术和行业背景,在ESOP应用程序的当前ML方法方面具有丰富的经验和专业知识。分成TA的工作组带来了一个多元化的社区,与更传统的方法相比,讨论了ML的优势和局限性,并概述了未来的方向。

研讨会开幕式上,Pierre-Philippe Mathieu(欧空局Φ实验室探索办公室主任)和Andy Brown(ECMWF研究主任)提供了发展愿景,使ESA和ECMWF的成员国和合作国都能从ML在卫星观测,天气和气候建模方面的进步中受益。按照介绍性发言中概述的步骤,Devis Tuia(瑞士联邦理工学院洛桑分校副教授,ESA Φ-lab客座教授)和Alan Geer(ECMWF首席科学家)分别就ESA和ECMWF目前如何研究和应用ML功能进行了补充概述,从而开始了科学讲座。既作为内部项目,也与外部 ML 专家合作。

Tuia博士强调了推进可解释的ML工具的重要性,他提到了ML方法,人类可以在预测之外进行解释(因为ML工具通常被视为“黑匣子”),并了解模型的内部功能,从给定参数定义到最终模型输出的内部决策。还有人强调,深度学习(DL)方法在遥感应用中的分布非常偏向于一个已解决的问题:特征检测(例如建筑物测绘,道路提取等)。根据Tuia及其同事,地球科学议程中的新ML已经到来,以彻底改变从地球观测(EO)卫星图像/视频中提取的价值,例如:事件识别(文化事件与表现形式),从景观感知中检测人类感觉,以及基于城市规划法规文本挖掘的建筑许可控制。

Geer博士还介绍了EO产品对数据同化系统的重要性,提供了地球物理大气状态的初始条件和参数估计,以描述进行地球物理预测所需的复杂物理动力学。将ML方法合并到数据同化中可以尝试模拟动态系统的全部或部分;因此,为该过程带来新功能。

以下各节将更详细地描述每个TA的讨论,涵盖三个关键主题:(1)当前的ML应用,(2)限制,机遇和挑战(3)未来方向

研讨会内容(录音、幻灯片和电子海报)可在ECMWF网页上找到:https://events.ecmwf.int/event/291/timetable/。

TA1:利用 ML 增强卫星观测

当前的 ML 应用程序

由Begüm Demir(柏林工业大学教授)和Bertrand Le Saux(欧空局高级科学家)主持的工作组团队概述了使用ML / DL方法(例如集合方法,随机森林,卷积神经网络等)进行地表监测,例如森林和生物量估计。.雷达反向散射(如欧空局的哨兵1 C波段)和光学图像(如欧空局的哨兵2多光谱仪器)被描述为估计森林生态系统清单的相关环氧运动产品。还提到了火山羽流监测,它既可以由地球静止和低地球轨道卫星(例如.MSG-SEVIRI和Sentinel 5P)观测,也可以通过化学运输模型(例如哥白尼大气监测服务(CAMS))进行模拟/跟踪(即其灰烬和气体扩散)。ML的探索可以与几个火山相关的主题联系起来,例如,使用Full-Physics逆神经网络检索灰分和二氧化硫层高度。此外,它还讨论了ML回归方法通过使用EO数据估计冰盖质量平衡的强大功能。因此,开放访问EO数据(例如哥白尼服务))带来了很多好处,将ML技术推向了EO应用。

限制、机遇和挑战

在讨论局限性时,参与者提到了ML训练和验证过程中的地面真实性可靠性问题,这可能需要使用弱监督学习。或半监督策略,处理大数据集,通常需要满足某些ML算法的学习过程,已经与存储和处理能力一起被精确定位为约束。

迁移学习(TL)是一种跨ML / DL应用程序的相关方法,已被参与者归类为限制和机会。TL 意味着将训练的 ML 模型应用于不同地理区域或时间周期,以解决相同或类似的问题。一些专家认为,这种对未知区域或时间步长的推断可能会产生高度不可靠的估计。同时,这种知识转移据称可以节省时间和资源,因为不必从一开始就训练许多ML模型来在其他地方执行类似的任务。此外,它还可以填补由于缺乏训练数据而造成的地理数据空白。

工作组会议期间讨论了许多挑战。从 ML 输出中的不确定性开始,这些不确定性来自许多需要正确量化的来源(嘈杂的数据、训练的样本大小不足和模型不完美)。ML中已知的“黑匣子”挑战也被一些参与者强调。缺乏人类可解释性促使研究人员开发工具,以更好地理解和信任ML算法对特定参数值,模型设计和估计做出的决策。这些工具被称为可解释的人工智能(AI)。

最后,ML与基于物理的传感器模型的结合观察到的系统被认为是一个优先事项:ML方法非常注重任务,并且可能难以对物理过程(例如火山活动)进行预测,因为它们缺乏关于他们想要描述的系统的早期知识。后者将在TA3中更详细地介绍。

未来发展方向

在TA1的背景下,一个被认为是可持续解决方案的研究方向是TL方法。TL仍然存在一些限制和挑战,但其泛化能力对于没有足够的数据进行培训的位置来说是一个真正的游戏规则改变者,为多种应用(例如粮食安全,气候变化缓解)提供了可行的解决方案。

TA2:混合数据同化 — ML 方法

当前的 ML 应用程序

由Rossella Arcucci(伦敦帝国理工学院助理教授)和Alan Geer(ECMWF首席科学家)主持的工作组团队概述了使用ML的好处,特别是神经网络,在准确性和效率方面进行数据同化。神经网络在近似非线性系统和从高维数据中提取有意义的特征方面表现出了强大的能力。这些属性在数据同化应用中可能非常有用。自动编码器对降维很感兴趣,一个新兴的应用是将非高斯问题转换为与使用传统数据同化方法一致的高斯问题。对于构建代理模型,神经网络可以学习数据背后的动态,也可以用于预测-校正数据同化周期。或者例如完全替换基于物理的模型或应用纠错,在四维数据同化模型中。数据同化和神经网络的杂交有望产生更快、更准确的同化预测系统。帮助合并数据同化和ML的事实是,这两个字段都是反向方法,可以在贝叶斯框架下统一.

限制、机遇和挑战

在数据同化中,观测算子将感兴趣的地球物理变量(例如海冰分数或风)与观测到的量(例如卫星观测到的辐射度)联系起来。通常没有足够的基于物理的运算符,因此ML可以帮助创建经验观察运算符。一个挑战是不存在完整的训练数据集,因为观测值通常对任何模型都无法完全模拟的变量敏感。可能需要一种生成方法,其中未知的物理变量在潜在空间中表示。

在创建经验预测模型时,使用物理约束的需求是显而易见的,并且技术越来越可用,例如,损失函数中的附加物理层或项。其他问题涉及多制度混沌系统中的外推 - 在一种制度中训练的ML模型是否可以外推到另一种制度?但我们也可以开始使用ML模型来理解和预测系统的政权依赖性。

未来发展方向

在不久的将来,使用ML进行模型误差估计和偏差校正将非常重要。可以保留不完美的物理模型,但可以通过神经网络进行增强,该神经网络学习在模型的每个时间步执行与状态相关的纠错。

另一个有趣的应用是因果关系,尽管ML是线性方法(如相关性)的非线性扩展,但同样的问题就是它可以学习关联或模式,而不是因果关系。但是,一些ML技术试图学习因果关系,例如气候变量之间的关系。

神经网络在开始产生可靠的结果之前可能需要大量数据,架构越大,需要的数据就越多。此外,如果可用的数据过于嘈杂,过于稀缺或缺乏突出的特征来表示问题,则网络将无法正常运行。物理知情神经网络(PINN)是一种神经网络,它使用一般非线性偏微分方程描述的给定物理定律的约束来解决监督学习问题,还有助于减少所需的训练数据量。

标准数据同化和神经网络在非结构化甚至自适应网格方面可能存在问题。但图神经网络有望开始包括具有不同节点数的非结构化和自适应网格。

TA3:使用 ML 和混合模型进行地球物理预测

当前的 ML 应用程序

由Claudia Vitolo(ESA高级科学家)和Peter Dueben(ECMWF的ML和AI活动协调员)主持的工作组团队概述了各种类型的ML和混合模型应用程序,其范围从应用程序到加速复杂且耗时的处理(例如模型仿真器))到专注于诊断的应用程序(例如,无监督学习和因果发现))和模型改进(例如,从观测和高分辨率数据中学习)),或用于不确定性量化和误差分析)。ML还允许从数据中学习整个模型。这个应用是最有争议的,因为ML科学家相信他们很快就能击败作战天气模型。而大多数领域科学家都相信纯ML模型不会很快击败传统模型。

限制、机遇和挑战

深度学习的优点是计算效率高(由于密集线性代数和降低的数值精度),简单的算术使工具非常灵活(例如关于自动微分),以及灵活地组合来自各种数据源的信息,包括物联网(IoT)数据)。当不了解底层物理过程时,DL工具可以用作黑匣子,这也是一个优势。深度学习以外的统计方法的优点是健全的数学公式和(对于某些方法)提取物理理解的能力。在专门的口头会议上介绍了上述申请的一些成功实例。

主要限制是对数据集的有限访问。如果可用,许可证限制可能会限制其使用。从建模的角度来看,一些地球系统过程是罕见的(例如热带气旋等极端事件),并且难以在统计上表征。例如,在分类算法中,这种不平衡可能会产生误导并导致置信度过高。需要更多的AI就绪数据集(所谓的基准数据集),改进以使数据处理更容易,以及访问更多预先训练的ML模型,这些模型只需要针对特定应用程序进行自定义。

挑战在于,由于无法推断出看不见的天气制度和有限的概括,人们对ML工具缺乏信任。它需要更多的工作来促进在操作天气和气候预测中使用ML工具。此外,数据伦理与物联网数据相关。

未来发展方向

该领域将进一步发展,并受益于定制ML硬件的可用性,可解释的AI和物理知情ML的改进,为天气和气候应用建立的基准数据集,更开放的数据集,更多的传输和再强化学习,以及软件的进步 - 例如传统和ML工具的耦合以及ML的大规模使用。因此,ML将改进天气和气候建模工作流程中的所有相关组件。还将有更多的科学家可以同时做ML和地球系统科学,他们将帮助将这两个社区联系起来。在欧洲数字战略下可以提供进一步的机会,例如目的地地球倡议(由欧洲联盟委员会协调,由欧空局、欧洲空间联合会和欧盟气象卫星应用组织联合实施)和迁移学习的应用。

TA4:用于后期处理和传播的 ML

当前的 ML 应用程序

由Rochelle Schneider(欧空局研究员)和Massimo Bonavita(ECMWF高级科学家)主持的工作组团队与来自广泛不同的专业背景,ML和ESOP经验以及ML在TA4领域使用的观点的参与者进行了讨论。来自不同领域的参与者,如运营气象服务、能源(如风能和太阳能预报)和水文(如洪水预报))部门在使用ML进行后处理以优化其预测建模系统方面有着共同的兴趣,并提供从短期(数小时到数天)到扩展范围(月)再到季节性前景的预测。其他与会者就使用ML方法缩小全球/当地气候和大气模型的产品规模进行了有趣的观察,以改善提供给陆上/海上风电场的气象信息。这种超分辨率ML应用也被认为有利于环境健康的研究。和可持续城市,这些城市需要在地表水平上以高时空分辨率提供天气和空气质量数据.

限制、机遇和挑战

毫不奇怪,与其他工作组的发现类似,模型训练的异构地面实况分布和计算成本被确定为潜在的挑战。当其中一位参与者将“基准”概念带入对话时,开始了丰富的讨论。这里有趣的情况是,这个主题被报道了三种不同的含义。目前,文献中还没有关于正确评分不同ML模型的共识,这些模型旨在执行相同(或类似)的任务。2.这种情况表明需要开发一个标准基准,以帮助未来的研究人员根据先前研究中发现的性能推进其模型设计。最后,实现一刀切的基准测试方法也具有挑战性,以验证不同的ML模型设计。讨论还提出了一个问题,即缺乏可用于解释模型架构的已发布信息,以及用于生成训练的ML模型的报告性能的样本大小。

主席询问在私营部门工作的参与者,为什么ML方法尚未普遍实施到他们的服务中。答案是,由于缺乏基本信息(例如,公开可用的数据集和代码),文献中发布的许多ML框架都难以复制。此外,运营/用户服务不愿意探索ML方法,这可以通过(基准)统计方法的强大可解释性和可信度,以及对由于不可预见的ML模型问题而导致的可能服务中断的担忧来解释。

未来发展方向

已知ML方法受到泛化问题的影响,即在处理训练分布中的异常值时出现问题。尽管如此,在不断变化的气候中,最重要的问题之一是预测极端事件,在这种情况下,预测状态将位于训练分布的尾部(甚至外部)。出于这些原因,工作组强调需要调整ML模型,以扩大其预测范围的大小,以捕获由于对社会和经济的灾难性影响而导致的严重事件。最后,一些参与者对使用数字孪生引擎来提供高时空分辨率数据持怀疑态度,因为后处理和降尺度方法(与ML方法相关联)可以更有效地执行这些任务。

结语

ML4ESOP吸引了来自全球85个国家的1100多名注册者,其中有来自德国,意大利和英国的大量参与者。开幕式和闭幕式由欧空局网络电视台向未在讲习班登记的观众现场直播。他们在开幕式上获得了1200多次观看,随后在社交媒体上提出了许多请求,并通过电子邮件向组织者发出了加入活动的请求。

这些数字表明了研讨会的成功,并证实了有兴趣在2022年举办另一届研讨会。该报告提供了ML和ESOP社区之间有价值的思想交流的证据。更重要的是,它加强了生产可复制、可解释和可持续的 ML 方法的呼声。ML4ESOP在最终用户方面也起着至关重要的作用,这些用户将使用建模输出来推动经济,政治和健康决策。

声明:欢迎转载、转发本号原创内容,可留言区留言或者后台联系小编(微信:gavin7675)进行授权。气象学家公众号转载信息旨在传播交流,其内容由作者负责,不代表本号观点。文中部分图片来源于网络,如涉及作品内容、版权和其他问题,请后台联系小编处理。

本文转载于网络 如有侵权请联系删除

相关文章

  • 最小生成树Kruskal算法模板题C++实现

    基本思想:(1)构造一个只含n个顶点,边集为空的子图。若将图中各个顶点看成一棵树的根节点,则它是一个含有n棵树的森林。(2)从网的边集E中选取一条权值最小的边,若该条边的两个顶点分属不同的树,则将其加入子图。也就是说,将这两个顶点分别所在的两棵树合成一棵树;反之,若该条边的两个顶点已落在同一棵树上,则不可取,而应该取下一条权值最小的边再试之(3)依次类推,直至森林中只有一棵树,也即子图中含有n-1条边为止。大白话:(1)将图中的所有边都去掉。(2)将边按权值从小到大的顺序添加到图中,保证添加的过程中不会形成环(3)重复上一步直到连接所有顶点,此时就生成了最小生成树。这是一种贪心策略。难点:判断某条边<u,v>的加入是否会在已经选定的边集集合中形成环。 解决办法:使用并查集,分别找出两个顶点u,v所在树的根节点。若根节点相同,说明u,v在同一棵树中,则u,v连接起来会形成环;若根节点不同,则u,v不在一棵树中,连接起来不会形成环,而是将两棵树合并。克鲁斯卡尔算法的时间复杂度为O(eloge)(e为网中边的数目),因此它相对于普里姆算法而言,适合于求边稀疏的网的最小生成树。克鲁

  • 一篇文章带你了解JavaScript math(下篇)

    JavaScript的Math对象允许你对数字进行数学操作。上篇文章我们已经介绍了基本的Math函数用法,这篇文章我们来讲讲三角函数还有部分其他函数的用法。一、三角函数1.Math.sin()Math.sin(x)返回角度x的正弦值(-1到1之间)(以弧度)。如果你想使用角度而不是弧度,你必须转换为弧度。Angleinradians=AngleindegreesxPI/180。<!DOCTYPEhtml> <htmllang="en"> <head> <metacharset="UTF-8"> <title>项目</title> </head> <bodystyle="background-color:aqua;"> <h1>JavaScriptMath.sin()</h1> <p>Math.sin(x)返回x的正弦值:</p> <p>角弧度=(度角)*PI/180.&

  • Android编程简单解析JSON格式数据的方法示例

    本文实例讲述了Android编程简单解析JSON格式数据的方法。分享给大家供大家参考,具体如下:比起XML,JSON主要优势在于它的体积更小,在网络上传输的时候可以更省流量。但缺点在于,它的语义性较差,显示不如XML直观。JSON格式:{"name_A":"value_A","name_B":"value_B"}复制表示:name_A=value_A;name_B=value_B;复制我将对下面的JSON数据进行解析:[{"id":"5","version":"5.5","name":"愤怒的小鸟"}, {"id":"6","version":"7.0","name":"神庙逃亡"}, {"id":"7","version

  • EasyRTSPLive之跨平台ini配置及通道的方法

    视频网关是一种协议转换器,又称为网间连接器,视频网关就是在网络层以上实现网络相互连接,也就是网络互连。是最复杂的网络互连设备,用于两个高层协议不同的网络互连。视频网关既可以用于广域网互连,也可以用于局域网互连。网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间。视频网关是一款高性能的嵌入式多功能媒体网关设备,集流媒体协议转换、流媒体分发服务、多路视频解码、视频画面分割等核心功能于一体。EasyRTSPLive控制台程序要输入通道信息需要在控制台程序启动时手动输入比较麻烦,而且多路通道配置通过手动输入的方式效率很低而且实际生产环境中也是不现实的,所以,我们需要读取配置文件来配置通道信息。分析问题在windows平台系统有为我们封装一套基于ini配置文件的读取sdk,不过收操作系统的限制只能在windows平台上使用,而linux或者其他系统平台是无法读取的,所以,我们需要自行封装一套读取ini配置文件的代码以实现对ini配置文件的读取。解决问题首先,我们声明两个方法实现对ini配置文件的键值对的读取://从INI文件读取字符

  • MySql常用命令总结

    1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql>SHOWDATABASES; 2:2、创建一个数据库MYSQLDATA mysql>CREATEDATABASEMYSQLDATA; 3:选择你所创建的数据库 mysql>USEMYSQLDATA;(按回车键出现Databasechanged时说明操作成功!) 4:查看现在的数据库中存在什么表 mysql>SHOWTABLES; 5:创建一个数据库表 mysql>CREATETABLEMYTABLE(nameVARCHAR(20),sexCHAR(1)); 6:显示表的结构: mysql>DESCRIBEMYTABLE; 7:往表中加入记录 mysql>insertintoMYTABLEvalues(”hyq”,”M”); 8:用文本方式将数据装入数据库表中(例如D:/mysql.txt) mysql>LOADDATALOCALINFILE“D:/mysql.txt”INTOTABLEMYTABLE; 9:导入.sql文件命令(例如D:/mysql.sql) mysql&

  • How to find root cause of creation navigation failure

    版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://jerry.blog.csdn.net/article/details/100851651CreatedbyJerryWang,lastmodifiedonDec09,2014oRouterRouternavTohashoHashChangerreplaceHashsetHash_oRoutesOpportunityCreationpage,在弹出的Opportunitytransactiontype里选择一个entry之后,popup消失,但是没有弹出creationpage,并且Addbutton也被disable了:debugapplication里Navigation代码:(line674)debugapplication里Navigation代码:(line674)在Router.jsline230里寻找create对应的route信息:但是_oRoutestable里并不存在create对应的route:因此Framework只是输出该warningme

  • Linux 启动流程分析

    今天,一起探讨操作系统的启动流程。 这个部分比较有意思。因为在BIOS阶段,计算机的行为基本上被写死了,程序员可以做的事情并不多;但是,一旦进入操作系统,程序员几乎可以定制所有方面。所以,这个部分与程序员的关系更密切。我主要关心的是Linux操作系统,它是目前服务器端的主流操作系统。下面的内容针对的是Debian发行版,因为我对其他发行版不够熟悉。加载内核操作系统接管硬件以后,首先读入/boot目录下的内核文件。以我的电脑为例,/boot目录下面大概是这样一些文件:  $ls/boot      config-3.2.0-3-amd64   config-3.2.0-4-amd64   grub   initrd.img-3.2.0-3-amd64   initrd.img-3.2.0-4-amd64   System.map-3.2.0-3-amd64   System.map-3.2.0-4-amd64   vmlinuz-3.2.0-3-amd64   vmlinuz-3.2.0-4-amd64  复制启动初始化进程内核文件加载以后,就开始运行第一个程序/sbin/init,它的

  • LeetCode Weekly Contest 38解题思路

    版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/u014688145/article/details/73718744LeetCodeWeeklyContest38解题思路详细代码可以fork下Github上leetcode项目,不定期更新。 赛题本次周赛主要分为以下4道题:Leetcode628.MaximumProductofThreeNumbersLeetcode630.CourseScheduleIIILeetcode629.KInversePairsArrayLeetcode631.DesignExcelSumFormulaLeetcode628.MaximumProductofThreeNumbersProblem:Givenanintegerarray,findthreenumberswhoseproductismaximumandoutputthemaximumproduct. Example1:Input:[1,2,3] Output:6 Example2:Input:[1,2,3,4] Output:24 Note:T

  • 基于RTMP和WebRTC开发大规模低延迟(1000毫秒内)直播系统

    问题随着移动设备大规模的普及以及流量的资费越来越便宜,超低延迟的场景越来越多.从去年到今年火过的场景就有在线娃娃机,直播答题,在线K歌等.但要做到音视频的超低延迟确是很不容易,编码延迟,网络丢包,网络抖动,多节点relay,视频分段传输,播放端缓存等等都会带来延迟.WebRTC兴起提供的方案以及遇到的问题WebRTC技术的兴起为低延迟音视频传输带来了解决方案,但WebRTC是为端到端设计的,适合的场景是小规模内的实时互动,例如视频会议,连麦场景.即使加入了SFUMediaserver作为转发服务器,也很难做到大规模的分发.另外一个需要考量的是流量成本,WebRTC的实时流量是通过UDP传输的(某些情况下可以用TCP),无法复用在传统CDN的架构之上,实时的流量价格更是CDN流量的3倍以上,部署一个超低延迟的直播网络成本非常高.RTMP系统推流播放延迟分析一个经过优化的RTMP-CDN网络端到端的延迟大概在2-3秒,延迟大一些要在5秒甚至10秒以上.从推流到播放,会引入延迟的环节有编码延迟,网络丢包和网络抖动,视频的分段传输,多媒体节点的relay,播放器的缓存等等.实际上除了网络丢包和

  • 目标检测第5步-使用keras版YOLOv3训练

    致谢声明1.本文学习Patrick_Lxc的博客《Keras/Tensorflow+python+yolo3训练自己的数据集》并优化其中代码。 原博客链接:https://blog.csdn.net/Patrick_Lxc/article/details/80615433 2.本文学习qqwweee的github工程《keras-yolo3》并优化其中代码。 github链接:https://github.com/qqwweee/keras-yolo30.配置代码运行环境0.1硬件配置要求YOLOv3对于电脑的显卡要求高,根据本文作者的经验,至少需要8GB的显存才能继续本文下面的实验。 只有Nvidia品牌的显卡可以运行深度学习,AMD品牌的显卡不可以运行深度学习。 那么Nvidia品牌具有8GB显存的最低价格显卡的型号为GTX1070。 2019年2月28日查询,京东上原装GTX1070的价格如下图所示: Screenshotfrom2019-02-2117-15-49.png 2019年2月28日查询,淘宝上网吧二手拆机显卡GTX1070的价格为1800元左右,如下图所示: Sc

  • 深度解析eclipse控制台

      第一个按钮:scrolllock 控制台在打印sql语句的时候会一直滚动,用这个按钮可以固定住控制台不乱跑; 第二个按钮:showconsolewhenstandardoutchanges 当控制台信息改变的时候(有新信息输出的时候,自动切换到控制台) 第三个按钮:showconsolewhenstandarderrorchanges 当控制台输出错误的时候,才切换到控制台     第一个按钮常会用到,2/3基本上用不上,没什么卵用           over....   ctgu_czy

  • yum出现问题解决方法

    只需要两个命令: rpm--rebuilddb yumcleanall

  • 数据结构与算法知识点梳理—思维导图

    数据结构与算法是学习编程者的必修课,下面是我学习完之后的知识点梳理与总结。 本来用xmind做的时候把重要知识点都附了博客链接,但是xmind导出来后打不开了。 不用担心我把相关内容放在了数据结构专栏里。 专栏地址:http://blog.csdn.net/column/details/20027.html 如果喜欢该知识点的总结,图片下载链接:https://download.csdn.net/download/qq_38646470/10296136 唯有坚韧者始能遂其志

  • unity之背景高斯模糊

    1localRenderTexture=CS.UnityEngine.RenderTexture 2localRect=CS.UnityEngine.Rect 3localScreen=CS.UnityEngine.Screen 4localTexture2D=CS.UnityEngine.Texture2D 5localTextureFormat=CS.UnityEngine.TextureFormat 6localGaussianBlurBg={} 7 8--主要思路:从屏幕读取像素保存在texture2d中 9--核心API:texture2d:ReadPixels(renderWidth,renderHeight,TextureFormat.RGB24,false,true) 10 11---输出图片 12GaussianBlurBg.ExportTexture=function() 13localcameraArr=GaussianBlurBg.GetCurrCamera() 14localrenderWidth,renderHeight=GaussianBlurBg.Dra

  • Python爬虫入门教程08:爬取csdn文章保存成PDF

    前言? 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 前文内容? Python爬虫入门教程01:豆瓣Top电影爬取 Python爬虫入门教程02:小说爬取 Python爬虫入门教程03:二手房数据爬取 Python爬虫入门教程04:招聘信息爬取 Python爬虫入门教程05:B站视频弹幕的爬取 Python爬虫入门教程06:爬取数据后的词云图制作 Python爬虫入门教程07:腾讯视频弹幕爬取 PS:如有需要Python学习资料以及解答的小伙伴可以加点击下方链接自行获取 python免费学习资料以及群交流解答点击即可加入 基本开发环境? Python3.6 Pycharm wkhtmltopdf 相关模块的使用? pdfkit requests parsel 安装Python并添加到环境变量,pip安装需要的相关模块即可。 一、?目标需求 将CSDN这上面的文章内容爬取保存下来,保存成PDF的格式。 二、?网页数据分析 如果想要把网页文章内容保存成PDF,首先你要下载一个软件wkhtmltopdf不然你是没有办法实现的。

  • DIV+CCS技巧之一 zoom:1

    zoom这个特性是IE特有的属性。  zoom:1;一般是拿来解决IE6的子元素浮动时候父元素不随着自动扩大的问题,功能相当于overflow:auto,同样也可以用height:1%来代替zoom:1。所以一般要在浮动元素的父元素加上overflow:auto;zoom:1;。这样,子元素浮动,父元素再也不会不自动跟子元素扩大了。

  • ASP.NET服务器端控件原理分析

    服务器端控件触发事件分两种: 1.服务器端控件Button被渲染成客户端的 <inputtype="submit"name="Button1"value="Button"id="Button1"/> 类型为type="submit"此类控件点击以后会通过form表单提交,点击以后会作为参数发送到服务端,参数是控件的name属性=控件的value值,服务器端会根据接收到的控件的name属性的这个值来得知是这个按钮被点击了,从而在服务端触发这个按钮的点击事件。 当我们在服务器端控件Button标签中加入name属性时,在前端渲染时服务器会将其去掉,这也证明了后台是通过name值来获取被点击的按钮名称的。 2.其他服务器端控件的后台事件触发 服务器会自动为服务器端控件的事件触发生成一个脚本: 1<scripttype="text/javascript"> 2//<![CDATA[ 3vartheForm=document.forms['form1']; 4if(!theForm){ 5theForm=document.form1; 6} 7function__

  • No identifier specified for entity

    今天练习springboot项目搭建,建完实体类也加了jpa注解,但是启动一直报错。 Noidentifierspecifiedforentity:。百度解决方案全是@Id和@GeneratedValue注解不要加在setId()方法上,要加在get方法上,试了还是未解决。 终于看到这篇文章,http://blog.csdn.net/qq_33240946/article/details/52916532。 原来是@Id注解import错包了。 错误: importorg.springframework.data.annotation.Id;正确: importjavax.persistence.*; ---------------------作者:2YSP来源:CSDN原文:https://blog.csdn.net/stupid_java_learner/article/details/78346820版权声明:本文为博主原创文章,转载请附上博文链接!

  • 常用SQL语句集合

    一、数据定义 1、创建新数据库:CREATEDATABASEdatabase_name2、创建新表:CREATETABLEtable_name(column_namedatatype,column_namedatatype,...)3、修改数据表:  添加列:ALTERTABLEtable_nameADDcolumn_namedatatype   删除列:ALTERTABLEtable_nameDROPCOLUMNcolumn_name   修改列:ALTERTABLEtable_nameALTERCOLUMNcolumn_namedatatype4、删除表:DROPTABLEtable_name   二、数据操作选取数据:SELECT列名称FROM表名称     SELECT*FROM表名称过滤重复:SELECTDISTINCT列名称FROM表名称指定条件:SELECT列名称FROM表名称WHERE列运算符值多项条件:SELECT列名称FROM表名称WHERE列运算符值AND(OR)列运算符值排列顺序:SELECT列名称FROM表名称ORDERBY列1,列2DES

  • MXNet--DMLC-Core代码解读与宏

    MXNet--DMLC-Core代码解读与宏 dmlc-core是Distributed(Deep)MachineLearningCommunity的一个基础模块,这个模块用被应用到了mxnet中。dmlc-core在其中用了比软多的宏技巧,代码写得很简洁,值得大家学习。这博客中讲解了其中的宏和mxnet中是怎么向dmlc-core中注册函数和初始化参数的。 宏(Macros)的一般用法与特殊用法 C/C++中的宏是编译的预处理,主要用要文本替换。文本替换就有很多功能,比如用来控制编译的选项、生成代码等。在C++没有被发明之前,宏的技巧经常会被用于编程中,这些技巧对大部分人来说是难以快速理解的,毕竟代码是写给人看的,不是写给机器看的,所以很多人称这些为奇技淫巧。C++出现后,发明了继承、动态绑定、模板这些现代的面向对象编程概念之后,很多本来用宏技巧写的代码被类替换了。但如果宏用得对,可以使代码更加简洁。 标示符别名 #defineNUM1024 复制 比如在预处理阶段:foo=(int*)malloc(NUM*sizeof(int)) 会被替换成foo=(int*)malloc(1

  • 常用的PS抠图技巧

      夫君子之行,静以修身,俭以养德。非淡泊无以明志,非宁静无以致远。夫学须静也,才须学也,非学无以广才,非志无以成学。慆慢则不能励精,险躁则不能冶性。年与时驰,意与日去,遂成枯落,多不接世,悲守穷庐,将复何及!

相关推荐

推荐阅读