lizhaoliu
Joined 6 years ago
Joined 6 years ago
Then I run a fake forward pass (dummy inputs, also on the meta device) with a forward hook on every module. Most ops do shape inference fine without real data, so that records the execution order and every module's input/output shapes. Both things you're asking about are already in the UI:
- Tensor shapes: click any module and the inspector shows its traced input/output (e.g. [1 batch × 7 seq × 4096 hidden], the labels come from matching dim values against config) plus its weight shapes ([151936 vocab × 4096 hidden]). The flow-replay HUD shows the shape transformation at each step. - Per-layer parameter counts: every node shows its param count and share of the model, there's a treemap of children by params, and a "cost" lens that switches the whole map to compute (MACs), activation memory, or KV cache — with sequence length as a slider.
Params/dtypes are cross-checked against the safetensors headers (fetched via HTTP range requests, no weight download).
I've built a free portfolio optimization and backtesting tool that I wanted to share with the community. I created it to scratch my own itch: powerful investment tools without the paywall.
Website: https://investest.io/ Demo: https://youtu.be/eTD-f8AHs1o
Key Features: * Portfolio optimization (Maximum Sharpe Ratio, Minimum Volatility) * Support for 36,000+ securities (stocks, ETFs, mutual funds) * Multiple portfolio creation, management and sharing * Daily-updated market data
Future Development Plans: * Scaling the infrastructure * Adding AI-powered chatbot and advisor * Implementing advanced portfolio insights
This is a side project, so updates might not be frequent. I'd love to get feedback from the community. What features would you find most useful? Any suggestions for improvement?
Disclaimer: This is a personal project and should not be considered financial advice.
The main difference appears to be how the graph gets made. From what I can tell they analyze the config on the server (their page says the first request can take a few minutes). I actually build the model on PyTorch's meta device and run a fake forward pass through it, so I get the real execution order and the tensor shapes at every module. That's what the animated replay and the compute/KV cache numbers are based on.