Notieren Sie sich, was Sie über die TensorFlow-API recherchiert haben. Ich werde es jedes Mal hinzufügen, wenn ich es überprüfe. Bestätigt mit Version 1.21.
- TensorFlow unter Windows Easy für Python-Anfänger installieren
- [Erklärung für Anfänger] Grundlegende Syntax und Konzept von TensorFlow
- [Erklärung für Anfänger] TensorFlow-Tutorial MNIST (für Anfänger)
- [Einführung in TensorBoard] Visualisieren Sie die TensorFlow-Verarbeitung, um das Verständnis zu vertiefen
- [Einführung in TensorBoard: image] TensorFlow Visualisieren Sie die Bildverarbeitung, um das Verständnis zu vertiefen
- [Einführung in TensorBoard: Projector] Lassen Sie die TensorFlow-Verarbeitung cool aussehen
- TensorFlow-Tutorial MNIST (für Anfänger) mit TensorBoard visualisiert
- [Erklärung für Anfänger] TensorFlow-Tutorial Deep MNIST
- Matplotlib mit Jupyter Notebook installieren und Grafik anzeigen
- Yuki Kashiwagis Gesichtszüge zum Verständnis von TensorFlow [Teil 1]
Es gibt die Anzahl der Elemente in der Tensor-Dimension zurück. Ich habe die Größe der Bilddatei gesehen.
shape(
input,
name=None,
out_type=tf.int32
)
Gibt die Form eines eindimensionalen Arrays mit drei Elementen zurück
import tensorflow as tf
sess = tf.InteractiveSession()
print(sess.run(tf.shape((tf.range(3)))))
Ergebnis
[3]
0 bis 11 umformen und in Tensor speichern. Gibt diese Form zurück.
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)))
[[[0 1 2] [3 4 5]]]
[1 2 3]
Die Zahlen werden in der richtigen Reihenfolge angezeigt. Dies ist praktisch, wenn Sie den Betrieb überprüfen.
range(limit, delta=1, dtype=None, name='range')
range(start, limit, delta=1, dtype=None, name='range'))
Speichern Sie 0 bis 11 in Tensor
import tensorflow as tf
sess = tf.InteractiveSession()
print(sess.run(tf.range(12)))
Ergebnis
[ 0 1 2 3 4 5 6 7 8 9 10 11]
0 bis 11 umformen und in Tensor speichern. Diese Methode ist nützlich, um den Vorgang zu überprüfen.
import tensorflow as tf
sess = tf.InteractiveSession()
print(sess.run(tf.reshape(tf.range(12), [3,4])))
Ergebnis
[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]]
Konvertieren Sie das Format des Tensors.
reshape(
tensor,
shape,
name=None
)
Konvertieren Sie ein 1-dimensionales Array von 0 nach 11 in ein 2x6 2-dimensionales Array
import tensorflow as tf
sess = tf.InteractiveSession()
print(sess.run(tf.reshape(tf.range(12), [2,6])))
Ergebnis
[[ 0 1 2 3 4 5] [ 6 7 8 9 10 11]]
Konvertieren Sie ein eindimensionales Array von 0 nach 11 in ein dreidimensionales 2x3x2-Array
import tensorflow as tf
sess = tf.InteractiveSession()
print(sess.run(tf.reshape(tf.range(12), [2,3,2])))
Ergebnis
[[[ 0 1] [ 2 3] [ 4 5]]
[[ 6 7] [ 8 9] [10 11]]]
Konvertieren Sie ein eindimensionales Array von 0 nach 11 in ein dreidimensionales 2x3x2-Array (mit -1). -1 bedeutet einen Platzhalter und kann nur einmal verwendet werden (verwenden Sie ihn nicht wie [-1, -1, 2]). In diesem Beispiel werden 12 Variablen auf $ 12 ÷ 2 ÷ 2 = 3 $ gesetzt und 3 berechnet.
import tensorflow as tf
sess = tf.InteractiveSession()
print(sess.run(tf.reshape(tf.range(12), [2,-1,2])))
Ergebnis
[[[ 0 1] [ 2 3] [ 4 5]]
[[ 6 7] [ 8 9] [10 11]]]
Konvertieren Sie die Reihenfolge der Tensoren. Es ist leicht zu verstehen in [TensorFlow] View API document -Math edition-.
transpose(
a,
perm=None,
name='transpose'
)
Sequenzkonvertierung eines 2x6 2D-Arrays von 0 nach 11. Da es zweidimensional ist, handelt es sich um eine einfache Matrixtransformation.
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)))
Ergebnis
$ x $ Tensor
[[ 0 1] [ 2 3] [ 4 5] [ 6 7] [ 8 9] [10 11]]
Das Ergebnis der Transponierung von $ x $
[[ 0 2 4 6 8 10] [ 1 3 5 7 9 11]]
Reihenfolge eines 4-dimensionalen Arrays von 0 bis 11. Die Reihenfolge wird durch perm angegeben. In diesem Beispiel wird der ursprüngliche Tensor in der Reihenfolge der 3. Dimension, der 0. Dimension, der 1. Dimension und der 2. Dimension sortiert.
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])))
Ergebnis
$ y $ Tensor
[[[[ 0 1 2]] [[ 3 4 5]]] [[[ 6 7 8]] [[ 9 10 11]]]]
Das Ergebnis der Transponierung von $ y $
[[[[ 0] [ 3]] [[ 6] [ 9]]] [[[ 1] [ 4]] [[ 7] [10]]] [[[ 2] [ 5]] [[ 8] [11]]]]
Gibt Zufallszahlen zurück, die gemäß der Normalverteilung auf das Doppelte der Standardabweichung begrenzt sind.
truncated_normal(
shape,
mean=0.0,
stddev=1.0,
dtype=tf.float32,
seed=None,
name=None
)
Erstellen Sie 300 Millionen Zufallszahlen mit einer Standardabweichung von 0,1 und zeigen Sie sie als Histogramm an.
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()
Dies ist eine Referenz (random_normal, normale Normalverteilung)
Funktions-Wrapper. Wenn das Argument main None ist, wird __main __. Main ausgeführt. Es scheint praktisch zu sein, wenn Sie mit einem Befehl anrufen. Obwohl es auf Englisch ist, wird es ausführlich in Stackoverflow beschrieben.
run(
main=None,
argv=None
)
Ausgabe in das TensorBoard-Diagramm.
scalar(
name,
tensor,
collections=None
)
Geben Sie den Wert von $ x + y $ an TensorBoard aus. Vergleiche mit oder ohne tf.summary.scalar
import tensorflow as tf
sess = tf.InteractiveSession()
#Ausgabeverzeichnis für TensorBoard-Informationen
log_dir = '/tmp/tensorflow/mnist/logs/try01'
#Löschen Sie das angegebene Verzeichnis, falls vorhanden, und erstellen Sie es neu
if tf.gfile.Exists(log_dir):
tf.gfile.DeleteRecursively(log_dir)
tf.gfile.MakeDirs(log_dir)
#1 mit einer Konstanten+ 2
x = tf.constant(1, name='x')
y = tf.constant(2, name='y')
z_out = x + y
z_no_out = x + y
#Geben Sie mit diesem Befehl z im Diagramm aus
tf.summary.scalar('z', z_out)
#Zeichnen Sie mit Summary Writer ein Diagramm
summary_writer = tf.summary.FileWriter(log_dir , sess.graph)
#Lauf
print(sess.run(z_out))
print(sess.run(z_no_out))
#SummaryWriter geschlossen
summary_writer.close()
Ergebnis (links ist, wenn tf.summary.scalar verwendet wird, rechts nicht)
Recommended Posts