https://github.com/aqibsaeed/sensor-transformer
Transformer Network for Time-Series, Sensor and Wearable Data
https://github.com/aqibsaeed/sensor-transformer
attention-mechanism neural-network sensor time-series transformer wearable
Last synced: 3 months ago
JSON representation
Transformer Network for Time-Series, Sensor and Wearable Data
- Host: GitHub
- URL: https://github.com/aqibsaeed/sensor-transformer
- Owner: aqibsaeed
- License: mit
- Created: 2021-02-06T15:50:27.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-02-08T20:58:27.000Z (over 4 years ago)
- Last Synced: 2025-05-07T03:08:07.346Z (5 months ago)
- Topics: attention-mechanism, neural-network, sensor, time-series, transformer, wearable
- Language: Python
- Homepage:
- Size: 12.7 KB
- Stars: 26
- Watchers: 3
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Sensor Transformer (SeT)
Adaptation of Vision Transformer (ViT) for Time-Series and Sensor Data in Tensorflow.#### Problems/Datasets
* Human Activity Recognition with Wearable Device
* Seizure Detection
* Predictive Maintenance#### Tools
* Tensorflow 2.4
* einops#### Install
```
pip install sensortransformer
```#### Usage
```python
import argparse
import tensorflow as tf
from sensortransformer import set_networkparser = argparse.ArgumentParser()
parser.add_argument("--signal-length", type=int)
parser.add_argument("--segment-size", type=int)
parser.add_argument("--num_channels", type=int)
parser.add_argument("--num_classes", type=int)
args = parser.parse_args()"""
TF-Data objects, see data.load_data function.
Instances must be of shape x = (batch, signal_length, num_channels)
y = (batch, num_classes)
"""
ds_train, ds_test = ...model = set_network.SensorTransformer(
signal_length=args.signal_length,
segment_size=args.segment_size,
channels=args.num_channels,
num_classes=args.num_classes,
num_layers=4,
d_model=64,
num_heads=4,
mlp_dim=64,
dropout=0.1,
)
model.compile(
loss=tf.keras.losses.CategoricalCrossentropy(from_logits=True),
optimizer=tf.keras.optimizers.Adam(),
metrics=[tf.keras.metrics.CategoricalAccuracy()],
)
model.fit(ds_train, epochs=50, verbose=1)
model.evaluate(ds_test)
```Thanks to Phil Wang for open-sourcing Pytorch implementation of ViT