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.
- Installer TensorFlow sur Windows Easy pour les débutants Python
- [Explication pour les débutants] Syntaxe et concept de base de TensorFlow
- [Explication pour les débutants] Tutoriel TensorFlow MNIST (pour les débutants)
- [Introduction à TensorBoard] Visualisez le traitement TensorFlow pour approfondir la compréhension
- [Introduction à TensorBoard: image] TensorFlow Visualisez le traitement d'image pour approfondir la compréhension
- [Introduction à TensorBoard: Projecteur] Rendre le traitement TensorFlow cool
- Tutoriel TensorFlow MNIST (pour les débutants) visualisé avec TensorBoard
- [Explication pour les débutants] Tutoriel TensorFlow Deep MNIST
- Installer matplotlib dans Jupyter Notebook et afficher le graphique
- Les traits du visage de Yuki Kashiwagi pour comprendre TensorFlow [Partie 1]
Il renvoie le nombre d'éléments dans la dimension Tensor. J'ai vu la taille du fichier image.
shape(
input,
name=None,
out_type=tf.int32
)
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]
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]
Cela rendra les nombres dans l'ordre. Il est utile lors de la vérification du fonctionnement.
range(limit, delta=1, dtype=None, name='range')
range(start, limit, delta=1, dtype=None, name='range'))
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]
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]]
Convertissez le format du tenseur.
reshape(
tensor,
shape,
name=None
)
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]]
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]]]
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]]]
Convertissez l'ordre des tenseurs. Il est facile à comprendre dans [TensorFlow] View API document -Math edition-.
transpose(
a,
perm=None,
name='transpose'
)
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]]
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]]]]
Renvoie des nombres aléatoires limités à deux fois l'écart type selon la distribution normale.
truncated_normal(
shape,
mean=0.0,
stddev=1.0,
dtype=tf.float32,
seed=None,
name=None
)
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()
Ceci est une référence (random_normal, distribution normale normale)
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.
run(
main=None,
argv=None
)
Sortie vers le graphique TensorBoard.
scalar(
name,
tensor,
collections=None
)
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)
Recommended Posts