je le code suivant:tensorflow Dataset.from_tensor_slices prend trop de temps
data = np.load("data.npy")
print(data) # Makes sure the array gets loaded in memory
dataset = tf.contrib.data.Dataset.from_tensor_slices((data))
Le fichier est "data.npy"
3.3 Go. La lecture du fichier avec numpy prend quelques secondes, mais la ligne suivante qui crée l'objet de jeu de données tensorflow prend des âges à exécuter. Pourquoi donc? Que fait-il sous le capot?
Si j'essaie d'imprimer le 'data', de sorte que je m'assure qu'il est effectivement chargé, cela prend encore quelques secondes, alors que' Dataset' prend quelques minutes. – niko
Il n'imprime pas nécessairement toutes les données. L'imprimer ou non ne garantit pas qu'il soit réellement chargé. Je ne suis pas un expert en tensorflow mais juste en regardant le code, il semble que 'from_tensor_slices' boucle sur l'ensemble des données (et de manière plutôt lente aussi) ce qui va certainement * charger * toutes les données. OMI ceci peut probablement être accéléré mais en toute justice je n'ai pas essayé. À un certain point, il se peut que vous deviez lancer plus de matériel si votre machine est en train de s'étouffer avec 3,3 Go de mémoire. – Iguananaut
J'ai mis à jour ma réponse pour vous donner un peu plus de détails. –