A graceful, distributed, and Git-powered experiment tracking and model explanation tool for AI researchers. See through every forward pass. Flow will over — and flowers will bloom. 一个优雅、分布式的 AI 实验记录与可视化工具,致力于打破模型训练中的“黑盒”迷雾,让每一次 forward 都可见、可溯、可协作 —— 柳暗花明,终见曙光。
Project description
🌸 Flowillower 柳暗花明
“山重水复疑无路,柳暗花明又一村。”——宋·陆游 《游山西村》
“Through layered peaks and winding flows, no path seems in sight; /
Beyond shadowed willows, blooming flowers—a village comes to light”
(Lu You, 1167 AD in the Song Dynasty, “Travel to a Village West of the Mountains”, as translated by the library author in 2025).
A graceful, distributed, and Git-powered experiment tracking and model explanation tool for AI researchers. See through every forward pass. Flow will over — and flowers will bloom.
✨ What is flowillower?
flowillower(willow + flower = flo -willow- er = flowillower =
flow-will-over ) is a lightweight, decentralized alternative to
experiment tracking tools like Weights & Biases or TensorBoard — built
for researchers who care not just about metrics, but about meaning.
It enables you to:
- 🌱 Track metrics, models, and forward flows
- 🧠 Visualize PyTorch model structures and internal tensor paths
- 🌍 Store all logs in a Git-powered directory (local-first, push-optional)
- 🚀 Deploy visualizations to Hugging Face or ModelScope Spaces via a template app
- 🔐 Keep your data — your data (No central server required)
Whether you’re blocked in a thicket of non-converging experiments or wandering in a maze of parameter sweeps — flowillower aims to be the “bright flowers from dark willows” of your research journey.
🚀 Quickstart
Installation
Install latest from the GitHub repository:
$ pip install git+https://github.com/THU-CVML/flowillower.git
or from conda
$ conda install -c THU-CVML flowillower
or from pypi
$ pip install flowillower
Documentation
Documentation can be found hosted on this GitHub repository’s pages. Additionally you can find package manager specific guidelines on conda and pypi respectively.
Basic usage
Fill me in please! Don’t forget code examples:
from flowillower import init, log_metrics, log_model, push
import torch.nn as nn
# Initialize an experiment (creates a local Git repo)
init(project_name="my_cool_exp")
# Log your model architecture
model = nn.Sequential(nn.Linear(10, 32), nn.ReLU(), nn.Linear(32, 1))
log_model(model)
# Log some fake metrics
log_metrics(step=1, metrics={"loss": 0.234, "accuracy": 0.89})
log_metrics(step=2, metrics={"loss": 0.123, "accuracy": 0.91})
# Optional: push to a remote Git repo for team sharing or cloud viewing
push("https://huggingface.co/spaces/yourname/yourapp")
🙌 Contributing
We welcome contributions, ideas, and issues! See CONTRIBUTING.md or
open a discussion to share your thoughts.
📜 License: Apache 2.0
Install flowillower in Development mode
# make sure flowillower package is installed in development mode
$ pip install -e .
# make changes under nbs/ directory
# ...
# compile to have changes apply to flowillower
$ nbdev_prepare
📂 Project Structure
🧠 Why the name “flowillower”?
It’s a blend of “willow” + “flower”, inspired by the Chinese idiom “柳暗花明又一村” (Liǔ àn huā míng yòu yī cūn) — light at the end of the tunnel.
Even deeper: flow + will + over → “flow will over” → Break free from rigid workflows, discover breakthroughs, and bloom.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flowillower-0.0.3.tar.gz.
File metadata
- Download URL: flowillower-0.0.3.tar.gz
- Upload date:
- Size: 19.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87e8224dfdfcf2bca178f5ea48762435639933f547d774c9713d0b1e209077ca
|
|
| MD5 |
c85446683a342b6664a41a55cc230309
|
|
| BLAKE2b-256 |
372682a44f8342b919b147148ad91ecc9d697023bd03fa005bdc2b3d5a783f72
|
File details
Details for the file flowillower-0.0.3-py3-none-any.whl.
File metadata
- Download URL: flowillower-0.0.3-py3-none-any.whl
- Upload date:
- Size: 18.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f2e70141771c998a43bd2ff5f8f77d0043a5e52fdc8d2f79e70035299578e45
|
|
| MD5 |
2210e168968f29e8b334482bea44a45a
|
|
| BLAKE2b-256 |
8aec32ae685b022986c27f95c86c3e9e373bd6ea325a9b2fdfefde58d864f4b3
|