[PYTHON] Mémo de l'API TensorFlow

API TensorFlow

Notez ce que vous avez recherché sur l'API TensorFlow. Je l'ajouterai à chaque fois que je le vérifierai. Confirmé avec la version 1.21.

Lien de référence

shape

La description

Il renvoie le nombre d'éléments dans la dimension Tensor. J'ai vu la taille du fichier image.

Syntaxe de base

shape(
    input,
    name=None,
    out_type=tf.int32
)

Exemple 1

Renvoie la forme d'un tableau à trois éléments unidimensionnel

import tensorflow as tf
sess = tf.InteractiveSession()
print(sess.run(tf.shape((tf.range(3)))))

résultat

[3]

Exemple 2

Remodeler 0 à 11 et stocker dans Tensor. Renvoie cette forme.

import tensorflow as tf
sess = tf.InteractiveSession()
three_dim = tf.reshape(tf.range(6),[1,2,3])
print(sess.run(three_dim))
print(sess.run(tf.shape(three_dim)))

Résultat (le haut est le contenu Tensor, le bas est le résultat de la forme)

[[[0 1 2] [3 4 5]]]

[1 2 3]

range

La description

Cela rendra les nombres dans l'ordre. Il est utile lors de la vérification du fonctionnement.

Syntaxe de base

range(limit, delta=1, dtype=None, name='range')
range(start, limit, delta=1, dtype=None, name='range'))

Exemple 1

Stockez 0 à 11 dans Tensor

import tensorflow as tf
sess = tf.InteractiveSession()
print(sess.run(tf.range(12)))

résultat

[ 0 1 2 3 4 5 6 7 8 9 10 11]

Exemple 2

Remodeler 0 à 11 et stocker dans Tensor. Cette méthode est utile pour vérifier l'opération.

import tensorflow as tf
sess = tf.InteractiveSession()
print(sess.run(tf.reshape(tf.range(12), [3,4])))

résultat

[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]]

reshape

La description

Convertissez le format du tenseur.

Syntaxe de base

reshape(
    tensor,
    shape,
    name=None
)

Exemple 1

Convertir un tableau à 1 dimension de 0 à 11 en un tableau à 2 dimensions 2x6

import tensorflow as tf
sess = tf.InteractiveSession()
print(sess.run(tf.reshape(tf.range(12), [2,6])))

résultat

[[ 0 1 2 3 4 5] [ 6 7 8 9 10 11]]

Exemple 2

Convertir un tableau à 1 dimension de 0 à 11 en un tableau à 3 dimensions 2x3x2

import tensorflow as tf
sess = tf.InteractiveSession()
print(sess.run(tf.reshape(tf.range(12), [2,3,2])))

résultat

[[[ 0 1] [ 2 3] [ 4 5]]

[[ 6 7] [ 8 9] [10 11]]]

Exemple 3

Convertir un tableau à 1 dimension de 0 à 11 en un tableau à 3 dimensions 2x3x2 (en utilisant -1) -1 signifie un joker et ne peut être utilisé qu'une seule fois (ne l'utilisez pas comme [-1, -1, 2]). Dans cet exemple, 12 variables sont définies sur 12 $ ÷ 2 ÷ 2 = 3 $ et 3 sont calculées.

import tensorflow as tf
sess = tf.InteractiveSession()
print(sess.run(tf.reshape(tf.range(12), [2,-1,2])))

résultat

[[[ 0 1] [ 2 3] [ 4 5]]

[[ 6 7] [ 8 9] [10 11]]]

transpose

La description

Convertissez l'ordre des tenseurs. Il est facile à comprendre dans [TensorFlow] View API document -Math edition-.

Syntaxe de base

transpose(
    a,
    perm=None,
    name='transpose'
)

Exemple 1

Conversion de séquence d'un tableau 2D 2x6 de 0 à 11. Puisqu'elle est bidimensionnelle, il s'agit d'une simple transformation matricielle.

import tensorflow as tf
sess = tf.InteractiveSession()

x = (tf.reshape(tf.range(12), [-1,2]))

print(sess.run(x))
print(sess.run(tf.transpose(x)))

résultat

$ x $ Tenseur

[[ 0 1] [ 2 3] [ 4 5] [ 6 7] [ 8 9] [10 11]]

Le résultat de la transposition de $ x $

[[ 0 2 4 6 8 10] [ 1 3 5 7 9 11]]

Exemple 2

Commande d'un tableau à 4 dimensions de 0 à 11. L'ordre est spécifié par perm. Dans cet exemple, le Tensor d'origine est trié dans l'ordre de 3ème dimension, 0ème dimension, 1ère dimension et 2ème dimension.

import tensorflow as tf
sess = tf.InteractiveSession()
y = (tf.reshape(tf.range(12), [2,2,1,3]))

print(sess.run(y))
print(sess.run(tf.transpose(y, perm=[3,0,1,2])))

résultat

$ y $ Tenseur

[[[[ 0 1 2]] [[ 3 4 5]]] [[[ 6 7 8]] [[ 9 10 11]]]]

Le résultat de la transposition de $ y $

[[[[ 0] [ 3]] [[ 6] [ 9]]] [[[ 1] [ 4]] [[ 7] [10]]] [[[ 2] [ 5]] [[ 8] [11]]]]

truncated_normal

La description

Renvoie des nombres aléatoires limités à deux fois l'écart type selon la distribution normale.

Syntaxe de base

truncated_normal(
    shape,
    mean=0.0,
    stddev=1.0,
    dtype=tf.float32,
    seed=None,
    name=None
)

Exemple

Créez 300 millions de nombres aléatoires avec un écart type de 0,1 et affichez-les sous forme d'histogramme.

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
sess = tf.InteractiveSession()
x = sess.run(tf.truncated_normal([30000], stddev=0.1))
fig = plt.figure()
ax = fig.add_subplot(1,1,1)

ax.hist(x, bins=100)
ax.set_title('Histogram tf.truncated_normal')
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.show()

01.truncated_normal01.JPG

Ceci est une référence (random_normal, distribution normale normale) 01.truncated_normal02.JPG

tf.app.run

La description

Emballage de fonction. Si l'argument main est Aucun, __main __. Main est exécuté. Cela semble pratique lors d'un appel avec une commande. Bien qu'il soit en anglais, il est décrit en détail dans Stackoverflow.

Syntaxe de base

run(
    main=None,
    argv=None
)

tf.summary.scalar

La description

Sortie vers le graphique TensorBoard.

Syntaxe de base

scalar(
    name,
    tensor,
    collections=None
)

Exemple

Sortez la valeur de $ x + y $ dans TensorBoard. Comparer avec ou sans tf.summary.scalar

import tensorflow as tf
sess = tf.InteractiveSession()

#Répertoire de sortie des informations TensorBoard
log_dir = '/tmp/tensorflow/mnist/logs/try01'

#Supprimez le répertoire spécifié s'il existe et recréez-le
if tf.gfile.Exists(log_dir):
    tf.gfile.DeleteRecursively(log_dir)
tf.gfile.MakeDirs(log_dir)

#1 avec une constante+ 2
x = tf.constant(1, name='x')
y = tf.constant(2, name='y')
z_out    = x + y
z_no_out = x + y

#Sortie z sur le graphe avec cette commande
tf.summary.scalar('z', z_out)

#Dessinez un graphique avec Summary Writer
summary_writer = tf.summary.FileWriter(log_dir , sess.graph)

#Courir
print(sess.run(z_out))
print(sess.run(z_no_out))

#RésuméWriter fermé
summary_writer.close()

Résultat (à gauche lorsque tf.summary.scalar est utilisé, à droite non)

tf.summary.scalar_example.png

Recommended Posts

Mémo de l'API TensorFlow
Mémo de l'API TensorFlow (Python)
API Tensorflow: tf.truncated_normal
API Tensorflow: FLAGS
API Tensorflow: tf.reverse
[TF] À propos de l'API Tensorflow
Détection de logo à l'aide de l'API de détection d'objets TensorFlow
Mémo d'acquisition de données à l'aide de l'API Backlog
mémo gzip
Mémo Raspberry-pi
Mémo Pandas
Mémo HackerRank
Mémo Python
mémo python
mémo graphène
mémo pyenv
Mémo Matplotlib
mémo pytest
mémo sed
Mémo Python
Installer Memo
Mémo BeautifulSoup4
mémo Tomcat
Mémo du générateur.
mémo psycopg2
Mémo Python
Mémo SSH
Glossaire Tensorflow
tensorflow mnist_deep.py
Mémo: rtl8812
mémo pandas
Tutoriel du didacticiel TensorFlow
Mémo Shell
Mémo Python
Mémo Pycharm
Python --Bitfinex Public API memo --ticker, acquisition de métiers
Trouvez une approximation polynomiale à l'aide de l'API de bas niveau de TensorFlow 2.x