| import numpy as np | |
| from preprocessor.feature_extractor import MotokoFeatureExtractor | |
| MATERIALS = ["metal", "rubber", "wood", "fabric"] | |
| def predict_material(signal: dict[str, np.ndarray]) -> str: | |
| extractor = MotokoFeatureExtractor.from_config("preprocessor/preprocessor_config.json") | |
| features = extractor(signal) | |
| index = int(abs(features["input_values"].sum())) % len(MATERIALS) | |
| return MATERIALS[index] | |
| if __name__ == "__main__": | |
| signal = { | |
| "force": np.random.randn(256, 3).astype(np.float32), | |
| "torque": np.random.randn(256, 3).astype(np.float32), | |
| "pressure": np.random.randn(256, 16).astype(np.float32), | |
| "vibration": np.random.randn(256, 6).astype(np.float32), | |
| } | |
| print("material:", predict_material(signal)) | |