jax可微分编程的笔记(9)

2024-03-02 07:28
文章标签 笔记 编程 微分 jax

本文主要是介绍jax可微分编程的笔记(9),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

jax可微分编程的笔记(9)

第九章 案例:FAST主动反射面的形态调整

深度学习是可微分编程框架下的一个极为重要的使用场景。
模型,损失函数及优化算法是常见优化问题的3个组成部分。
其概念的外延并不仅仅局限于深度学习。优化问题中的模型
除了神经网络,还可以是具体的物理体系;优化问题中的损失
函数除了经验风险函数,还可以是实际物理体系的能量。优化
算法试图优化的参数可以不必隐藏在优化函数中,而同样可以
对应于实际体系中节点的坐标。

9.1 背景介绍

中国天眼(FAST)是我国的射电望远镜,也是目前世界上单口径
最大,灵敏度最高的射电望远镜。主要的部件有主动反射面,
信号接收器,及辅助子系统。主动反射面分为基准状和工作态
两个状态。工作态时,反射面要调整为工作抛物面。
对于这个形态调节的工程问题,一般会用ANSYS等大型有限元
分析软件进行建模和数值模拟,给出各种调节参数.然而引入
可微分编程框架后,程序以相当简单的计算方式,在相当的精度
内,同大型软件给出了一样的结果。

9.2 数据的预处理

数据包括主索节结的坐标,促动器坐标,三角形反射面的顶点坐标。

9.3 约束优化问题的提出及模型的训练

优化方案有4种如下:
方案1:促动器总行程最小
方案2:促动器行程的平方和最小
方案3:抛物面与球面偏离的距离峰值最小
方案4:抛物面边缘与球面光滑连接.

这篇关于jax可微分编程的笔记(9)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/765347

相关文章

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

C#多线程编程中导致死锁的常见陷阱和避免方法

《C#多线程编程中导致死锁的常见陷阱和避免方法》在C#多线程编程中,死锁(Deadlock)是一种常见的、令人头疼的错误,死锁通常发生在多个线程试图获取多个资源的锁时,导致相互等待对方释放资源,最终形... 目录引言1. 什么是死锁?死锁的典型条件:2. 导致死锁的常见原因2.1 锁的顺序问题错误示例:不同

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

C#反射编程之GetConstructor()方法解读

《C#反射编程之GetConstructor()方法解读》C#中Type类的GetConstructor()方法用于获取指定类型的构造函数,该方法有多个重载版本,可以根据不同的参数获取不同特性的构造函... 目录C# GetConstructor()方法有4个重载以GetConstructor(Type[]

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal