Saya tahu API fungsional, seperti tf.layers.dense, akan hilang di TF 2.0. Namun, alternatif mereka, tf.keras.layers, tidak kompatibel dengan komponen lain dari TF 1.x, misalnya, mereka bahkan tidak mendukung ruang lingkup variabel (#27016). Jadi saya akan tetap menggunakan API yang sudah usang di TF 1.x.
Bisakah Anda menghapus pesan peringatan "usang" yang menjijikkan seperti ini: xxx (from tensorflow.python.layers.core) is deprecated and will be removed in a future version. Use keras.layers.xxx instead.
ini adalah apa yang telah saya gunakan selama bertahun-tahun
itu tidak bisa menghentikan peringatan penghentian
Omong-omong, sebelum menghentikan komponen lama, bisakah Anda menyelesaikan fungsionalitas saat ini? Lihat #27042. Tampaknya TF sangat baik dalam mencela fungsi yang digunakan secara luas, tetapi buruk dalam meningkatkan titik lemahnya
Pesan penghentian diperlukan untuk memberi tahu orang-orang yang ingin menggunakan versi TensorFlow yang sebenarnya tentang apa yang akan terjadi di masa mendatang, dan memberi mereka waktu untuk beradaptasi.
Karena itu, kami tidak dapat menghapus pesan ini. Anda dapat menonaktifkannya sendiri menggunakan API pribadi ini
import tensorflow.python.util.deprecation as deprecation
deprecation._PRINT_DEPRECATION_WARNINGS = False
Terima kasih
Lihat #27045, ada saran?
Kode ini memberi saya kesalahan:
import tensorflow.python.util.deprecation as deprecation
deprecation._PRINT_DEPRECATION_WARNINGS = False
AttributeError: module 'tensorflow' has no attribute 'python'
Tetapi mengubah baris impor membuatnya berfungsi (dan menekan peringatan penghentian seperti yang diinginkan):
from tensorflow.python.util import deprecation
deprecation._PRINT_DEPRECATION_WARNINGS = False
Terima kasih
@skylogic004 apakah ini dari nightly/build baru-baru ini dari sumber dari master baru-baru ini?
@mihaimaruseac Oh, saya menggunakan tf 1.13 dari anaconda (saya tidak terbiasa dengan cabang & build apa yang akan berasal dari awalnya, maaf, tapi mungkin ini cukup info untuk Anda?).
$ python
Python 3.6.6 | packaged by conda-forge | (default, Jul 26 2018, 11:48:23) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> tf.__version__
'1.13.1'
$ conda list | grep tensor
tensorboard 1.13.1 py36h33f27b4_0
tensorflow 1.13.1 gpu_py36h1635174_0
tensorflow-base 1.13.1 gpu_py36h0fff12a_0
tensorflow-estimator 1.13.0 py_0
tensorflow-gpu 1.13.1 h0d30ee6_0
Tautan ke paket anaconda: https://anaconda.org/anaconda/tensorflow-gpu
Maka itu bukan sesuatu yang harus saya khawatirkan (konteks penuh: selama seminggu terakhir ada beberapa kegagalan pada impor karena beberapa perubahan yang saya buat; tetapi itu hanya pada kode master, yang sepertinya tidak demikian)
Peringatan penghentian penting bagi pengembang. Mereka mungkin tidak terlalu berguna bagi pengguna. Oleh karena itu ada situasi di mana diinginkan untuk mematikannya.
Python memiliki sys.warnoptions
yang misalnya diatur melalui PYTHONWARNINGS
, misalnya:
PYTHONWARNINGS=ignore
.
TensorFlow memiliki opsi TF_CPP_MIN_LOG_LEVEL
seperti yang ditunjukkan sebelumnya.
Dan ada juga API logging TensorFlow Python (yang saya yakini berfungsi sebelumnya):
import tensorflow as tf
tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR)
Bahwa tidak ada opsi di atas yang mencegah pesan peringatan dicetak tampaknya merupakan bug.
Bendera _PRINT_DEPRECATION_WARNINGS
tampaknya internal dan dapat dihapus kapan saja.
EDIT: Maaf, saya membingungkan numpy FuturreWarning s untuk peringatan tensorflow. Opsi terakhir untuk mengatur level logging umumnya masih berfungsi.
Hanya pada 1.14.0
ini berfungsi:
import tensorflow as tf
tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR)
Untuk r1.14 dan seterusnya, coba ini:
try:
from tensorflow.python.util import module_wrapper as deprecation
except ImportError:
from tensorflow.python.util import deprecation_wrapper as deprecation
deprecation._PER_MODULE_WARNING_LIMIT = 0
Bagaimanapun, itu bersifat internal dan dapat berubah.
Atau beralih ke TF2.0 di mana peringatan penghentian dihapus (jika tidak diperlukan).
Kecuali jika Anda menggunakan pilihan IDE yang bagus :p
Satu-satunya hal yang membuat saya mundur adalah masalah pelengkapan otomatis sehingga permintaan penghentian ini valid.
Pelengkapan otomatis sebagian besar telah diselesaikan
Mencoba semua yang telah disarankan:
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
import tensorflow as tf
tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR)
from tensorflow.python.util import deprecation
deprecation._PRINT_DEPRECATION_WARNINGS = False
try:
from tensorflow.python.util import module_wrapper as deprecation
except ImportError:
from tensorflow.python.util import deprecation_wrapper as deprecation
deprecation._PER_MODULE_WARNING_LIMIT = 0
Namun, memiliki setumpuk peringatan.
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:516: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint8 = np.dtype([("qint8", np.int8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:517: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint8 = np.dtype([("quint8", np.uint8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:518: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint16 = np.dtype([("qint16", np.int16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:519: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint16 = np.dtype([("quint16", np.uint16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:520: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint32 = np.dtype([("qint32", np.int32, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:525: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
np_resource = np.dtype([("resource", np.ubyte, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:541: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint8 = np.dtype([("qint8", np.int8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:542: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint8 = np.dtype([("quint8", np.uint8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:543: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint16 = np.dtype([("qint16", np.int16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:544: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint16 = np.dtype([("quint16", np.uint16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:545: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint32 = np.dtype([("qint32", np.int32, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:550: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
np_resource = np.dtype([("resource", np.ubyte, 1)])
TF version 1.14.0
Ubuntu 16.04
Python 3.6.8
@pyotr777 Untuk peringatan
warnings.filterwarnings('ignore', category=DeprecationWarning)
warnings.filterwarnings('ignore', category=FutureWarning)
@pyotr777 itu berasal dari numpy. Anda menggunakan versi numpy yang sedikit tidak kompatibel dengan versi TF yang Anda gunakan.
Dengan risiko mendapatkan lebih banyak downvotes, silakan beralih ke 2.0
Peringatan Masa Depan
import warnings
warnings.filterwarnings('ignore', category=DeprecationWarning)
warnings.filterwarnings('ignore', category=FutureWarning)
tidak menekan
/usr/local/lib/python3.7/site-packages/tensorflow/python/framework/dtypes.py:516: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint8 = np.dtype([("qint8", np.int8, 1)])
Bagi saya ini berfungsi untuk peringatan t2.0
import tensorflow as tf
tf.get_logger().warning('test')
# WARNING:tensorflow:test
tf.get_logger().setLevel('ERROR')
tf.get_logger().warning('test')
FYI Logging di TensorFlow berubah karena TF_CPP_MIN_LOG_LEVEL tidak berfungsi lagi
Namun, memiliki setumpuk peringatan.
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:516: FutureWarning: Melewati (type, 1) atau '1type' sebagai sinonim dari type tidak digunakan lagi; dalam versi numpy yang akan datang, itu akan dipahami sebagai (type, (1,)) / '(1,)type'.
_np_qint8 = np.dtype([("qint8", np.int8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:517: FutureWarning: Melewati (type, 1) atau '1type' sebagai sinonim dari type tidak digunakan lagi; dalam versi numpy yang akan datang, itu akan dipahami sebagai (type, (1,)) / '(1,)type'.
_np_quint8 = np.dtype([("quint8", np.uint8, 1)])
Silakan coba satu per satu untuk mengubah 1 menjadi 0 misalnya: _np_qint8 = np.dtype([("qint8", np.int8, 1)]) menjadi _np_qint8 = np.dtype([("qint8", np.int8 , 0)]) yang bekerja untuk saya
@TiwaPhil https://github.com/tensorflow/tensorflow/issues/27023#issuecomment -545991801
Anda menggunakan versi numpy yang sedikit tidak kompatibel dengan versi TF yang Anda gunakan.
Bagi saya bekerja menempatkan
import warnings
warnings.filterwarnings('ignore',category=FutureWarning)
sebelum
import tensorflow as tf
dan semua impor lainnya.
Saya memiliki TF 1.14.0 dan numpy 1.18.1.
sebelum mengimpor tensorflow, Anda harus menerapkan:
peringatan impor
warnings.filterwarnings('ignore',category=FutureWarning)
warnings.filterwarnings('ignore', category=DeprecationWarning)
ini berfungsi untuk tensorflow==1.12.0, numpy==1.18.1, python 3.6
Saya mencoba ini:
import warnings
warnings.filterwarnings('ignore',category=FutureWarning)
warnings.filterwarnings('ignore', category=DeprecationWarning)
Dan itu tidak berhasil untuk saya ketika saya menjalankan python secara non-interaktif tensorflow==1.14.0
, numpy==1.18.1
, python==3.6.10
, tetapi berhasil dalam sesi interaktif.
Saya menemukan bahwa yang berikut ini berfungsi ketika saya menjalankan python baik secara interaktif maupun non-interaktif. Saat menggunakan tensorflow 2.X, Anda dapat menggunakan:
import tensorflow as tf
tf.logging.set_verbosity(tf.logging.ERROR)
Dan saat menggunakan tensorflow 1.X (berfungsi pada 1.14 untuk saya):
import tensorflow as tf
tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR)
Saya menggunakan tf 1.13.1
Ini bekerja:
import tensorflow as tf
tf.logging.set_verbosity(tf.logging.ERROR)
.compat.v1
tidak diperlukan.
Saya mencoba semua metode, tetapi tidak ada yang berfungsi di notebook jupyter ...
warnings.filterwarnings('ignore',category=FutureWarning)
Ini dapat mengabaikan peringatan saat mengimpor tensorflow, tetapi masih ada banyak banyak PERINGATAN jika saya memuat model...
Komentar yang paling membantu
Hanya pada
1.14.0
ini berfungsi: