42 lines
1.2 KiB
Rust
42 lines
1.2 KiB
Rust
#![allow(non_snake_case)]
|
|
use burn::Tensor;
|
|
//
|
|
use burn::prelude::Backend;
|
|
use spikers::encoders;
|
|
|
|
fn main() {
|
|
let useGPU = {
|
|
// use burn::backend::Wgpu;
|
|
use burn::backend::wgpu::WgpuDevice;
|
|
match WgpuDevice::DefaultDevice {
|
|
WgpuDevice::Cpu => {
|
|
println!("GPU Not Found, using NDArray Backend");
|
|
false
|
|
}
|
|
_ => true,
|
|
}
|
|
};
|
|
|
|
if useGPU {
|
|
use burn::backend::Wgpu;
|
|
use burn::backend::wgpu::WgpuDevice;
|
|
run::<Wgpu>(WgpuDevice::default());
|
|
} else {
|
|
use burn::backend::NdArray;
|
|
use burn::backend::ndarray::NdArrayDevice;
|
|
run::<NdArray>(NdArrayDevice::default());
|
|
}
|
|
// encode(data, numSteps);
|
|
}
|
|
|
|
fn run<B: Backend>(device: B::Device) {
|
|
println!("Using {:?} Device", B::name(&device));
|
|
// let someTens = Tensor::<B, 1>::random(Shape::new([3]), Distribution::Normal(0., 1.), &device);
|
|
let someTens = Tensor::<B, 1>::from_floats([0., 0.2, 0.4, 0.6, 0.8, 1.0], &device);
|
|
println!("{}", encoders::rate::encode::<B, 1, 2>(&someTens, 10));
|
|
println!(
|
|
"{}",
|
|
encoders::temporal::encode::<B, 1, 2>(&someTens, 10, true)
|
|
);
|
|
}
|