TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Show HN: SymForce – Fast symbolic computation, code generation, and optimization

125 点作者 haykmartiros大约 3 年前
Author here. I’m unreasonably excited to share this library that we’re open-sourcing today — our team has been building it for five years and these ideas have been a passion of mine for fifteen.<p>SymForce is a library that makes it easy to code a problem once in Python with an augmented SymPy API (backed by C++), experiment with it symbolically, generate optimized code in C++ or any backend language, and then run highly efficient nonlinear optimization problems based on the original problem definition. This workflow elegantly solves a wide variety of tasks in robotics and related domains, and can speed up common tasks by an order of magnitude while requiring less handwritten code and reducing the surface area for bugs. See our paper at <a href="https:&#x2F;&#x2F;arxiv.org&#x2F;abs&#x2F;2204.07889" rel="nofollow">https:&#x2F;&#x2F;arxiv.org&#x2F;abs&#x2F;2204.07889</a> for experiments (accepted to RSS 2022).<p>We developed it at Skydio for real-time robotics algorithms like SLAM, calibration, bundle adjustment, MPC, and system identification on our drones. It’s a key pillar of our autonomy stack that has accelerated our iteration cycle from prototypes to production systems. We are releasing it to benefit the open-source community, and think its components are useful to anyone writing algorithmic code, like students, research teams, and tech companies.<p>You can pip install it, play around with a formulation in a notebook, and deploy production code in a couple of hours. Try it at <a href="https:&#x2F;&#x2F;github.com&#x2F;symforce-org&#x2F;symforce" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;symforce-org&#x2F;symforce</a>

10 条评论

crubier大约 3 年前
I think the approach makes a lot of sense. In the past I’ve been using Matlab and Mathematica to solve robotics &#x2F; trajectories problems symbolically and then generate code from the solutions, as big fat inlined functions.<p>Having a toolbox based on modern open source and widely adopted tools like Sympy to do this automatically is super powerful.
themonteray大约 3 年前
Super cool! How does this compare with Casadi? I didn&#x27;t see it mentioned in the related AD frameworks in the paper, but I think that targets a similar niche? Thanks for releasing the library!
评论 #31497851 未加载
albertzeyer大约 3 年前
How does it compare with TensorFlow (graph-based, i.e. symbolic) or Theano? Or maybe also JAX, which you could also see as symbolic.<p>In the paper it is briefly mentioned that TensorFlow&#x2F;JAX are slower due to more overhead? I doubt this is true. Also, TensorFlow could be compiled to TF-lite or XLA and then C++ or whatever you like. Same for JAX.<p>It is also mentioned that TensorFlow&#x2F;JAX perform poorly on second-order optimization. But this is not true.<p>Further, it is said that TensorFlow&#x2F;JAX have poor performance for sparse matrices. While the performance is not great, I am not sure that other frameworks would perform faster.<p>Some fair benchmarks would be nice.<p>But then, despite just benchmarks, also a more direct comparison on a conceptual level would be nice. Because from the description, I don&#x27;t directly understand how it is much different.
评论 #31498680 未加载
rsp1984大约 3 年前
Congratulations, this looks intriguing!<p>I am somewhat familiar with Ceres and GTSAM. Can you explain how it differs from these? What are the key features of SymForce that make it stand out?
评论 #31503325 未加载
snovv_crash大约 3 年前
How was your experience using this compared with autodiff directly in C++, eg. Jet from Ceres, and depending on the compiler to optimize?
评论 #31503425 未加载
linty_samosa大约 3 年前
Fascinating and incredibly exciting -- can&#x27;t wait to see how the world uses this library
captaindiego大约 3 年前
I&#x27;ve been cobbling together crappy things to do similar things for robot kinematics a lot, this looks awesome, thank you!
ebaabe大约 3 年前
This is super awesome! Can&#x27;t wait to see what it enables!
pizza大约 3 年前
This is awesome
rurban大约 3 年前
Well done, thanks a lot