acctouhou / Prediction_of_battery

Apache License 2.0
41 stars 5 forks source link

Question about the code that predicts the capacity of the entire cycle #6

Open lilyniu opened 5 days ago

lilyniu commented 5 days ago

In the inferring_voltage code file, the file for charge_data and discharge_data used for the input values of the model uses information that is not from the first 100 cycles, for example print(charge_data[0].shape) is (687, 4, 500). How to predict the whole complete using only the first 100 cycle's, would like to have your answer thank you!

`cell_feature={}

for i in tqdm(range(len(charge_data))): charge_feature=feature_selector(feature_selector_ch, charge_data[i],charge_norm) discharge_feature=feature_selector(feature_selector_dis, discharge_data[i],discharge_norm) cell_feature['%d'%(i)]=concat_data(charge_feature,discharge_feature, summary_data[i])

x_in1,x_in2,y_in1,y_in2,y_in3=process2predict(cell_feature,section) in_x1=np.vstack(x_in1[cell_number]).reshape(-1,input_data_len,12) in_x2=np.vstack(x_in2[cell_number]).reshape(-1,1) predict_voltage,predict_capacity,predict_power=predictor.predict([in_x1,in_x2],batch_size=256)`

acctouhou commented 5 days ago

Thank you for your interest in our research. This demonstration primarily focuses on efficiently feeding all the data into the pipeline for prediction.

During the presentation, we will use the following settings:

cell_number = 9     # battery ID
phase = 99          # which age of feature to predict
start_cycle = 500   # starting cycle
append = 5          # attach n cycle features

These settings control the prediction conditions, ensuring that only information from the start_cycle and the following 5 appended cycles is used for the target prediction. Performing individual predictions without contamination from data outside the target range is also possible. You only need to refer to the padding method used in process2predict for handling the data, then input it into the model for prediction.