[PYTHON] Mémo Tensorflow [mis à jour de temps à autre]

Mémo Tensorflow

C'est un mémo que j'ai laissé derrière

Structure de Tensorflow

Concept de graphes, nœuds arithmétiques et tenseurs

Qu'est-ce qu'un graphique?

Une figure représentant une couche composée de plusieurs neurones φ(X * W + b)

Se compose de nœuds et de côtés reliant les nœuds Il existe des nœuds arithmétiques, des nœuds variables, des nœuds de support de presse, etc.

Qu'est-ce que Tensol

Montant parcourant le graphique

Tensol est un tableau ou une liste à n dimensions

Notation principale

Variable tf.Variable Produit Matrix tf.matmul Application de φ tf.nn.relu

Définition du graphe

graph.py


#Définition des variables pour mettre W
weights = tf.Variable()
#Définition des variables à mettre b
bias = tf.Variable()
#La fonction de la couche φ(X*W+b)Défini dans
#Ici φ utilise relu
#images est l'entrée que ce calque reçoit
#hidden1 est la sortie de cette couche

#1ère couche
hidden1 = tf.nn.relu(tf.matmul(images, weights) + bias)

#2ème couche
hidden2 = tf.nn.relu(tf.matmul(hidden1,weights) + bias)
#images, weights, bias,hidden1 est un tenseur

Définition variable

Initialisation variable

init.py


w = tf.Variable(tf.random_norml([784, 200], stddev = 0.35), name = "weights")
b  =tf.Variable(tf.zeros([200], name = "biases")

#Une opération qui initialise cette variable
#Mise en garde! Il n'a pas encore été exécuté, juste un nœud a été ajouté.
init_op = tf.initialize_all_variables()


#Appelez cette initialisation après le lancement du modèle
#Le modèle défini fonctionne pour la première fois dans Session.
#Utilisez courir pour appeler
with tf.Session() as sess:
    # Run the init operation.
    sess.run(init_op)




** Sauvegarde et restauration des variables

save.py


#Créer une variable
v1 = tf.variable(..., name = "v1")
v2 = tf.variable(..., name = "v2")

#Initialiser les variables init_noeud op
init_op = tf.initalize_all_variables()
#Enregistrer toutes les variables,Ajouter un nœud de sauvegarde à restaurer
saver = tf.train.Saver()

#Après le lancement du modèle, l'initialisation des variables, quelques travaux
#Enregistrer les variables sur le disque
with tf.Session() as sess:
  sess.run(init_op)
  #Faites quelque chose avec le modèle
  ##########
  
  #Enregistrer les variables sur le disque
  save_path = saver.save(sess, "/tmp/model.ckpt")
  print("Modef saved in file: %s" % save_path)

  #Restauration variable
  saver.retore(sess, "/tmp/model.ckpt")
  print ("Modell restored")

Optimisation des paramètres (formation)

Optimisation des paramètres (poids et biais)

  1. Construisez un graphique et calculez la sortie avec les données d'entrée dans le graphique
  2. Comparez la sortie avec la bonne réponse. Utiliser la fonction de perte pour la comparaison
  3. Utilisez Gradient Descent pour modifier la valeur de la fonction de perte à une valeur plus petite
  4. Calculez la sortie avec les nouveaux paramètres. Répétez jusqu'à ce que la fonction de perte soit petite

Fonctions principales

GradientDescentOptimizer() Opération d'optimisation pour l'optimisation des paramètres. Optimiser la fonction de perte avec cet optimiseur

opt.py



###Dans le cas de la prédiction numérique###
 loss = tf.reduce_mean(tf.square(y - y_data))
#Taux d'apprentissage 0.Descente de gradient à 5
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)

###En cas de classement###
y_ = tf.placeholder("float", [None , 10])
cross_enttopy = -tf.reduce_sum(y_ * tf.log(y))
optimizer = tf.train.GradientDescentOptimizer(0.01)
train = optimizer.minimize(cross_entropy)



Recommended Posts

Mémo Tensorflow [mis à jour de temps à autre]
mémo d'apprentissage progate Python (mis à jour de temps en temps)
Résumé de vtkXMLUnstructuredGridReader (mis à jour de temps en temps)
Résumé de vtkOpenFOAMReader (mis à jour de temps en temps)
Livre de mots de l'ingénieur (mis à jour de temps en temps)
Manuel Python privé (mis à jour de temps en temps)
vtkClipPolyData / DataSet Summary (mis à jour de temps en temps)
[Mis à jour de temps à autre] Notes relatives au système d'exploitation après commercialisation
Résumé de vtkThreshold (mis à jour de temps en temps)
Récapitulatif des options gcc (mises à jour de temps en temps)
[Mis à jour de temps en temps] Algorithme et bibliothèque LetCode
Notes sur l'apprentissage automatique (mises à jour de temps en temps)
Aide-mémoire pour le post-traitement d'OpenFOAM (mis à jour de temps en temps)
Sites d'aide utiles, etc. (mis à jour de temps à autre)
Anaconda mis à jour de 4.2.0 à 4.3.0 (python3.5 mis à jour vers python3.6)
Paramètres Apache, confirmation du journal, etc. (* Mis à jour de temps en temps)
[Mis à jour de temps en temps] Examen de Let Code NumPy
J'ai lu la référence Chainer (mise à jour de temps en temps)
[Mis à jour de temps en temps] Résumé des modèles de conception en Java
Python (de la première fois à l'exécution)
(Mis à jour de temps en temps) Emplacement de stockage de divers fichiers de réglage de VS Code Note mémo
[Note] Sites Web relatifs à l'IA / à l'apprentissage automatique / à python [mis à jour de temps en temps]
Conversion facile de l'heure UTC en heure locale
Mis à jour vers Python 2.7.9
Mémo de l'API TensorFlow
Apprenez à gonfler des images à partir du code TensorFlow
Comprendre les modèles de conception en comparant les implémentations en JavaScript et Java [mis à jour de temps en temps]
Changements de Python 3.0 à Python 3.5
Mémo de flux pour déplacer LOCUST pour le moment
Transition de WSL1 à WSL2
Django memo n ° 1 à partir de zéro
[Mis à jour de temps en temps] Mémos Python souvent utilisés pour l'analyse des données [Division N, etc.]
Mémorandum des commandes, packages, termes, etc. utilisés sous Linux (mis à jour de temps en temps)
Exécution de MINST dans TensorFlow 2.0 et visualisation dans TensorBoard (version 2019)
Mémo de l'API TensorFlow (Python)
De l'édition à l'exécution
Mise à jour de Hospital_dashboard vers la version 2.0
Liste de mes articles pouvant être utiles aux pros de la compétition (mise à jour de temps en temps)
[Introduction à matplotlib] Lire l'heure de fin à partir des données COVID-19 ♬
DJango Memo: depuis le début (plus de modifications sur l'écran de gestion)
Mémo d'auto-apprentissage "Deep Learning from scratch" (n ° 15) Tutoriel pour débutants TensorFlow
Récapitulatif des dossiers dans lesquels Ruby, Python, PostgreSQL, etc. sont installés sur macOS (mis à jour de temps en temps)
Précautions pour la mise à niveau de TensorFlow (vers la version 1.3)
Publier de Python vers Slack
Mémo de mesure du temps d'exécution Python
Introduction à Private TensorFlow
Flirter de PHP à Python
Portage d'Argparse à Hydra
Transition de Chainer v1 à Chainer v2
Migré de Flask-RESTPlus vers Flask-RESTX
Mettre à jour python-social-auth de 0.1.x à 0.2.x
Migrer de requirements.txt vers pipenv
Passer de python2.7 à python3.6 (centos7)
Connectez-vous à sqlite depuis python
[Python] Hit Keras depuis TensorFlow et TensorFlow depuis c ++ pour accélérer l'exécution.
Remarques sur la connexion Bluetooth d'un smartphone / PC à Raspeye 4
git / python> analyse git log (v0.1, v0.2)> Implémentation pour estimer le temps de travail à partir de git log