9作者: fouronnes3大约 2 个月前原帖
你好,HN!在过去的六个月里,我一直在开发一个开源的Python库,该库在PyTorch中实现了可微分几何光学。这个项目仍然处于实验阶段,但最终目标是利用它设计光学系统,配合最先进的优化框架和优雅的基于代码的API。可以把它想象成OpenSCAD,但用于光学系统。 PyTorch的自动求导功能不仅是一个出色的通用优化器,而且torch.nn(神经网络构建模块)几乎可以开箱即用地用于建模光学系统。这是因为神经网络的层与所谓的顺序光学系统中的光学元件之间有很强的类比。因此,神奇之处在于我们可以像堆叠Conv2D和ReLu层一样堆叠透镜,一切都能正常工作。与Conv2D不同的是,这里有光线与表面的碰撞检测,而与ReLu不同的是,这里有折射定律。设计透镜与训练神经网络惊人地相似。 请查看文档以获取使用API的示例。我最喜欢的一个是彩虹 :) [https://victorpoughon.github.io/torchlensmaker/examples/rainbow](https://victorpoughon.github.io/torchlensmaker/examples/rainbow) 你应该能够通过`pip install torchlensmaker`来尝试这个库,但我刚刚设置好,如果有任何问题,请告诉我。 我曾是Recurse Center([https://www.recurse.com/](https://www.recurse.com/))2024年冬季第一批的成员,几乎全职在这个项目上工作。我也很乐意谈谈我的经历!