[![Build Status](https://travis-ci.com/TRI-AMDD/beep.svg?branch=master)](https://travis-ci.com/TRI-AMDD/beep)
[![Coverage Status](https://coveralls.io/repos/github/TRI-AMDD/beep/badge.svg?branch=master)](https://coveralls.io/github/TRI-AMDD/beep?branch=master)
# Summary
Beep is a software designed to support Battery Evaluation and Early Prediction
of cycle life corresponding to the research of the
[d3batt program](https://d3batt.mit.edu/) and the
[Toyota Research Institute](http://www.tri.global/accelerated-materials-design-and-discovery/).
Beep enables parsing and handing of electrochemical battery cycling data
via data objects reflecting cycling run data, experimental protocols,
featurization, and modeling of cycle life. Currently beep supports
arbin, maccor and biologic cyclers.
We are currently looking for experienced python developers to help us improve this package and implement new features.
Please contact any of the maintainers for more information.
## Installation
Use `pip install beep` to install.
If you want to develop beep, clone the repo via git and use
pip (or `python setup.py develop`) for an editable install:
```bash
git clone [email protected]:ToyotaResearchInstitute/BEEP.git
cd BEEP
pip install -e .
```
## Environment
To configure the use of AWS resources its necessary to set the environment variable `BEEP_ENV`. For most users `'dev'`
is the appropriate choice since it assumes that no AWS resources are available.
```.env
export BEEP_ENV='dev'
```
For processing file locally its necessary to configure the folder structure
```.env
export BEEP_PROCESSING_DIR='/path/to/beep/data/'
```
## Testing
You can use nose or pytests for running unittests (use `pip install nose`
to install nose if not installed). In order to run tests the environment variable
needs to be set (ie. export BEEP_ENV='dev')
```bash
nosetests beep
```
Note that the editable install (as prescribed above), is necessary
for nosetests.
## Using scripts
The standard installation procedure above should install and link console scripts
with currently available BEEP functionality. Each beep script takes a JSON string
as input in order to provide flexibility and more facile automation. They are documented
below:
### collate
The `collate` script takes no input, and operates by assuming the BEEP_PROCESSING_DIR (default `/`)
has subdirectories `/data-share/raw_cycler_files` and `data-share/renamed_cycler_files/FastCharge`.
The script moves files from the `/data-share/raw_cycler_files` directory, parses the metadata,
and renames them according to a combination of protocol, channel number, and date, placing them in
`/data-share/renamed_cycler_files`.
The script output is a json string that contains the following fields:
* `fid` - The file id used internally for renaming
* `filename` - full paths for raw cycler filenames
* `strname` - the string name associated with the file (i. e. scrubbed of `csv`)
* `file_list` - full paths for the new, renamed, cycler files
* `protocol` - the cycling protocol corresponding to each file
* `channel_no` - the channel number corresponding to each file
* `date` - the date corresponding to each file
Example:
```bash
$ collate
```
```json
{
"mode": "events_off",
"fid": [0,
1,
2],
"strname": ["2017-05-09_test-TC-contact",
"2017-08-14_8C-5per_3_47C",
"2017-12-04_4_65C-69per_6C"],
"file_list": ["/data-share/renamed_cycler_files/FastCharge/FastCharge_0_CH33.csv",
"/data-share/renamed_cycler_files/FastCharge/FastCharge_1_CH44.csv",
"/data-share/renamed_cycler_files/FastCharge/FastCharge_2_CH29.csv"],
"protocol": [null,
"8C(5%)-3.47C",
"4.65C(69%)-6C"],
"date": ["2017-05-09",
"2017-08-14",
"2017-12-04"],
"channel_no": ["CH33",
"CH44",
"CH29"],
"filename": ["/data-share/raw_cycler_files/2017-05-09_test-TC-contact_CH33.csv",
"/data-share/raw_cycler_files/2017-08-14_8C-5per_3_47C_CH44.csv",
"/data-share/raw_cycler_files/2017-12-04_4_65C-69per_6C_CH29.csv"]
}
```
### validate
The validation script, `validate`, runs the validation procedure contained
in beep.validate on renamed files according to the output of `rename` above.
It also updates a general json validation record in `/data-share/validation/validation.json`.
The input json must contain the following fields
* `file_list` - the list of filenames to be validated
* `mode` - mode for events i.e. 'test' or 'run'
* `run_list` - list of run_ids for each of the files, used by the database for linking data
The output json will have the following fields:
* `validity` - a list of validation results, e. g. `["valid", "valid", "invalid"]`
* `file_list` - a list of full path filenames which have been processed
Example:
```bash
$ validate '{
"mode": "events_off",
"run_list": [1, 20, 34],
"strname": ["2017-05-09_test-TC-contact",
"2017-08-14_8C-5per_3_47C",
"2017-12-04_4_65C-69per_6C"],
"file_list": ["/data-share/renamed_cycler_files/FastCharge/FastCharge_0_CH33.csv",
"/data-share/renamed_cycler_files/FastCharge/FastCharge_1_CH44.csv",
"/data-share/renamed_cycler_files/FastCharge/FastCharge_2_CH29.csv"],
"protocol": [null,
"8C(5%)-3.47C",
"4.65C(69%)-6C"],
"date": ["2017-05-09",
"2017-08-14",
"2017-12-04"],
"channel_no": ["CH33",
"CH44",
"CH29"],
"filename": ["/data-share/raw_cycler_files/2017-05-09_test-TC-contact_CH33.csv",
"/data-share/raw_cycler_files/2017-08-14_8C-5per_3_47C_CH44.csv",
"/data-share/raw_cycler_files/2017-12-04_4_65C-69per_6C_CH29.csv"]
}'
```
```json
{"validity": ["invalid",
"invalid",
"valid"],
"file_list": ["/data-share/renamed_cycler_files/FastCharge/FastCharge_0_CH33.csv",
"/data-share/renamed_cycler_files/FastCharge/FastCharge_1_CH44.csv",
"/data-share/renamed_cycler_files/FastCharge/FastCharge_2_CH29.csv"],
}
```
### structure
The `structure` script will run the data structuring on specified filenames corresponding
to validated raw cycler files. It places the structured datafiles in `/data-share/structure`.
The input json must contain the following fields:
* `file_list` - a list of full path filenames which have been processed
* `validity` - a list of boolean validation results, e. g. `[True, True, False]`
* `mode` - mode for events i.e. 'test' or 'run'
* `run_list` - list of run_ids for each of the files, used by the database for linking data
The output json contains the following fields:
* `invalid_file_list` - a list of invalid files according to the validity
* `file_list` - a list of files which have been structured into processed_cycler_runs
Example:
```bash
$ structure '{
"mode": "events_off",
"run_list": [1, 20, 34],
"validity": ["invalid", "invalid", "valid"],
"file_list": ["/data-share/renamed_cycler_files/FastCharge/FastCharge_0_CH33.csv",
"/data-share/renamed_cycler_files/FastCharge/FastCharge_1_CH44.csv",
"/data-share/renamed_cycler_files/FastCharge/FastCharge_2_CH29.csv"]}'
```
```json
{
"invalid_file_list": ["/data-share/renamed_cycler_files/FastCharge/FastCharge_0_CH33.csv",
"/data-share/renamed_cycler_files/FastCharge/FastCharge_1_CH44.csv"],
"file_list": ["/data-share/structure/FastCharge_2_CH29_structure.json"],
}
```
### featurize
The `featurize` script will generate features according to the methods
contained in beep.generate_features. It places output files corresponding to
features in `/data-share/features/`.
The input json must contain the following fields
* `file_list` - a list of processe
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
共65个文件
py:24个
yaml:16个
txt:6个
资源分类:Python库 所属语言:Python 资源全名:beep-2020.7.17.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源推荐
资源详情
资源评论
收起资源包目录
beep-2020.7.17.tar.gz (65个子文件)
beep-2020.7.17
MANIFEST.in 146B
PKG-INFO 1KB
LICENSE 11KB
setup.cfg 38B
beep
featurize.py 59KB
models
d3batt_single_point.model 2KB
d3batt_multi_point.model 5KB
custom_model.model 1KB
features
feature_hyperparameters.yaml 680B
featurizer_helpers.py 29KB
generate_protocol.py 10KB
validate.py 24KB
protocol
biologic.py 6KB
protocol_schemas
arbin_schedule_schema.yaml 866B
maccor.py 41KB
arbin.py 9KB
biologic_templates
BCS - 171.64.160.115_Ta19_ourprotocol_gdocSEP2019_CC7.mps 69KB
maccor_to_arbin.py 22KB
schedule_templates
20170630-3_6C_9per_5C.sdu 23KB
__init__.py 390B
procedure_templates
diagnosticV3.000 89KB
PreDiag_parameters - DP.csv 1KB
PredictionDiagnostic_parameters - DP.csv 595B
diagnosticV2.000 66KB
EXP.json 11KB
diagnosticV4.000 89KB
diagnosticV1.000 65KB
EXP.000 22KB
run_model.py 24KB
structure.py 67KB
validation_schemas
schema-maccor-eis.yaml 227B
schema-arbin-lfp.yaml 456B
schema-maccor-2170.yaml 604B
schema-arbin-nmc-phev.yaml 457B
schema-projects.yaml 218B
schema-maccor-lfp.yaml 231B
__init__.py 4KB
conversion_schemas
maccor_conversion.yaml 2KB
arbin_conversion.yaml 1KB
FastCharge_conversion.yaml 147B
structured_dtypes.yaml 2KB
__init__.py 912B
xTESLADIAG_conversion.yaml 176B
indigo_conversion.yaml 562B
maccor_waveform_conversion.yaml 329B
biologic_conversion.yaml 683B
collate.py 12KB
config.py 929B
utils
retrigger.py 4KB
secrets_manager.py 2KB
events.py 14KB
memprof.py 4KB
__init__.py 2KB
splice.py 4KB
project_transfer.py 5KB
principal_components.py 8KB
requirements.txt 313B
setup.py 3KB
README.md 10KB
beep.egg-info
PKG-INFO 1KB
requires.txt 363B
SOURCES.txt 2KB
entry_points.txt 221B
top_level.txt 5B
dependency_links.txt 1B
共 65 条
- 1
资源评论
挣扎的蓝藻
- 粉丝: 13w+
- 资源: 15万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功