Please note: HydroNetwork is no longer under active development or maintenance.
This decision was not made lightly, but out of a commitment to providing the most performant and robust tools possible. We encountered a critical, insurmountable technical bottleneck with a core dependency: models built with Keras 3.0 using the PyTorch backend cannot be optimized by
torch.compile。
torch.compileis a key feature in PyTorch 2.0+, a Just-In-Time (JIT) compiler that significantly accelerates model training and inference. Without this optimization, models are forced to run in a much slower "eager mode." For hydrological tasks, especially when simulating numerous watersheds, this performance penalty results in unacceptably long training times, defeating the project's goal of efficiency.To resolve this fundamental issue, all development efforts have been redirected to a complete rewrite and successor project: HydroMind。
HydroMind is not just a fix; it's a comprehensive evolution. By moving away from the problematic dependency and rebuilding from the ground up on PyTorch Lightning, we have created a more powerful, stable, and user-friendly workflow for rainfall-runoff simulation. We strongly encourage all users to migrate.
HydroMind is the next-generation library designed from the ground up to be a complete, end-to-end solution for hydrological deep learning. Built on PyTorch Lightning, it offers:
- Complete Workflows: Provides an out-of-the-box solution for rainfall-runoff simulation, from data processing to model evaluation.
- Modern & Powerful Framework: Leverages the full power of PyTorch Lightning for more transparent, scalable, and reproducible model training.
- Superior Performance & Stability: As a native PyTorch solution, it avoids cross-compatibility issues and fully benefits from optimizations like
torch.compile. - A Future-Proof & Active Project: We are fully committed to HydroMind's future, with a clear roadmap for new features and improvements. This is the true continuation of our vision.
We are excited about the future of HydroMind and have channeled all our development resources into it. We invite you to star ⭐, contribute, and raise issues in the new HydroMind repository.
HydroNetwork is a user-friendly Python library designed to empower hydrologists in leveraging deep learning techniques for modeling complex hydrological processes such as precipitation, runoff, evaporation, and groundwater flow. By providing comprehensive tools for data processing, building models, and visualizing results, HydroNetwork makes deep learning accessible even for users with limited programming or machine learning experience. It seamlessly integrates advanced modeling techniques and traditional hydrological methods to reduce the cognitive load for researchers.
1. Deep Learning Model Interface 😏 - Build, train, 和 evaluate deep learning models for hydrological time series forecasting with ease. - Supports widely used architectures: LSTM, GRU, CNN, 和 Hybrid Models.
2. Flexible Data Processing Tools 🧐 - Preprocess raw hydrological data with features like handling missing data, normalization, 和 time series segmentation. - Automate feature selection and extraction for better model performance.
3. Visualization Tools 🥳 - Visualize input hydrological time series data for exploratory data analysis. - Evaluate and graphically compare the performance of trained models using loss curves, hydrographs, or model efficiency metrics.
4. Model Integration 🤗 - Combine multiple deep learning models and traditional hydrological models for improved predictions.
Comprehensive API documentation is available on the Research Progress module here: HydroNetwork Documentation
HydroNetwork is open source and hosted on GitHub. Contributions are welcome! Please star the repository or raise issues for bug reports or enhancements. If you find HydroNetwork helpful, feel free to buy me a coffee to support the project.
HydroNetwork is licensed under the MIT License.