autodiff_diagram = diagram.ToAutoDiffXd()
autodiff_context = autodiff_diagram.CreateDefaultContext()
autodiff_plant = autodiff_diagram.GetSubsystemByName("plant")比方说,我想要有一堆随机的初始化,并且每次都在相同的autodiff图(计算图)上运行优化。做这件事最干净的方法是什么?
我试着在pydrake文档中查找“零梯度”和类似的东西。我发现了一些对"DiscardGradient“的引用,但在文档中并没有实际的结果。顺便说一句,如果有一个关于如何浏览Drake文档/代码来回答这类问题的元学习建议会很有帮助,我在这方面遇到了麻烦。
发布于 2021-11-05 10:19:30
我认为您正在寻找initializeAutoDiff,以及相关的方法。对于元问题,使用谷歌搜索(例如autodiff site:drake.mit.edu)有时会发现doxygen/sphinx中的搜索功能不能找到的东西。
如果您想运行许多这样的模拟,您可能希望并行执行。考虑到每个线程使用一个上下文,Drake中的几乎每个系统都应该是线程安全的。你可以看看我们是如何实现MonteCarloSimulation的。
https://stackoverflow.com/questions/69836536
复制相似问题