summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennard Kittner <lennard@kittner.dev>2025-03-30 19:28:25 +0200
committerLennard Kittner <lennard@kittner.dev>2025-03-30 19:28:25 +0200
commit957572b08929e88734201933b316b0a7c42b2458 (patch)
treeb67534ee7f53491188e62a22c55a56d531f14d2b
parent336eeb9b3e5f9cb9e8584719c32f02689300aee4 (diff)
Change model runner
-rw-r--r--Cargo.toml6
-rw-r--r--power_predictor.py6
-rw-r--r--src/model.rs10
3 files changed, 13 insertions, 9 deletions
diff --git a/Cargo.toml b/Cargo.toml
index c461d72..8de9e1f 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -18,10 +18,12 @@ perf-event = { path = "./perf-event" }
procfs = { version = "0.17.0", default-features = false }
dashmap = "6.1.0"
csv = "1.3.1"
-burn = "0.16.0"
+burn = {version = "0.16.0", features = ["openblas-system","candle"] }
bincode = "=2.0.0-rc.3"
bincode_derive = "=2.0.0-rc.3"
-burn-ndarray = "0.16.0"
+#burn-ndarray = {version = "0.16.0", default-features = false, features = ["burn-autodiff", "blas-openblas-system", "std"] }
+#burn-ndarray = {version = "0.16.0", default-features = false, features = ["burn-autodiff"] }
+burn-ndarray = {version = "0.16.0"}
burn-import = "0.16.0"
[build-dependencies]
diff --git a/power_predictor.py b/power_predictor.py
index cc2a86d..44a7319 100644
--- a/power_predictor.py
+++ b/power_predictor.py
@@ -82,11 +82,11 @@ def analyze_feature_importance(X, y):
class PowerEstimator(nn.Module):
def __init__(self, input_size):
super(PowerEstimator, self).__init__()
- self.input_lin = nn.Linear(input_size, 16)
+ self.input_lin = nn.Linear(input_size, 4)
self.relu1 = nn.ReLU()
- self.lin2 = nn.Linear(16, 4)
+ self.lin2 = nn.Linear(4, 2)
self.relu2 = nn.ReLU()
- self.lin3 = nn.Linear(4, 1)
+ self.lin3 = nn.Linear(2, 1)
def forward(self, x):
x = self.input_lin(x)
diff --git a/src/model.rs b/src/model.rs
index 04eb6c8..ea01d4d 100644
--- a/src/model.rs
+++ b/src/model.rs
@@ -8,7 +8,9 @@ use nn::{LeakyReluConfig, LinearConfig};
use burn::record::{FullPrecisionSettings, NamedMpkFileRecorder, Recorder};
use burn_import::pytorch::PyTorchFileRecorder;
-type ArrayBackend = burn_ndarray::NdArray<f32>;
+//type ArrayBackend = burn_ndarray::NdArray<f32>;
+//pub type ArrayBackend = burn_wgpu::Wgpu;
+pub type ArrayBackend = burn::backend::candle::Candle;
#[derive(Module, Debug)]
pub struct Net<B: Backend> {
@@ -23,11 +25,11 @@ impl<B: Backend> Net<B> {
/// Create a new model.
pub fn init(device: &B::Device) -> Self {
let input_size = 8;
- let input_lin = LinearConfig::new(input_size, 16).init(device);
+ let input_lin = LinearConfig::new(input_size, 4).init(device);
let relu1 = Relu::new();
- let lin2 = LinearConfig::new(16, 4).init(device);
+ let lin2 = LinearConfig::new(4, 2).init(device);
let relu2 = Relu::new();
- let lin3 = LinearConfig::new(4, 1).init(device);
+ let lin3 = LinearConfig::new(2, 1).init(device);
Self {
input_lin,
relu1,