Crates.io | RayBNN_DataLoader |
lib.rs | RayBNN_DataLoader |
version | 2.0.3 |
source | src |
created_at | 2023-09-03 06:59:56.126079 |
updated_at | 2024-06-18 05:46:33.996418 |
description | Read CSV, numpy, and binary files to Rust vectors of f16, f32, f64, u8, u16, u32, u64, i8, i16, i32, i64 |
homepage | |
repository | https://github.com/BrosnanYuen/RayBNN_DataLoader |
max_upload_size | |
id | 962125 |
size | 269,324 |
Data Loader for RayBNN
Read CSV, numpy, and binary files to Rust vectors of f16, f32, f64, u8, u16, u32, u64, i8, i16, i32, i64
Read CSV, numpy, and binary files to Arrayfire GPU arrays of f16, f32, f64, u8, u16, u32, u64, i8, i16, i32, i64
Install the Arrayfire 3.9.0 binaries at https://arrayfire.com/binaries/
or build from source https://github.com/arrayfire/arrayfire/wiki/Getting-ArrayFire
arrayfire = { version = "3.8.1", package = "arrayfire_fork" }
rayon = "1.10.0"
num = "0.4.3"
num-traits = "0.2.19"
half = { version = "2.4.1" , features = ["num-traits"] }
npyz = "0.8.3"
RayBNN_DataLoader = "2.0.3"
The vector is completely flat
let (mut cpu_vector,metadata) = RayBNN_DataLoader::Dataset::CSV::file_to_vec_cpu::<f64>(
"./test_data/read_test.dat"
);
The vector is completely flat
let (mut cpu_vector,metadata) = RayBNN_DataLoader::Dataset::CSV::file_to_vec_cpu::<i64>(
"./test_data/read_test2.dat"
);
The array is 2D existing in GPU or OpenCL
let read_test = RayBNN_DataLoader::Dataset::CSV::file_to_arrayfire::<f64>(
"./test_data/read_test.dat"
);
let hashdata = RayBNN_DataLoader::Dataset::CSV::file_to_hash_cpu::<f64>(
"./test_data/dataloader.csv",
7,
5
);
let arr_dims = arrayfire::Dim4::new(&[5, 7, 1, 1]);
let (hashdata,metadata) = RayBNN_DataLoader::Dataset::CSV::file_to_hash_arrayfire::<f64>(
"./test_data/dataloader.csv",
arr_dims,
);
let mut metadata: HashMap<String,u64> = HashMap::new();
metadata.insert("dim0", 11);
metadata.insert("dim1", 3);
RayBNN_DataLoader::Dataset::CSV::write_vec_cpu_to_csv::<f32>(
"./randvec2.csv",
&randvec,
&metadata
);
RayBNN_DataLoader::Dataset::CSV::write_arrayfire_to_csv::<f64>(
"./randvec.csv",
&arr
);
let mut modeldata_string: HashMap<String, String> = HashMap::new();
let mut modeldata_float: HashMap<String, f64> = HashMap::new();
let mut modeldata_int: HashMap<String, u64> = HashMap::new();
RayBNN_DataLoader::Model::YAML::read(
"./test_data/test.yaml",
&mut modeldata_string,
&mut modeldata_float,
&mut modeldata_int,
);
RayBNN_DataLoader::Model::YAML::write(
"./sample.yaml",
&modeldata_string,
&modeldata_float,
&modeldata_int,
);