Page 70 - 2025年第56卷第11期
P. 70

在模型训练过程中,通过损失函数中 λ 的调整来控制 G 1 和 G 2 的训练。损失函数计算式(5)包含绝
              对值损失和特征匹配损失,前者评估时空全域代理模型最终输出的地震动力响应特征与有限元模型计
              算值之间的绝对差值,用于减少代理模型输出结果与有限元计算结果之间误差,来确保输出值的真实
              性;而后者分析在全卷积网络(FCN)组建的多尺度判别器中间层中,代理模型输出值与有限元模型计
              算值的特征相似性,用于模型训练过程中计算中间层的梯度,以快速最小化生成器输出值和目标值之
              间的特征分布差异,从而提高特征匹配度,加快模型的收敛。λ 用于调节两个损失函数之间的权重,
              在大坝地震动力响应分析中,为了平衡计算结果的真实性和训练的算力消耗,在模型训练的前半段设
              置 λ = 1 来提高全局生成器的模型精度,在后半段训练设置 λ = 10 来提高局部增强器模型特征学习能
              力进而加速收敛。通过上述模型的构建,使得生成的土石坝各节点地震响应物理场张量的三维时空动
              态特征,能够兼顾局部特征和全局特征的真实性。


              5 B/S 架构下基于 CUDA 加速三维物理场计算的地震响应可视化


                  针对现有大坝地震分析系统的可视化采用预制动画的问题,提出基于 CUDA 加速三维物理场计算
              的地震响应可视化方法,并提出在 B/S(Browser/Server)架构下的系统开发架构。在服务器端采用 CPU
              处理信息网页信息,而将大量矩阵处理的计算密集型任务通过 CUDA 调用 GPU 运算,以提升专业模型
              的计算效率,实现大坝地震时空动力响应的三维物理场快速分析;在客户端进行网页交互和业务处
              理,实现系统的跨平台使用和三维可视化。
                  系 统 开 发 的 总 体 架 构 如 图 6 所 示 , 采 用 多 种 编 程 语 言 协 同 开 发 方 案 。 在 传 统 基 于 Java 开 发 的
              Tomcat 服务器内核基础上,引入基于 C#开发的 Unity WebGL 三维可视化模块、基于 Python 开发的深度
              学习算法 Flask 微服务架构,其中 ResNet 和 pix2pixHD 等深度学习模型通过 CUDA 加速计算。系统的业
              务逻辑主要基于 Java 开发的 Tomcat 服务器实现。在 B/S 架构下,用户端通过浏览器发送 HTTP 请求访
              问 Tomcat 服务器后,Tomcat 服务器返回基于 JSP(Java Service Pages)动态技术标准构建的 HTML 网页,
              该网页在传统的 HTML 文件中加入 Java 程序片段和 JSP 标签,能够根据服务端返回的信息动态地生成
              网页中的部分内容。在服务器端内部,Tomcat 内核接受到 HTTP 请求,首先传递给 Servlet 容器以产生
              Servlet 实例;其后 Servlet 与服务器的其他资源(数据库、文件、Web App 和 Java 应用程序等)交互处理;
              最后,Servlet 实例将处理结果通过响应对象发送回用户。在处理其中的 Web App 请求时,可视化方面
              分别基于 Echarts、Web GIS 和 Unity 实现数据图表可视化、二维地图可视化和三维场景可视化。当
              Servlet 实例需要处理计算密集型任务时,通过服务器内部端口发送 Request 请求来调用基于 Python 开
              发的 Flask 微服务架构,实现计算任务的独立运行。在 Flask 微服务架构中,基于 PyTorch 实现所提基
              于时空全域代理模型的开发,并通过 PyTorch 的 API 调用 CUDA 将训练好的模型文件提前部署在服务器
              的 GPU 上,以便快速响应用户发起的计算请求。




















                                          图 6 B/S 架构下基于 CUDA 加速计算的系统开发架构

                                                                                               — 1461  —
   65   66   67   68   69   70   71   72   73   74   75