GithubHelp home page GithubHelp logo

batteryml's Introduction

BatteryML: An Open-Source Tool for Machine Learning on Battery Degradation

Recent News

Our paper BatteryML: BatteryML, is now available on Arxiv! This paper provides detailed introduction to our design, which we will be actively updating during the development of BatteryML. We appreciate any questions and suggestions!

Introduction

The performance degradation of lithium batteries is a complex electrochemical process, involving factors such as the growth of solid electrolyte interface, lithium precipitation, loss of active materials, etc. Furthermore, this inevitable performance degradation can have a significant impact on critical commercial scenarios, such as causing 'range anxiety' for electric vehicle users and affecting the power stability of energy storage systems. Therefore, effectively analyzing and predicting the performance degradation of lithium batteries to provide guidance for early prevention and intervention has become a crucial research topic.

To this end, we open source the BatteryML tool to facilitate the research and development of machine learning on battery degradation. We hope BatteryML can empower both battery researchers and data scientists to gain deeper insights from battery degradation data and build more powerful models for accurate predictions and early interventions.

Framework

Highlights:

  • Open-source and Community-driven: BatteryML is an open-source project for battery degradation modeling, encouraging contributions and collaboration from the communities of both computer science and battery research to push the frontiers of this crucial field.
  • A Comprehensive Dataset Collection: BatteryML includes a comprehensive dataset collection, allowing easy accesses to most publicly available battery data.
  • Preprocessing and Feature Engineering: Our tool offers built-in data preprocessing and feature engineering capabilities, making it easier for researchers and developers to prepare ready-to-use battery datasets for machine learning.
  • A Wide Range of Models: BatteryML already includes most classic models in the literature, enabling developers to quickly compare and benchmark different approaches.
  • Extensible and Customizable: BatteryML provides flexible interfaces to support further extensions and customizations, making it a versatile tool for potential applications in battery research.

Quick Start

Install

pip install -r requirements.txt
pip install .

This will install the BatteryML into your Python environment, together with a convenient command line interface (CLI) batteryml. You may also need to install PyTorch for deep models.

Download Raw Data and Run Preprocessing Scripts

Download raw files of public datasets and preprocess them into BatteryData of BatteryML is now as simple as two commands:

batteryml download MATR /path/to/save/raw/data
batteryml preprocess MATR /path/to/save/raw/data /path/to/save/processed/data

Run training and/or inference tasks using config files

BatteryML supports using a simple config file to specify the training and inference process. We provided several examples in configs. For example, to reproduce the "variance" model for battery life prediction, run

batteryml run configs/baselines/sklearn/variance_model/matr_1.yaml ./workspace/test --train --eval

Citation

If you find this work useful, we would appreciate citations to the following paper:

@misc{zhang2023batterymlan,
      title={BatteryML:An Open-source platform for Machine Learning on Battery Degradation}, 
      author={Han Zhang and Xiaofan Gui and Shun Zheng and Ziheng Lu and Yuqi Li and Jiang Bian},
      year={2023},
      eprint={2310.14714},
      archivePrefix={arXiv},
      primaryClass={cs.LG}
}

Documentation

By leveraging BatteryML, researchers can gain valuable insights into the latest advancements in battery prediction and materials science, enabling them to conduct experiments efficiently and effectively. We invite you to join us in our journey to accelerate battery research and innovation by contributing to and utilizing BatteryML for your research endeavors.

batteryml's People

Contributors

fingertap avatar agiamason avatar comprhys avatar microsoftopensource avatar yu-qi-li avatar tanevitt avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.