[PYTHON] Über Variable von Chainer

Chainer Variable bezogen

Dieser Artikel setzt python3.x voraus. Bitte haben Sie auch Verständnis dafür, dass es sich um einen Python-Amateur handelt. Das erste, was ich mit maschinellem Lernen machen wollte, war ein Training an meinem eigenen Datensatz, aber das erste, woran ich festhielt, war diese Variable.

import numpy as np
import chainer as Variable

Der Typ muss variabel sein, wenn Daten an ein maschinelles Lernnetzwerk gesendet werden, das mithilfe eines Chainers definiert wurde. Zu diesem Zeitpunkt muss für die dem Argument angegebenen Daten immer np.array verwendet werden. Dieses np.array ist ein Array, das von Pythons Numpy verwendet wird und sich von der Python-Standardliste ([]) unterscheidet. In der Chainer-Dokumentation können Sie Folgendes für eine Variable angeben [data – Data array of type either numpy.ndarray or cupy.ndarray.] Da es als beschrieben wird, muss es einmal in ein Numpy-Array konvertiert werden, anstatt die Listendaten unverändert zu verwenden. Wenn Sie Gleitkomma verwenden, müssen Sie möglicherweise auch in float32 konvertieren. Ich denke, der Grund für die Verwendung von float32 ist, dass der Chainer float64 nicht unterstützt, sodass ein Fehler auftritt. Dieses Mal habe ich einige Konvertierungsmuster bis hin zu Variablen betrachtet.

Beispiel 1: ** Array **

x_train = [0,0,0,0,0]
x_np_train = np.array(x_train, dtype=np.float32)
x_val_train = Variable(x_np_train, 1)

Auf diese Weise wird das Array unter Angabe von float32 in np.array konvertiert und weiter in eine Variable konvertiert.

Beispiel 2: ** Mehrdimensionales Array ** Sie können das gleiche Verfahren anwenden.

x_train = [[0.1, 0,2],[0.3, 0.4]]
x_np_train = np.array(x_train, dtype=np.float32)
x_val_train = Variable(x_np_train, 1)

Beispiel 3: ** Wenn np.array bereits existiert **

x_train = [[0.1, 0,2],[0.3, 0.4]]
x_np_train = np.array(x_train)
x_np_train.dtype

Dann wird es dtype ('float64'). Wenn Sie sich von Anfang an mit np.array-Daten befassen, gibt es meiner Meinung nach viele Fälle, in denen Sie in float32 umwandeln müssen.

x_np_train.dtype = np.float32
x_val_train = Variable(x_np_train, 1)

Beispiel 4: ** Variable wurde bereits mit einem anderen Typ erstellt **

x_train = [[0.1, 0,2],[0.3, 0.4]]
x_np_train = np.array(x_train, dtype=np.float64)
x_val_train = Variable(x_np_train, 1)
x_val_train.data.dtype

Wenn, wird dtype ('float64') angezeigt. Wenn nichts unternommen wird, tritt ein Fehler auf.

x_val_train.data.dtype = np.float32
x_val_train.data.dtype

Dann wird dtype ('float32') angezeigt.

Recommended Posts

Über Variable von Chainer
Über den Umfang der Variablen. .. ..
Informationen zum Verhalten von enable_backprop von Chainer v2
Über alles von numpy
Über die Zuweisung von numpy.ndarray
Implementierung des Chainer-Serienlernens mit Mini-Batch variabler Länge
Über max_iter von LogisticRegression () von scikit-learn
Über die japanische Unterstützung von Cometchat
Über verschiedene Codierungen von Python 3
Über alle von numpy (2.)
Über die Kostenberechnung von MeCab
Über die Komponenten von Luigi
Über 2-variable, 4-verzweigte if-Anweisung
Erweiterung der Bash-Variablenparameter
Über die HOG-Ausgabe von Scikit-Image
Über die Funktionen von Python
Über die Datenverwaltung von Amboss-App-Server
Über den Rückgabewert von pthread_mutex_init ()
Über den Rückgabewert des Histogramms.
Über den Grundtyp von Go
Über die Obergrenze von Threads-max
Über das Verhalten von Yield_per von SqlAlchemy
Informationen zum Importfehler von PyQt5.QtWidgets (Anaconda)
Über die Größe der Punkte in Matplotlib
Über die Farbhalbtonverarbeitung von Bildern
Informationen zur Grundlagenliste der Python-Grundlagen
Informationen zum Erstellen einer GUI mit TKinter of Python
Informationen zur virtuellen Umgebung von Python Version 3.7
Über sensor_mode und Blickwinkel der Picamera
Implementierung eines Dialogsystems mit Chainer [seq2seq]
Memorandum von Python-Anfängern
Memorandum zu Djangos QueryDict
Über die Argumente der Setup-Funktion von PyCaret
Über japanische Schriften von matplotlib (für Mac)
Über die Normalgleichung der linearen Regression
Implementierung von "verschwommenen" neuronalen Netzen mit Chainer
Hinweis auf Probleme hinsichtlich der Koexistenz des Python 2/3-Systems
[Python] Kapitel 02-04 Grundlagen des Python-Programms (Informationen zu Kommentaren)