Je ne connais pas encore Python, Machine Learning et TensorFlow, mais je fais de mon mieux pour me lancer droit dans la tête. Je pourrais utiliser de l'aide si.
Mes données sont actuellement dans un cadre de données Pandas. Comment puis-je convertir ceci en objet TensorFlow? J'ai essayé
dataVar_tensor = tf.constant(dataVar)
depth_tensor = tf.constant(depth)
Mais je reçois des erreurs [15780 rows x 9 columns] - got shape [15780, 9], but wanted []
.
Je suis sûr que la question est probablement simple, mais je pourrais vraiment utiliser l'aide.
Merci beaucoup
ps. J'exécute tensorflow 0.12 avec Anaconda Python 3.5 sur Windows 10
Je pense que je l'ai! :RÉ
J'ai converti mon cadre de données Pandas en tableau Numpy à l'aide de .as_matrix ()
Maintenant, en utilisant
dataVar_tensor = tf.constant(dataVar, dtype = tf.float32, shape=[15780,9])
depth_tensor = tf.constant(depth, 'float32',shape=[15780,1])
semble fonctionner. Je ne peux pas dire que ça le soit définitivement parce que j'ai d'autres obstacles à surmonter pour que mon code fonctionne, mais j'espère que c'est un pas dans la bonne direction. Merci pour votre aide
Soit dit en passant, je vais continuer à essayer de faire fonctionner le didacticiel sur mes propres données dans ma question suivante/ Didacticiel Conversion de TensorFlow pour travailler avec mes propres données
Ce qui suit fonctionne facilement en fonction des données d'entrée du tableau numpy
:
import tensorflow as tf
import numpy as np
a = np.array([1,2,3])
with tf.Session() as sess:
tf.global_variables_initializer().run()
dataVar = tf.constant(a)
print(dataVar.eval())
-> [1 2 3]
N'oubliez pas de démarrer les objets session
et run()
ou eval()
de votre tenseur pour voir son contenu; sinon, il vous donnera simplement sa description générique.
Je suppose que puisque vos données sont dans le DataFrame plutôt que dans un simple tableau, vous devez essayer le shape
paramètre de tf.constant()
, que vous ne spécifiez pas actuellement, afin de l'aider à comprendre la dimensionnalité du DataFrame traiter avec ses indices, etc.?
voici une solution que j'ai trouvée qui fonctionne sur google colab, devrait probablement fonctionner aussi sur une machine locale
import pandas as pd
import tensorflow as tf
#Read the file to a pandas object
data=pd.read_csv('filedir')
#convert the pandas object to a tensor
data=tf.convert_to_tensor(data)
type(data)
Cela doit imprimer quelque chose comme
tensorflow.python.framework.ops.Tensor
J'espère que cela t'aides :)
`
hottbox.pdtools.utils (les outils d’intégration Pandas de l’API HOTTBOX) fournit les fonctions
pd_to_tensor(df[, keep_index])
tensor_to_pd(tensor[, col_name])
pour la conversion dans les deux sens.