File size: 2,967 Bytes
f718006
c37ca4f
1b8ae84
 
fb9116f
 
 
 
 
 
 
1b8ae84
fb9116f
1b8ae84
b7d4a3d
1b8ae84
fb9116f
 
 
 
 
b94b7ba
fb9116f
 
 
 
 
 
 
 
 
 
 
 
1b8ae84
 
fb9116f
1b8ae84
b7d4a3d
1b8ae84
fb9116f
 
 
 
 
f709e5d
fb9116f
 
 
 
 
 
 
 
 
 
 
 
1b8ae84
d55a5a5
ce1c45c
 
fb9116f
d55a5a5
fb9116f
7715886
d55a5a5
fb9116f
d55a5a5
 
fb9116f
d55a5a5
 
 
 
 
 
ce1c45c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d55a5a5
c37ca4f
dc382c5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# -*- coding: utf-8 -*-
import streamlit as st
import subprocess

def run_command(command):
    try:
        result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, text=True)
        return result.stdout, result.stderr
    except Exception as e:
        return None, str(e)

def prepare_data():
    """
    st.text("Préparation des données en cours...")
    subprocess.run_command(["python3", "../data/shakespeare_char/prepare.py"])
    st.text("Préparation des données terminée.")
    """
    st.text("Préparation des données en cours...")
    st.title("Sortie de la commande Python")

    # Commande Python à exécuter
    command = "python3 data/shakespeare_char/prepare.py"

    # Sorties de la commmande
    stdout, stderr = run_command(command)

    # Affichage de la sortie
    st.subheader("Sortie standard (stdout) :")
    st.code(stdout)

    st.subheader("Sortie d'erreur (stderr) :")
    st.code(stderr)

    st.text("Préparation des données terminée.")

def train_model():
    """
    st.text("Entraînement du modèle en cours...")
    subprocess.run_command(["python3", "../train.py", "../config/train_shakespeare_char.py", "--device=cpu", "--compile=False", "--eval_iters=20", "--log_interval=1", "--block_size=64", "--batch_size=12", "--n_layer=4", "--n_head=4", "--n_embd=128", "--max_iters=2000", "--lr_decay_iters=2000", "--dropout=0.0"])
    st.text("Entraînement du modèle terminé.")
    """
    st.text("Entraînement du modèle en cours...")
    st.title("Sortie de la commande Python")

    # Commande Python à exécuter
    command = "python3 train.py config/train_shakespeare_char.py --device=cpu --compile=False --eval_iters=20 --log_interval=1 --block_size=64 --batch_size=12 --n_layer=4 --n_head=4 --n_embd=128 --max_iters=2000 --lr_decay_iters=2000 --dropout=0.0"

    # Sorties de la commande
    stdout, stderr = run_command(command)

    # Affichez la sortie
    st.subheader("Sortie standard (stdout) :")
    st.code(stdout)

    st.subheader("Sortie d'erreur (stderr) :")
    st.code(stderr)

    st.text("Entraînement du modèle terminé.")


def generate_samples():
    st.text("Génération d'échantillons en cours...")
    st.title("Sortie de la commande Python")

    # Commande Python à exécuter
    command = "python3 sample.py --out_dir=out-shakespeare-char"

    # Sorties de la commande
    stdout, stderr = run_command(command)

    # Affichez la sortie
    st.subheader("Sortie standard (stdout) :")
    st.code(stdout)

    st.subheader("Sortie d'erreur (stderr) :")
    st.code(stderr)

    st.text("Génération d'échantillons terminée.")


def main():
    st.title("Application de Commandes")
    
    if st.button("Préparer les données"):
        prepare_data()
    
    if st.button("Entraîner le modèle"):
        train_model()
    
    if st.button("Générer des échantillons"):
        generate_samples()


if __name__ == "__main__":
    main()