{"id":348842,"name":"BatteryLife","description":"A Comprehensive Dataset and Benchmark for Battery Life Prediction.","url":"https://github.com/ruifeng-tan/batterylife","last_synced_at":"2026-04-21T16:30:17.240Z","repository":{"id":278668227,"uuid":"936391086","full_name":"Ruifeng-Tan/BatteryLife","owner":"Ruifeng-Tan","description":"The official BatteryLife repository ","archived":false,"fork":false,"pushed_at":"2026-04-16T03:42:32.000Z","size":99501,"stargazers_count":255,"open_issues_count":5,"forks_count":36,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-04-16T14:02:12.200Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ruifeng-Tan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-21T02:13:04.000Z","updated_at":"2026-04-16T08:07:55.000Z","dependencies_parsed_at":"2025-07-21T04:17:21.553Z","dependency_job_id":"d18089f8-0500-4253-bd3c-7d268fe1bfd2","html_url":"https://github.com/Ruifeng-Tan/BatteryLife","commit_stats":null,"previous_names":["ruifeng-tan/batterylife"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ruifeng-Tan/BatteryLife","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ruifeng-Tan%2FBatteryLife","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ruifeng-Tan%2FBatteryLife/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ruifeng-Tan%2FBatteryLife/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ruifeng-Tan%2FBatteryLife/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ruifeng-Tan","download_url":"https://codeload.github.com/Ruifeng-Tan/BatteryLife/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ruifeng-Tan%2FBatteryLife/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31973202,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"online","status_checked_at":"2026-04-18T02:00:07.018Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"Ruifeng-Tan","name":"Ruifeng T","uuid":"50574059","kind":"user","description":"a first-year PhD student at HKUST(GZ)","email":"","website":"https://Ruifeng-Tan.github.io","location":"Guangzhou, Guangdong, China","twitter":null,"company":"HKUST(GZ)","icon_url":"https://avatars.githubusercontent.com/u/50574059?u=8f24bdaae72a19bba14fbef6d04f3292fc866e32\u0026v=4","repositories_count":2,"last_synced_at":"2023-03-07T20:46:49.520Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/Ruifeng-Tan","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-17T17:04:16.988Z","updated_at":"2023-03-07T20:46:49.545Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ruifeng-Tan","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ruifeng-Tan/repositories"},"packages":[],"commits":{"id":11690057,"full_name":"ruifeng-tan/batterylife","default_branch":"master","total_commits":173,"total_committers":6,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":28.833333333333332,"dds":0.5202312138728324,"past_year_total_commits":101,"past_year_total_committers":6,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":16.833333333333332,"past_year_dds":0.504950495049505,"last_synced_at":"2026-04-18T15:01:25.600Z","last_synced_commit":"3f7c918aa31f756a518ce3014fe2787dba789f3a","created_at":"2026-03-21T01:01:12.185Z","updated_at":"2026-04-18T15:01:19.052Z","committers":[{"name":"Ruifeng Tan（谭瑞锋）","email":"50574059+Ruifeng-Tan","login":"Ruifeng-Tan","count":83},{"name":"Hong Weixiang","email":"1070446604@qq.com","login":"HongWxd","count":81},{"name":"HWX","email":"hwx@ps.ps","login":null,"count":5},{"name":"Jintao Dong","email":"djtgtao@outlook.com","login":"DJTGtao","count":2},{"name":"dralfo","email":"1209992400@qq.com","login":"Norlan-Ch","count":1},{"name":"Kevin Wang","email":"126712357+KevinWang676","login":"KevinWang676","count":1}],"past_year_committers":[{"name":"Hong Weixiang","email":"1070446604@qq.com","login":"HongWxd","count":50},{"name":"Ruifeng Tan（谭瑞锋）","email":"50574059+Ruifeng-Tan","login":"Ruifeng-Tan","count":42},{"name":"HWX","email":"hwx@ps.ps","login":null,"count":5},{"name":"Jintao Dong","email":"djtgtao@outlook.com","login":"DJTGtao","count":2},{"name":"dralfo","email":"1209992400@qq.com","login":"Norlan-Ch","count":1},{"name":"Kevin Wang","email":"126712357+KevinWang676","login":"KevinWang676","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruifeng-tan%2Fbatterylife/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-20T00:00:09.037Z","repositories_count":6214720,"commits_count":899522058,"contributors_count":34906464,"owners_count":1143548,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"Ruifeng-Tan/BatteryLife","html_url":"https://github.com/Ruifeng-Tan/BatteryLife","last_synced_at":"2026-04-18T15:01:08.533Z","status":"active","issues_count":13,"pull_requests_count":5,"avg_time_to_close_issue":801930.3333333334,"avg_time_to_close_pull_request":28932.0,"issues_closed_count":6,"pull_requests_closed_count":2,"pull_request_authors_count":4,"issue_authors_count":6,"avg_comments_per_issue":1.7692307692307692,"avg_comments_per_pull_request":0.2,"merged_pull_requests_count":1,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":9,"past_year_pull_requests_count":5,"past_year_avg_time_to_close_issue":92645.33333333333,"past_year_avg_time_to_close_pull_request":28932.0,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.111111111111111,"past_year_avg_comments_per_pull_request":0.2,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"created_at":"2025-07-16T13:04:09.506Z","updated_at":"2026-04-18T15:01:08.534Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ruifeng-Tan%2FBatteryLife","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ruifeng-Tan%2FBatteryLife/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":11,"CONTRIBUTOR":2},"pull_request_author_associations_count":{"NONE":4,"CONTRIBUTOR":1},"issue_authors":{"si520":4,"JaceJu-frog":3,"bysdyc":2,"Norlan-Ch":2,"yyyac":1,"zhangmenglong-eng":1},"pull_request_authors":{"DJTGtao":2,"SelmanKaraatli":1,"KevinWang676":1,"Norlan-Ch":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-20T00:00:09.428Z","repositories_count":14341298,"issues_count":34442303,"pull_requests_count":112769037,"authors_count":11240346,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":7,"CONTRIBUTOR":2},"past_year_pull_request_author_associations_count":{"NONE":4,"CONTRIBUTOR":1},"past_year_issue_authors":{"si520":4,"Norlan-Ch":2,"JaceJu-frog":1,"yyyac":1,"zhangmenglong-eng":1},"past_year_pull_request_authors":{"DJTGtao":2,"KevinWang676":1,"Norlan-Ch":1,"SelmanKaraatli":1},"maintainers":[],"active_maintainers":[]},"events":{"total":{"DeleteEvent":1,"MemberEvent":1,"PullRequestEvent":5,"ForkEvent":21,"IssuesEvent":19,"WatchEvent":158,"IssueCommentEvent":24,"PushEvent":129,"CreateEvent":4},"last_year":{"DeleteEvent":1,"PullRequestEvent":5,"ForkEvent":13,"IssuesEvent":13,"WatchEvent":78,"IssueCommentEvent":19,"PushEvent":65,"CreateEvent":2}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2025-02-21T03:32:57.034Z","updated_at":"2025-02-21T03:32:57.034Z","repository_link":"https://github.com/Ruifeng-Tan/BatteryLife/blob/main/requirements.txt","dependencies":[{"id":21966115835,"package_name":"accelerate","ecosystem":"pypi","requirements":"==0.29.3","direct":true,"kind":"runtime","optional":false},{"id":21966115836,"package_name":"BatteryML","ecosystem":"pypi","requirements":"==0.0.1","direct":true,"kind":"runtime","optional":false},{"id":21966115851,"package_name":"datasets","ecosystem":"pypi","requirements":"==2.19.0","direct":true,"kind":"runtime","optional":false},{"id":21966115852,"package_name":"denseweight","ecosystem":"pypi","requirements":"==0.1.2","direct":true,"kind":"runtime","optional":false},{"id":21966115888,"package_name":"evaluate","ecosystem":"pypi","requirements":"==0.4.1","direct":true,"kind":"runtime","optional":false},{"id":21966115962,"package_name":"joblib","ecosystem":"pypi","requirements":"==1.4.0","direct":true,"kind":"runtime","optional":false},{"id":21966115963,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==3.8.4","direct":true,"kind":"runtime","optional":false},{"id":21966115964,"package_name":"numpy","ecosystem":"pypi","requirements":"==2.2.3","direct":true,"kind":"runtime","optional":false},{"id":21966115965,"package_name":"pandas","ecosystem":"pypi","requirements":"==2.2.3","direct":true,"kind":"runtime","optional":false},{"id":21966115966,"package_name":"peft","ecosystem":"pypi","requirements":"==0.12.0","direct":true,"kind":"runtime","optional":false},{"id":21966115967,"package_name":"reformer_pytorch","ecosystem":"pypi","requirements":"==1.4.4","direct":true,"kind":"runtime","optional":false},{"id":21966116004,"package_name":"Requests","ecosystem":"pypi","requirements":"==2.32.3","direct":true,"kind":"runtime","optional":false},{"id":21966116005,"package_name":"scikit_learn","ecosystem":"pypi","requirements":"==1.4.2","direct":true,"kind":"runtime","optional":false},{"id":21966116006,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.15.2","direct":true,"kind":"runtime","optional":false},{"id":21966116007,"package_name":"seaborn","ecosystem":"pypi","requirements":"==0.13.2","direct":true,"kind":"runtime","optional":false},{"id":21966116008,"package_name":"sympy","ecosystem":"pypi","requirements":"==1.12","direct":true,"kind":"runtime","optional":false},{"id":21966116009,"package_name":"torch","ecosystem":"pypi","requirements":"==2.4.1","direct":true,"kind":"runtime","optional":false},{"id":21966116010,"package_name":"tqdm","ecosystem":"pypi","requirements":"==4.66.2","direct":true,"kind":"runtime","optional":false},{"id":21966116011,"package_name":"transformers","ecosystem":"pypi","requirements":"==4.43.4","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"utils/mae/requirements.txt","sha":null,"kind":"manifest","created_at":"2025-02-21T03:32:59.553Z","updated_at":"2025-02-21T03:32:59.553Z","repository_link":"https://github.com/Ruifeng-Tan/BatteryLife/blob/main/utils/mae/requirements.txt","dependencies":[{"id":21966116017,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"utils/mape/requirements.txt","sha":null,"kind":"manifest","created_at":"2025-02-21T03:32:59.618Z","updated_at":"2025-02-21T03:32:59.618Z","repository_link":"https://github.com/Ruifeng-Tan/BatteryLife/blob/main/utils/mape/requirements.txt","dependencies":[{"id":21966116021,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"utils/mse/requirements.txt","sha":null,"kind":"manifest","created_at":"2025-02-21T03:32:59.682Z","updated_at":"2025-02-21T03:32:59.682Z","repository_link":"https://github.com/Ruifeng-Tan/BatteryLife/blob/main/utils/mse/requirements.txt","dependencies":[{"id":21966116031,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":7.352441100243583,"created_at":"2026-03-19T00:02:23.657Z","updated_at":"2026-04-21T16:30:17.242Z","avatar_url":"https://github.com/Ruifeng-Tan.png","language":"Jupyter Notebook","category":"Energy Storage","sub_category":"Battery","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# (KDD 2025) BatteryLife\n\nThis is the official repository for [BatteryLife: A Comprehensive Dataset and Benchmark for Battery Life Prediction](https://dl.acm.org/doi/10.1145/3711896.3737372). If you find this repository useful, we would appreciate citations to our paper and stars to this repository.\n\n:triangular_flag_on_post: **News** (2026.02) BatteryLife has exceeded 30,000 downloads. BatteryLife v10 is now released, with fixes for issues reported over the past year (update details are available [here](https://github.com/Ruifeng-Tan/BatteryLife/blob/main/assets/Version10_Update_Details.md)). We sincerely appreciate the support from the community.\n\n:triangular_flag_on_post:**News** (2025.10) Added the standardized [SDU dataset](https://www.cell.com/cell-reports-physical-science/fulltext/S2666-3864(25)00256-5) to BatteryLife. Corrected the time_in_s column for all batteries.\n\n🔥**News** (2025.08) BatteryLife downloads exceed 10,000.\n\n🔥**News** (2025.07) BatteryLife downloads exceed 7,000.\n\n🔥**News** (2025.06) BatteryLife downloads exceed 5,000.\n\n:triangular_flag_on_post:**News** (2025.06) Added the complete Stanford dataset as \"Stanford_2\" (now including both releases of the Stanford dataset).\n\n:triangular_flag_on_post:**News** (2025.05) BatteryLife was accpeted by KDD 2025.\n\n🔥**News** (2025.05) BatteryLife downloads exceed 3,000. ​\n\n:triangular_flag_on_post:**News** (2025.02) BatteryLife was released!\n\n## Highlights\n(Data statistics are based on the initial release of BatteryLife.)\n\n- **The largest battery life dataset:** BatteryLife is created by integrating 16 datasets, providing 99,000 samples from 990 batteries with life labels.\n- **The most diverse battery life dataset:** BatteryLife contains 8 battery formats, 59 chemical systems, 9 operation temperatures, and 421 charge/discharge protocols.\n- **A comprehensive benchmark for battery life prediction:** BatteryLife provides 18 benchmark methods with open-source codes in this repository. The 18 benchmark methods include popular methods for battery life prediction, popular baselines in time series analysis, and a series of baselines proposed by this work.\n\n## Data availability\n\nThe processed datasets can be accessed via multiple ways:\n\n1. You can download the datasets from [Huggingface](https://huggingface.co/datasets/Hongwxx/BatteryLife_processed/tree/main) [[tutorial]](./assets/Data_download.md).\n2. You can download the datasets from [Zenodo](https://zenodo.org/records/18646655).\n\nNote that brief introductions to each dataset are available under the directory of each dataset.\n\nAll the raw datasets are publicly available, interested users can download them from the following links:\n\n- Zn-ion, Na-ion, and CALB datasets: [Zenodo link](https://zenodo.org/records/17960956) [Huggingface link](https://huggingface.co/datasets/Hongwxx/BatteryLife_Raw/tree/main) [[tutorial]](./assets/Data_download.md#how-to-download-the-raw-data-from-huggingface)\n- CALCE: [link](https://calce.umd.edu/battery-data)\n- MATR: [Three batches](https://data.matr.io/1/projects/5c48dd2bc625d700019f3204) and [Batch 9](https://data.matr.io/1/projects/5d80e633f405260001c0b60a/batches/5dcef1fe110002c7215b2c94)\n- HUST: [link](https://data.mendeley.com/datasets/nsc7hnsg4s/2)\n- RWTH: [link](https://publications.rwth-aachen.de/record/818642/files/Rawdata.zip)\n- ISU\\_ILCC: [link](https://iastate.figshare.com/articles/dataset/_b_ISU-ILCC_Battery_Aging_Dataset_b_/22582234)\n- XJTU: [link](https://zenodo.org/records/10963339)\n- Tongji: [link](https://zenodo.org/records/6405084)\n- Stanford: [link](https://data.matr.io/8/)\n- HNEI, SNL, MICH, MICH_EXP and UL_PUR datasets: [BatteryArchive](https://www.batteryarchive.org/index.html).\n- SDU dataset: [link](https://zenodo.org/records/14859405).\n\n## Benchmark results of Battery Life Prediction (BLP) task\n\nThe benchmark result for battery life prediction. The comparison methods are split into five types, including\n\n1. Dummy, a baseline that uses the mean of training labels as the prediction.\n2. MLPs, a series of multilayer perceptron models including DLinear, MLP, and CPMLP.\n3. Transformers, a series of transformer models including PatchTST, Autoformer, iTransformer, Transformer, and CPTransformer.\n4. CNNs, a series of convolutional neural network models including CNN and MICN.\n5. RNNs, a series of recurrent neural network models including CPGRU, CPBiGRU, CPLSTM, CPBiLSTM, GRU, BiGRU, LSTM, and BiLSTM.\n\n|   Datasets    |   Li-ion    |   Li-ion    |   Zn-ion    |   Zn-ion    |   Na-ion    |   Na-ion    |    CALB     |    CALB     |\n| :-----------: | :---------: | :---------: | :---------: | :---------: | :---------: | :---------: | :---------: | :---------: |\n|  **Metrics**  |  **MAPE**   | **15%-Acc** |  **MAPE**   | **15%-Acc** |  **MAPE**   | **15%-Acc** |  **MAPE**   | **15%-Acc** |\n|     Dummy     | 0.831±0.000 | 0.296±0.000 | 1.297±0.214 | 0.083±0.047 | 0.404±0.029 | 0.067±0.094 | 1.811±0.550 | 0.267±0.094 |\n|    DLinear    | 0.586±0.028 | 0.275±0.017 | 0.814±0.026 | 0.124±0.020 | 0.319±0.031 | 0.329±0.042 | 0.164±0.049 | 0.601±0.114 |\n|      MLP      | 0.233±0.010 | 0.503±0.013 | 0.805±0.103 | 0.079±0.055 | 0.281±0.067 | 0.364±0.098 | 0.149±0.014 | 0.641±0.115 |\n|     CPMLP     | 0.179±0.003 | 0.620±0.004 | 0.558±0.034 | 0.297±0.084 | 0.274±0.026 | 0.337±0.038 | 0.140±0.009 | 0.704±0.053 |\n|   PatchTST    | 0.288±0.042 | 0.430±0.053 | 0.716±0.024 | 0.133±0.001 | 0.396±0.094 | 0.258±0.070 | 0.347±0.045 | 0.511±0.139 |\n|  Autoformer   | 0.437±0.093 | 0.287±0.067 | 0.987±0.243 | 0.106±0.039 | 0.372±0.047 | 0.177±0.128 | 0.761±0.061 | 0.329±0.121 |\n| iTransformer  | 0.209±0.015 | 0.516±0.028 | 0.690±0.110 | 0.188±0.037 | 0.321±0.087 | 0.249±0.178 | 0.164±0.020 | 0.649±0.044 |\n|  Transformer  |      -      |      -      |      -      |      -      |      -      |      -      |      -      |      -      |\n| CPTransformer | 0.184±0.003 | 0.573±0.016 | 0.515±0.067 | 0.202±0.084 | 0.255±0.036 | 0.406±0.084 | 0.149±0.005 | 0.672±0.107 |\n|      CNN      | 0.337±0.068 | 0.371±0.050 | 0.928±0.093 | 0.115±0.029 | 0.307±0.047 | 0.273±0.027 | 0.278±0.011 | 0.582±0.032 |\n|     MICN      | 0.249±0.004 | 0.494±0.019 | 0.579±0.101 | 0.227±0.127 | 0.305±0.040 | 0.335±0.065 | 0.233±0.050 | 0.471±0.257 |\n|     CPGRU     | 0.189±0.008 | 0.585±0.013 | 0.616±0.049 | 0.289±0.076 | 0.298±0.063 | 0.203±0.160 | 0.141±0.012 | 0.681±0.178 |\n|    CPBiGRU    | 0.190±0.001 | 0.566±0.034 | 0.774±0.202 | 0.193±0.156 | 0.282±0.055 | 0.395±0.008 | 0.160±0.015 | 0.686±0.063 |\n|    CPLSTM     | 0.196±0.006 | 0.585±0.020 | 0.932±0.227 | 0.085±0.028 | 0.272±0.051 | 0.386±0.009 | 0.156±0.073 | 0.613±0.153 |\n|   CPBiLSTM    | 0.191±0.007 | 0.421±0.255 | 0.645±0.049 | 0.150±0.104 | 0.299±0.043 | 0.399±0.001 | 0.173±0.075 | 0.663±0.247 |\n|   GRU\u0026BiGRU   |     NA      |     NA      |     NA      |     NA      |     NA      |     NA      |     NA      |     NA      |\n|  LSTM\u0026BiLSTM  |     NA      |     NA      |     NA      |     NA      |     NA      |     NA      |     NA      |     NA      |\n\n## Quick start\n\n### Install\n\n```\npip install -r requirements.txt\n# You should also install BatteryML (https://github.com/microsoft/BatteryML)\n```\n\n### Preprocessing [[tutorial](./assets/Preprocess.md)]\n\nAfter downloading all raw datasets provided in \"Data availability\" section, you can run the following script to obtain the processed datasets:\n\n```\npython preprocess_scripts.py\n```\n\nIf you download the processed datasets, you can skip this step.\n\n- During the development of BatteryLife, we frequently encountered problems where the processed data still contained potential issues after processing. Consequently, according to our experience, we have provided some Jupyter scripts for the double-check of processed data in the `./check_data_scripts/` folder to help the quick verification and processing of the data for the community. By conducting quick checks to ensure that all characteristic curves align with expectations, potential downstream complications can be effectively mitigated.\n\n  - `check_capacity_curves.ipynb` : for checking charge and discharge capacities curve of the batteries..\n  - `check_soh_curves.ipynb` : for checking the degradation trajectory of the batteries.\n  - `check_voltage_current_curves.ipynb` : for checking the voltage and current curves of the batteries.\n\nHow to calculate the statistical information of aging conditions for processed data:\n\n- Firstly, run the `aging_conditions.py` script to generate the `name2agingConditionID.json`, which the aging condition number for each battery.\n- Secondly, run the `dataset_overview_calculation.py` script to calculate the aging conditions statistical information for preprocessed data.\n\n### Train the model [[tutorial](./assets/Model_training.md)]\n\nBefore you start training, please move all **processed datasets (such as, HUST, MATR, et al.)** folders and **Life labels** folder (downloaded from Hugginface or Zenodo websites) into `./dataset` folder under the root folder.\n\nAfter that, just feel free to run any benchmark method. For example:\n\n```sh\nsh ./train_eval_scripts/CPTransformer.sh\n```\n\n### Evaluate the model\n\nIf you want to evaluate a model in detail. We have provided the evaluation script. You can use it as follows:\n\n```sh\nsh ./train_eval_scripts/evaluate.sh\n```\n\n### Fine-tuning [[tutorial](./assets/Transfer_learning.md#Fine-tuning)]\n\nIf you want to fine-tune the pretrained model to another dataset. We have provided the fine-tuning script and the [tutorial](./assets/Transfer_learning.md#Fine-tuning). You can use it as follows:\n\n```shell\nsh ./train_eval_scripts/finetune_script.sh\n```\n\n### Domain adaptation [[tutorial](./assets/Transfer_learning.md#domain-adaptation)]\n\nIf you want to do the domain adaptation to another dataset. We have provided the domain adaptation script and the [tutorial](./assets/Transfer_learning.md#domain-adaptation). You can use it as follows:\n\n```shell\nsh ./train_eval_scripts/domain_adaptation_script.sh\n```\n\n## Documention\n\n- The main information is described in our [BatteryLife paper](https://arxiv.org/abs/2502.18807). \n- The data structure of the standardized data is described in [Data_structure_description.md](./assets/Data_structure_description.md). \n- Further details of data statistics are available at [Further_details_of_data_statistics.md](./assets/Further_details_of_data_statistics.md).\n- Further details of processed charge and discharge capacity data are available at [Further_details_of_processed_charge_and_discharge_capacity_data.md](./assets/Further_details_of_processed_charge_and_discharge_capacity_data.md).\n- BatteryLife v10 update details are available at [Version10_Update_Details.md](./assets/Version10_Update_Details.md).\n\n## Welcome contributions\n\nAdvancing AI4Battery requires standardized datasets. However, the available battery life datasets are typically stored in different places and in different formats. We have put great efforts into integrating 13 previously available datasets and 3 of our datasets. BatteryLife aims to become a unified platform for sharing standardized battery aging and lifetime datasets. We warmly welcome contributions from the community—whether by sharing new datasets or standardizing existing ones according to the BatteryLife guidelines.\n\nTo further broaden the range of available resources, we list below several open-source but currently unprocessed datasets in the battery life domain:\n\n| Index | Release Year | Data Download Link                                           | Journals/Conferences           | Preprocess Status  |\n| ----- | ------------ | ------------------------------------------------------------ | ------------------------------ | ------------------ |\n| 1     | 2023         | [Item - eVTOL Battery Dataset - Carnegie Mellon University - Figshare](https://kilthub.cmu.edu/articles/dataset/eVTOL_Battery_Dataset/14226830/2) | Scientific Data                |                    |\n| 2     | 2024         | [Dataset - Dynamic cycling enhances battery lifetime Stanford Digital Repository](https://purl.stanford.edu/td676xr4322) | Nature Energy                  |                    |\n| 3     | 2025         | [Aging matrix visualizes complexity of battery aging across hundreds of cycling protocols](https://data.matr.io/11/) | Energy \u0026 Environmental Science |                    |\n| 4     | 2025         | [Degradation path prediction of lithium-ion batteries under dynamic operating sequences](https://data.mendeley.com/datasets/h2y7mj4kt7/2) | Energy \u0026 Environmental Science | Ongoing                   |\n| 5     | 2025         | [Non-destructive degradation pattern decoupling for early battery trajectory prediction via physics-informed learning](https://zenodo.org/records/10715209) | Energy \u0026 Environmental Science |                    |\n| 6     | 2025         | [A dataset of over one thousand computed tomography scans of battery cells](https://plus.figshare.com/articles/dataset/A_dataset_of_over_one_thousand_computed_tomography_scans_of_battery_cells/25330501) | ChemRxiv |                    |\n| 7     | 2026         | [Transfer from lithium to sodium: promoting battery lifetime prognosis application](https://pubs.rsc.org/en/content/articlehtml/2025/eb/d5eb00215j) | EES Batteries |                    |\n| 8     | 2026         | [Large battery model for multi-state co-estimation and intelligent recommendation using mixed data sources](https://data.mendeley.com/datasets/dbwsn6t96j/1) | Energy Storage Materials |                    |\n| 9     | 2026         | [Discovery Learning predicts battery cycle life from minimal experiments](https://zenodo.org/records/17654407) | Nature |       Ongoing             |\n\nIf you are interested in contributing, please either submit a pull request or contact us via email at rtan474@connect.hkust-gz.edu.cn and whong719@connect.hkust-gz.edu.cn. To integrate your data into the BatteryLife repositories, please provide:\n\n- Raw datasets\n- Processed datasets\n- Preprocessing scripts (for reproducibility)\n- A list of contributors (for acknowledgment in the repo)\n- Papers related to the data generation (we will prompt users to cite these in the repository's Citation section).\n\n\n## Citation\n\nIf you use the benchmark, processed datasets, or the raw datasets produced by this work, you should cite the BatteryLife paper:\n\n```\n@inproceedings{10.1145/3711896.3737372,\nauthor = {Tan, Ruifeng and Hong, Weixiang and Tang, Jiayue and Lu, Xibin and Ma, Ruijun and Zheng, Xiang and Li, Jia and Huang, Jiaqiang and Zhang, Tong-Yi},\ntitle = {BatteryLife: A Comprehensive Dataset and Benchmark for Battery Life Prediction},\nyear = {2025},\nisbn = {9798400714542},\npublisher = {Association for Computing Machinery},\naddress = {New York, NY, USA},\nurl = {https://doi.org/10.1145/3711896.3737372},\ndoi = {10.1145/3711896.3737372},\nbooktitle = {Proceedings of the 31st ACM SIGKDD Conference on Knowledge Discovery and Data Mining V.2},\npages = {5789–5800},\nnumpages = {12},\nlocation = {Toronto ON, Canada},\nseries = {KDD '25}\n}\n```\n\n- Additionally, please cite the original papers that conducted experiments. Please cite [BatteryArchive](https://www.batteryarchive.org/index.html) as the data source for the HNEI, SNL, MICH, MICH_EXP, and UL_PUR datasets.\n- Please cite [BatteryML](https://iclr.cc/virtual/2024/poster/17628) if you use the processed CALCE, MATR, HUST, HNEI, RWTH, SNL, and UL_PUR datasets. Our preprocessing for these 7 datasets relies heavily on BatteryML's preprocessing scripts.\n- Please cite [SDU paper](https://www.cell.com/cell-reports-physical-science/fulltext/S2666-3864(25)00256-5) if you use the SDU dataset.\n\n\n## Acknowledgement\n\nThis repo is constructed based on the following repos:\n\n- https://github.com/thuml/Time-Series-Library\n- https://github.com/microsoft/BatteryML\n\n## All thanks to our contributors\n\n\u003ca href=\"https://github.com/Ruifeng-Tan/BatteryLife/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=Ruifeng-Tan/BatteryLife\" /\u003e\n\u003c/a\u003e\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.1145/3711896.3737372"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/348842","html_url":"https://ost.ecosyste.ms/projects/348842"}