- app/app.py +29 -6
- requirements.txt +3 -1
app/app.py
CHANGED
@@ -1,13 +1,36 @@
|
|
1 |
import streamlit as st
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
def main():
|
4 |
-
st.title("Application
|
|
|
|
|
|
|
5 |
|
6 |
-
|
7 |
-
|
8 |
|
9 |
-
|
10 |
-
|
11 |
|
12 |
if __name__ == "__main__":
|
13 |
-
main()
|
|
|
|
|
|
|
|
|
|
1 |
import streamlit as st
|
2 |
+
import subprocess
|
3 |
+
|
4 |
+
def prepare_data():
|
5 |
+
st.text("Préparation des données en cours...")
|
6 |
+
subprocess.run(["python", "prepare.py"])
|
7 |
+
st.text("Préparation des données terminée.")
|
8 |
+
|
9 |
+
def train_model():
|
10 |
+
st.text("Entraînement du modèle en cours...")
|
11 |
+
subprocess.run(["python", "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"])
|
12 |
+
st.text("Entraînement du modèle terminé.")
|
13 |
+
|
14 |
+
def generate_samples():
|
15 |
+
st.text("Génération d'échantillons en cours...")
|
16 |
+
subprocess.run(["python", "sample.py", "--out_dir=out-shakespeare-char", "--device=cpu"])
|
17 |
+
st.text("Génération d'échantillons terminée.")
|
18 |
|
19 |
def main():
|
20 |
+
st.title("Application de Commandes")
|
21 |
+
|
22 |
+
if st.button("Préparer les données"):
|
23 |
+
prepare_data()
|
24 |
|
25 |
+
if st.button("Entraîner le modèle"):
|
26 |
+
train_model()
|
27 |
|
28 |
+
if st.button("Générer des échantillons"):
|
29 |
+
generate_samples()
|
30 |
|
31 |
if __name__ == "__main__":
|
32 |
+
main()
|
33 |
+
|
34 |
+
|
35 |
+
|
36 |
+
|
requirements.txt
CHANGED
@@ -4,4 +4,6 @@ transformers
|
|
4 |
datasets
|
5 |
tiktoken
|
6 |
wandb
|
7 |
-
tqdm
|
|
|
|
|
|
4 |
datasets
|
5 |
tiktoken
|
6 |
wandb
|
7 |
+
tqdm
|
8 |
+
streamlit
|
9 |
+
subprocess
|