[PYTHON] TensorFlow API-Memo

TensorFlow API

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.

Referenzlink

shape

Erläuterung

Es gibt die Anzahl der Elemente in der Tensor-Dimension zurück. Ich habe die Größe der Bilddatei gesehen.

Grundlegende Syntax

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

Beispiel 1

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]

Beispiel 2

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]

range

Erläuterung

Die Zahlen werden in der richtigen Reihenfolge angezeigt. Dies ist praktisch, wenn Sie den Betrieb überprüfen.

Grundlegende Syntax

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

Beispiel 1

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]

Beispiel 2

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]]

reshape

Erläuterung

Konvertieren Sie das Format des Tensors.

reshape(
    tensor,
    shape,
    name=None
)

Beispiel 1

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]]

Beispiel 2

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]]]

Beispiel 3

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]]]

transpose

Erläuterung

Konvertieren Sie die Reihenfolge der Tensoren. Es ist leicht zu verstehen in [TensorFlow] View API document -Math edition-.

Grundlegende Syntax

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

Beispiel 1

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]]

Beispiel 2

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]]]]

truncated_normal

Erläuterung

Gibt Zufallszahlen zurück, die gemäß der Normalverteilung auf das Doppelte der Standardabweichung begrenzt sind.

Grundlegende Syntax

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

Beispiel

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()

01.truncated_normal01.JPG

Dies ist eine Referenz (random_normal, normale Normalverteilung) 01.truncated_normal02.JPG

tf.app.run

Erläuterung

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.

Grundlegende Syntax

run(
    main=None,
    argv=None
)

tf.summary.scalar

Erläuterung

Ausgabe in das TensorBoard-Diagramm.

Grundlegende Syntax

scalar(
    name,
    tensor,
    collections=None
)

Beispiel

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)

tf.summary.scalar_example.png

Recommended Posts

TensorFlow API-Memo
TensorFlow API-Memo (Python)
Tensorflow-API: tf.truncated_normal
Tensorflow API: FLAGGEN
Tensorflow-API: tf.reverse
[TF] Informationen zur Tensorflow-API
Logoerkennung mit der TensorFlow-Objekterkennungs-API
Datenerfassungsnotiz mit der Backlog-API
gzip memo
Himbeer-Pi-Memo
Pandas Memo
HackerRank-Memo
Python-Memo
Python-Memo
Graphen-Memo
pyenv memo
Matplotlib-Memo
pytest memo
sed memo
Python-Memo
Installieren Sie Memo
BeautifulSoup4 Memo
Kater Memo
Generator Memo.
psycopg2 memo
Python-Memo
SSH-Memo
Tensorflow Glossar
tensorflow mnist_deep.py
Notiz: rtl8812
Pandas Memo
TensorFlow Tutorial Tutorial
Shell Memo
Python-Memo
Pycharm-Memo
Python --bitfinex public API memo --ticker, handelt mit Akquisition
Finden Sie eine Polynomnäherung mit der Low-Level-API von TensorFlow 2.x.