From 01a6973fbb6cd4227bb4447586488b022cb8e04d Mon Sep 17 00:00:00 2001 From: Guillaume Raffy Date: Thu, 20 Mar 2025 07:42:32 +0100 Subject: [PATCH] fixed code styling issues work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3345] --- iprbench/resources/tensorflow1/DS_Data.py | 78 ++++++++++------------ iprbench/resources/tensorflow1/DS_Train.py | 22 +++--- 2 files changed, 45 insertions(+), 55 deletions(-) diff --git a/iprbench/resources/tensorflow1/DS_Data.py b/iprbench/resources/tensorflow1/DS_Data.py index 33f8d8f..17fd56b 100644 --- a/iprbench/resources/tensorflow1/DS_Data.py +++ b/iprbench/resources/tensorflow1/DS_Data.py @@ -5,65 +5,57 @@ Created on Wed Sep 25 14:19:41 2024 @author: errobin """ -import numpy as np #pour faire du calcul matriciel -from PIL import Image #pour lire une image -import matplotlib.pyplot as plt #pour faire des tracer +import numpy as np # pour faire du calcul matriciel +from PIL import Image # pour lire une image +# import matplotlib.pyplot as plt # pour faire des tracer -#lecture image ###################################### +# lecture image ###################################### + +image_file = Image.open("GAN.bmp") +image_bmp = 1. * np.array(image_file) # on transforme le fichier en matrice nommée image_bmp +image_file.close() # fermeture du fichier en lecture -image_file = Image.open("GAN.bmp") -image_bmp = 1.*np.array(image_file) # on transforme le fichier en matrice nommée image_bmp -image_file.close() #fermeture du fichier en lecture ##################################################### - - - - # code pour aider à comprendre une image ################################################################################ # recupère les dimension de l'image ############### -dim=image_bmp.shape +dim = image_bmp.shape -nb_ligne=dim[0] -nb_colonne=dim[1] -image_traitee=np.zeros((nb_ligne,nb_colonne)) #déclaration d'un tableau au dimension de l'image +nb_ligne = dim[0] +nb_colonne = dim[1] +image_traitee = np.zeros((nb_ligne, nb_colonne)) # déclaration d'un tableau au dimension de l'image ################################################### # Affecte les valeurs de la matrice image_bmp à image_traitee -for colonne in range(0,nb_colonne): - for ligne in range(0,nb_ligne): - - image_traitee[ligne,colonne]=image_bmp[ligne,colonne]#regarder les tableaux avec variable explorer - -# plt.imshow(image_traitee,'gray') -# plt.show() -################################################################################# +for colonne in range(0, nb_colonne): + for ligne in range(0, nb_ligne): + image_traitee[ligne, colonne] = image_bmp[ligne, colonne] # regarder les tableaux avec variable explorer + +# if False: +# plt.imshow(image_traitee,'gray') +# plt.show() + +################################################################################# # fin code pour comprendre une image - - - # DS partie Data -#complétez le code suivant pour créer votre database tq; x_train = position du pixel et y_target = couleur du pixel +# complétez le code suivant pour créer votre database tq; x_train = position du pixel et y_target = couleur du pixel +# declaration des tableaux +X_train = np.zeros((nb_colonne * nb_ligne, 2)) +Y_target = np.zeros((nb_colonne * nb_ligne)) +compt = 0 +for colonne in range(0, nb_colonne): + for ligne in range(0, nb_ligne): + X_train[compt, 0] = colonne + X_train[compt, 1] = ligne + Y_target[compt] = image_bmp[colonne, ligne] / 255. + compt = compt + 1 -#declaration des tableaux -X_train=np.zeros((nb_colonne*nb_ligne,2)) -Y_target=np.zeros((nb_colonne*nb_ligne)) - -compt=0 -for colonne in range(0,nb_colonne): - for ligne in range(0,nb_ligne): - X_train[compt,0]=colonne - X_train[compt,1]=ligne - - Y_target[compt]=image_bmp[colonne,ligne]/255. - compt=compt+1 - -#sauvagarde de la database -np.savetxt("X_train.txt", X_train, delimiter=';') -np.savetxt("Y_target.txt", Y_target, delimiter=';') +# sauvagarde de la database +np.savetxt("X_train.txt", X_train, delimiter=';') +np.savetxt("Y_target.txt", Y_target, delimiter=';') diff --git a/iprbench/resources/tensorflow1/DS_Train.py b/iprbench/resources/tensorflow1/DS_Train.py index bc57397..0cada23 100644 --- a/iprbench/resources/tensorflow1/DS_Train.py +++ b/iprbench/resources/tensorflow1/DS_Train.py @@ -6,20 +6,20 @@ Created on Wed Sep 25 14:38:32 2024 """ # DS partie Train -#complétez/joué sur les hyperparamètres (vitesse d'apprentissage et nb epoch) et sur l'architecture du modèle pour l'entrainer et pour le sauver (une fois entrainé) +# complétez/joué sur les hyperparamètres (vitesse d'apprentissage et nb epoch) et sur l'architecture du modèle pour l'entrainer et pour le sauver (une fois entrainé) # ASTUCE un loss inférieur à 0.005 permets déjà d'obtenir des résultats intéréssants +import time import tensorflow as tf import numpy as np -from PIL import Image #pour lire une image -X_train = np.genfromtxt('X_train.txt',delimiter=';') -Y_target = np.genfromtxt('Y_target.txt',delimiter=';') +X_train = np.genfromtxt('X_train.txt', delimiter=';') +Y_target = np.genfromtxt('Y_target.txt', delimiter=';') -#Partie ANN definition + entrainement -#***************************************** +# Partie ANN definition + entrainement +# ***************************************** model = tf.keras.models.Sequential() model.add(tf.keras.layers.Dense(2048, activation="relu")) @@ -37,17 +37,15 @@ model.compile( ) - -###### D'après à quoi peuvent servir le code des lignes 38 à 41 -def scheduler(epoch):# dans cette fonction il est possible de faire des test if en fonction de epoch pour retourner différente valeur de la ??? +def scheduler(epoch): # dans cette fonction il est possible de faire des test if en fonction de epoch pour retourner différente valeur de la ??? return 0.0001 + callback_vitesse_apprentissage = tf.keras.callbacks.LearningRateScheduler(scheduler) ################################################################### -import time start_time = time.time() -model.fit(X_train, Y_target, epochs=3,verbose=1,callbacks=[callback_vitesse_apprentissage]) +model.fit(X_train, Y_target, epochs=3, verbose=1, callbacks=[callback_vitesse_apprentissage]) end_time = time.time() temps_cal = end_time - start_time -print(temps_cal) \ No newline at end of file +print(temps_cal)