No project description provided
Project description
PRCpy: A Python Library for Physical Reservoir Computing
PRCpy is a Python package designed to ease experimental data processing for physical reservoir computing.
Features
- Data handling and preprocessing.
- Customizable data processing pipelines for various research needs.
Installation
PRCpy requires Python 3.9 or later.
Using pip
pip install prcpy
Using Poetry
poetry add prcpy
General usage overview
- Define data path
- Define pre-processing parameters
- Create RC pipeline
- Define target and add to pipeline
- Define model for training
- Define RC parameters
- Run RC
Example:
import PRCpy
from prcpy.RC import Pipeline
from prcpy.TrainingModels.RegressionModels import define_Ridge
from prcpy.Maths.Target_functions import get_mackey_glass, get_square_waves
Define data directory and processing parameters
Note: Data files must contain "scan" in their file names. See examples/data for example data files.
data_dir_path = "your/data/path"
process_params = {
"Xs": "Frequency",
"Readouts": "Spectra",
"remove_bg": True,
"bg_fname": "background_data.txt",
"smooth": False,
"smooth_win": 51,
"smooth_rank": 4,
"cut_xs": False,
"x1": 2,
"x2": 5,
"normalize": False,
"sample": True,
"sample_rate": 13
}
Create RC pipeline
rc_pipeline = Pipeline(data_dir_path, process_params)
Target generation
Transformation
period = 10
sample_spacing = rc_pipeline.get_sample_spacing(period)
target_values = get_square_waves(sample_spacing, period, norm=True)
Forecasting
target_values = get_mackey_glass(norm=True)
Add target to pipeline
rc_pipeline.define_target(target_values)
Define model
model_params = {
"alpha": 1e-3,
"fit_intercept": True,
"copy_X": True,
"max_iter": None,
"tol": 0.0001,
"solver": "auto",
"positive": False,
"random_state": None,
}
model = define_Ridge(model_params)
Define RC parameters
Set "tau": 0 for transformation.
rc_params = {
"model": model,
"tau": 10,
"test_size": 0.3,
"error_type": "MSE"
}
Run RC
rc_pipeline.run()
Get results
results = rc_pipeline.get_rc_results()
Contributing
Any community contributions are welcome. Please refer to the project's GitHub repository for contribution guidelines.
Authors
- Oscar Lee zceesjl@ucl.ac.uk
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file prcpy-0.1.5.tar.gz.
File metadata
- Download URL: prcpy-0.1.5.tar.gz
- Upload date:
- Size: 30.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.9.7 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af40665ccb80facf14dd0861f9a3d9b309effe0e6e6c624e5e27f565559c8adb
|
|
| MD5 |
306cdc09c8d3179e32f7229c8906fbaf
|
|
| BLAKE2b-256 |
9cb7615a24e115d8522429aa1602aa027598f4d7e671ed30f79e4e9555796504
|
File details
Details for the file prcpy-0.1.5-py3-none-any.whl.
File metadata
- Download URL: prcpy-0.1.5-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.9.7 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ef7adf5f57dab9757e30cbb41745e30e749a93c20582c86a6aaa8d1e80b2ee2
|
|
| MD5 |
4e10e92197dd2066dfd5d4314f24dcd1
|
|
| BLAKE2b-256 |
f9c23acd0aea8594e8fe2e8d8c70676b5d1b6c6ebcbae3e38ebb25cf3f10df56
|