Doc générale

Pour apprendre le langage de manière générale :

Tableaux / Vecteurs

Vecteur de vecteurs :

    let mut m3 : Vec<Vec<f64>> = Vec::new();

    let mut un_vecteur:Vec<f64> = Vec::new();
    un_vecteur.push(10.0);
    un_vecteur.push(11.0);
    un_vecteur.push(12.0);

    let mut un_vecteur2:Vec<f64> = Vec::new();
    un_vecteur2.push(0.0);
    un_vecteur2.push(1.0);
    un_vecteur2.push(2.0);
    un_vecteur2.push(3.0);

    m3.push(un_vecteur);
    m3.push(un_vecteur2);

    println!(" tableau m3 : {:?}", m3);

JSON

Bibliothèque serge_json : https://github.com/serde-rs/json

Très simple à utiliser.

Déclaration dans cargo.toml

[dependencies]
    serde = { version = "1.0", features = ["derive"] }  # https://github.com/serde-rs/json
    serde_json = "1.0"

Exemple d’utilisation :

    /// ////////////////////////////////////////////
    /// Renvoie la structure sous format Str / JSON
    pub fn get_json(&self)->String {
        let serialized = serde_json::to_string(self).unwrap();
        return serialized;
    }

    /// /////////////////////////////////////////////
    /// Initialise un réseau via un format Json
    pub fn set_json(json_data:&String)->Network {
        let un_reseau:Network = serde_json::from_str(json_data).unwrap();
        return un_reseau;
    }

Pour les structures qui vont être sérialisées ou désérialisée il faut indiquer les directives suivantes :

#[derive(Serialize, Deserialize)]

Comme par exemple :

#[derive(Debug)]
#[derive(Serialize, Deserialize)]
pub struct Network {

    layers : Vec::<Layer>

}

Ne pas oublier de mettre cette directive dans les autres structures qui dépendent de la première

Autre : Réseau de neurones

Base d’images de chiffres (entrainement et test) / page yann lecun : http://yann.lecun.org/exdb/mnist/index.html

Librairie rust pour lires les bases de données : https://github.com/busyboredom/rust-mnist

Exemple code rust pour lire une base de données : https://ngoldbaum.github.io/posts/loading-mnist-data-in-rust/

Bibliothèque ndarray : https://towardsdatascience.com/the-ultimate-ndarray-handbook-mastering-the-art-of-scientific-computing-with-rust-ef5ab767212a

Rust : prise de notes (prog)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *