Cet article suppose que python 3.x. De plus, veuillez comprendre que c'est un amateur de python. La première chose que je voulais faire avec l'apprentissage automatique était de faire de la formation sur mon propre jeu de données, mais la première chose dans laquelle je me suis retrouvé coincé était cette variable.
import numpy as np
import chainer as Variable
Le type doit être Variable lors du lancement de données vers un réseau d'apprentissage automatique défini à l'aide d'un chainer. A ce moment, il est nécessaire de toujours utiliser np.array pour les données données à l'argument. Ce np.array est un tableau utilisé par numpy de python, qui est différent de la liste python standard ([]). En regardant la documentation de Chainer, ce que vous pouvez spécifier pour la variable est [data – Data array of type either numpy.ndarray or cupy.ndarray.] Puisqu'il est décrit comme, il est nécessaire de le convertir en un tableau numpy une fois au lieu d'utiliser les données de la liste telles quelles. Si vous utilisez la virgule flottante, vous devrez peut-être également convertir en float32. Je pense que la raison de l'utilisation de float32 est que le chainer ne prend pas en charge float64, donc une erreur se produit. Cette fois, j'ai considéré certains modèles de conversion jusqu'à variable.
Exemple 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)
Ce faisant, le tableau est converti en np.array tout en spécifiant float32, et il est ensuite converti en variable.
Exemple 2: ** Tableau multidimensionnel ** Vous pouvez suivre la même procédure.
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)
Exemple 3: ** Si np.array existe déjà **
x_train = [[0.1, 0,2],[0.3, 0.4]]
x_np_train = np.array(x_train)
x_np_train.dtype
Ensuite, il devient dtype ('float64'). Lorsqu'il s'agit de données np.array depuis le début, je pense qu'il y a de nombreux cas où vous devez effectuer un cast en float32.
x_np_train.dtype = np.float32
x_val_train = Variable(x_np_train, 1)
Exemple 4: ** La variable a déjà été créée avec un autre type **
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
Si, dtype ('float64') est affiché. Si rien n'est fait, une erreur se produira.
x_val_train.data.dtype = np.float32
x_val_train.data.dtype
Ensuite, dtype ('float32') s'affiche.
Recommended Posts