49 votes

Avertissement sur l'avenir : La conversion du second argument de issubdtype de `float` vers `np.floating` est dépréciée.

Après avoir mis à jour mon Numpy y Tensorflow Je reçois ce genre d'avertissements. J'ai déjà essayé ces mais rien ne fonctionne, toute suggestion sera appréciée.

FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters
2018-01-19 17:11:38.695932: I C:\tf_jenkins\home\workspace\rel-win\M\windows\PY\36\tensorflow\core\platform\cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2

4 votes

Des nouvelles à ce sujet ? J'ai réussi à résoudre le problème, j'obtiens les mêmes avertissements.

1 votes

Oui, voir la réponse de @raja

21 votes

pip install h5py==2.8.0rc1 (meilleure solution que la réponse acceptée)

66voto

Maxim Points 28843

Ce n'est peut-être pas le cas pour vous, mais le même avertissement est également émis par l'application h5py l'emballage :

/home/user/bin/conda3/lib/python3.6/site-packages/h5py/__init__.py:34 : Avertissement sur l'avenir : Conversion du deuxième a float a np.floating est obsolète. À l'avenir, il sera traité comme np.float64 == np.dtype(float).type . from ._conv import register_converters comme _register_converters

Pour tous ceux qui viennent ici avec este problème, il s'agit d'un problème connu de h5py , introduite avec numpy 1.14 . Comme indiqué par les développeurs :

Vous pouvez ignorer l'avertissement, il ne causera pas d'accident. pour le moment, mais vous devriez passer à la prochaine version de h5py quand elle sera disponible. sera disponible.

... c'est donc inoffensif. Le correctif vient d'être fusionné à maîtriser. Mais jusqu'à ce que la mise à jour soit publiée, la solution consiste à rétrograder numpy vers une version antérieure :

pip install numpy==1.13.0

Mise à jour : h5py a publié la version RC avec le correctif. La commande suivante devrait le faire :

pip install h5py==2.8.0rc1

Mise à jour (FINALE) : il y a maintenant une version à part entière. Vous pouvez donc simplement exécuter :

pip install --upgrade h5py

2 votes

@ShubhamSharma si vous utilisez tensorflow >= 1.5.0 et python 3.6, il se peut que vous ayez besoin de numpy 1.13+ (voir github.com/tensorflow/tensorflow/issues/16488 ), il faut donc être prudent dans le choix de la version de numpy. Pour l'instant, la version 1.13.0 semble être le choix optimal. Si tensorflow < 1.5.0, la version de numpy n'a pas vraiment d'importance.

0 votes

J'ai beau avoir la dernière version de tous ces frameworks, je reçois le même avertissement.

1 votes

@ShubhamSharma la réponse suggère de déclassement numpy, ne pas obtenir les dernières versions

23voto

HommeDeJava Points 46

Vous pouvez mettre à jour h5py

pip install --upgrade h5py

13voto

raja Points 210

J'ai essayé avec ceux-ci et cela a résolu le même problème pour moi, il suffit de mettre ceci en haut de votre code

import os
os.environ["TF_CPP_MIN_LOG_LEVEL"]="3"

0 votes

Solution exacte !

8 votes

Ce n'est pas une solution à long terme !

2 votes

Oui, cela réduira les enregistrements, mais la réponse n'explique pas le problème ni la manière de le résoudre.

4voto

Taylor Mei Points 66

Ceci est dû à un conflit de version entre h5py et numpy. Tout ce que vous avez à faire est de dégrader votre version de numpy par la commande suivante :

pip install numpy==1.13.0

3voto

Arindam Points 986

Vous pouvez également utiliser le code suivant pour effacer les lignes d'avertissement du terminal en utilisant les lignes suivantes au début de votre code.

Code Avec avertissement :

import numpy as np, sys, tensorflow as tf print('\nStart of Code...\n')

Salida:

FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type. from ._conv import register_converters as _register_converters

Start of Code...

Code avec avertissement effacé :

import numpy as np, sys, tensorflow as tf for i in range(3): # Add this for loop. sys.stdout.write('\033[F') # Back to previous line. sys.stdout.write('\033[K') # Clear line.

print('\nStart of Code...\n')

Salida:

Start of Code...

0 votes

Je suppose que cela peut être utile, mais ce n'est pas une réponse très claire... les erreurs sont là pour montrer que quelque chose ne va pas.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X