Vous êtes sur la page 1sur 3

ING2 

: AII+SE
Matière IA

TP 01: Utilisation de tensorflow avec keras


- Orientations liées à la programmation-

List : Une liste est une suite d’objets séparé par une virgule et encadrée par des crochets.
C’est l’équivalent d’un vecteur (mais les objets ne sont pas forcément du même type)
Exemples :
a = [1,2,3] 
Liste2=[2, ‘alpha’, [1, 2]]
Les indices commencent par 0
Exemple :
Liste2[0]=2
Matrice : Liste de liste
Exemple :
A = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(A)
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(A[1])
[4, 5, 6]
print(A[1][2])
6
Quelques fonctions utilisées avec les listes

1
Quelques méthodes utilisées avec les listes
Une liste vide s’écrit a=[]
Soit a une liste, ci-dessous les méthodes essentielles qu’on peut utiliser pour manipuler les listes

Il est aussi possible d’ajouter un élément (ou une liste) à la fin d’une liste :
A=[1, 4]
A=A+[1, 7, 9]
Produit A=[1, 4, 1, 7, 9]
Itérateur range
La fonction range crée un itérateur. Au lieu de créer et garder en mémoire une liste d’entiers, cette fonction
génère les entiers au fur et à mesure des besoins. On peut écrire :
range(n) : renvoi un itérateur parcourant 0, 1, 2, . . . , n − 1 ;
range(n,m) : renvoi un itérateur parcourant n, n + 1, n + 2, . . . , m − 1 ;
range(n,m,p) : renvoi un itérateur avec un pas p parcourant n, n + p, n + 2p, . . . , et le dernier élément ne
dépasse pas m.
Répétition : Boucle for
Lorsqu’on souhaite répéter un bloc d’instructions un nombre déterminé de fois, on peut utiliser la boucle for
si on connait le nombre d’itération (on utilise un compteur)
for target in sequence:
instruction_1
instruction_2

où target est le compteur actif et sequence est un itérateur (souvent généré par la fonction range ou une liste
ou une chaîne de caractères). Tant que target appartient à sequence, on exécute les instructions citées sous
cette ligne (en feasant une tabulation par rapport au niveau de for.
Lorsqu’on écrit une instruction alignée avec le mot for cela signifie qu’elle est de même niveau que for (ie
elle ne fait pas partie du bloc d’instructions à répéter).

2
Exemples
1. for n in range(3):
print(n)
produit 0
1
2

2. n_Max = 4
list1= [] # une liste vide
for n in range(1,n_Max):
list1.append(1.0/n) # ajoute un élément à la list1
print(list1)

produit : [1, 0.5, 0.3333, 0.25]


Important : numpy array et Karas
Les poids de connexions de les biais d’un réseau décrit par keras sont de type array de la class numpy (il
n’accepte pas la forme générale d’une liste). Pour cela, il faut :
Importer numpy : import numpy as np
Définir les poids comme de type array :
Exemple :
coeff = np.array([[1.,-0.5]]) # la liste [[1, -05]] est convertit en array et on peut donc utiliser les fonctions
et les méthodes de cette classe. On peut aussi l’utiliser directement pour fixer les valeurs des poids :
coeff = np.array([[1.,-0.5]])
biais = np.array([-1,1])
poids = [coeff,biais]
modele.layers[0].set_weights(poids)

Vous aimerez peut-être aussi