solcast['Hour'] = solcast.Date.dt.hour solcast = solcast.drop(columns=['Date']) solcast = solcast.reindex(index=np.roll(solcast.index, -4)).reset_index( drop=True) solcast['solar_output_kw'] = pv.solar_output_kw solcast = solcast.drop(solcast.loc[(solcast.Dni == 0) & (solcast.Dhi == 0) & (solcast.Ghi == 0)].index) target_output = ['Dhi', 'Ghi', 'Dni'] #solcast.loc[solcast.Azimuth<=-1] = solcast.loc[solcast.Azimuth<=-1] + 360 est_dhi = solcast.Ghi - solcast.Dni * np.cos(solcast.Zenith) model, batch, validation_data, callbacks, x_test_scaled, y_test_scaled, y_test, y_scaler = ml.model_generation( solcast, target_output, batch_size=256, sequence_length=24, training_len=0.75, validation_len=0.225) model = ml.train_model(model, batch, validation_data, x_test_scaled, y_test_scaled, callbacks, epoch_size=25, epoch_steps=100) ml.save_model(model, 'model.h5')
columns={ 'hour_index', 'timestamp', 'horizon_elevation_angle', 'optimizer_input_power', 'optimizer_output_power', 'dry_bulb_temperature', 'windspeed', 'albedo', 'nameplate_power', 'module_mpp_power', 'module_power', 'optimal_dc_power', 'optimal_dc_voltage', 'actual_dc_voltage', 'module_irradiance_derated_power', 'inverter_overpower_loss', 'inverter_underpower_loss', 'inverter_overvoltage_loss', 'inverter_undervoltage_loss' }) df = df.div(1000) target_output = ['actual_dc_power', 'ac_power', 'grid_power'] model, batch, validation_data, callbacks, x_test_scaled, y_test_scaled, y_test, y_scaler = ml.model_generation( df, target_output) model = ml.train_model(model, batch, validation_data, x_test_scaled, y_test_scaled, callbacks, epoch_size=15, epoch_steps=100) ml.save_model(model, 'watson_ibm_model.h5') output = ml.load_models('watson_ibm_model.h5') import importlib