Dengan men-debug informasi, maksud saya apa yang TensorFlow tunjukkan di terminal saya tentang pustaka yang dimuat dan perangkat yang ditemukan, dll. Bukan kesalahan Python.
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:900] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_init.cc:102] Found device 0 with properties:
name: Graphics Device
major: 5 minor: 2 memoryClockRate (GHz) 1.0885
pciBusID 0000:04:00.0
Total memory: 12.00GiB
Free memory: 11.83GiB
I tensorflow/core/common_runtime/gpu/gpu_init.cc:126] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 0: Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:717] Creating TensorFlow device (/gpu:0) -> (device: 0, name: Graphics Device, pci bus id: 0000:04:00.0)
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:51] Creating bin of max chunk size 1.0KiB
...
python
tensorflow
Ghilas BELHADJ
sumber
sumber
import warnings
kemudianwarnings.filterwarnings('ignore')
, kemudian jalankan impor tensorflow dan dan kode yang bergantung pada kode alpha-tensorflow yang rusak, kemudian hidupkan peringatan kembali pada melaluiwarnings.resetwarnings()
. Tensorflow tidak boleh mengiklankan nama versi lebih dari 0,05 pada saat ini.Jawaban:
Anda dapat menonaktifkan semua log debugging menggunakan
os.environ
:Diuji pada tf 0,12 dan 1,0
Secara rinci,
sumber
2.0 Pembaruan (10/8/19) Pengaturan
TF_CPP_MIN_LOG_LEVEL
masih harus bekerja (lihat di bawah di v0.12 + pembaruan), tetapi saat ini ada masalah terbuka (lihat masalah # 31870 ). Jika pengaturanTF_CPP_MIN_LOG_LEVEL
tidak bekerja untuk Anda (lagi, lihat di bawah), coba lakukan hal berikut untuk mengatur level log:Selain itu, silakan lihat dokumentasi
tf.autograph.set_verbosity
yang mengatur verbositas pesan log tanda tangan - misalnya:v0.12 + Pembaruan (5/20/17), Bekerja melalui TF 2.0+:
Di TensorFlow 0.12+, per masalah ini , Anda sekarang dapat mengontrol pencatatan melalui variabel lingkungan yang disebut
TF_CPP_MIN_LOG_LEVEL
; defaultnya adalah 0 (semua log ditampilkan) tetapi dapat diatur ke salah satu dari nilai berikut di bawahLevel
kolom.Lihat contoh OS umum berikut menggunakan Python:
Agar teliti, Anda menelepon juga mengatur level untuk
tf_logging
modul Python , yang digunakan dalam misalnya op ringkasan, papan tensor, berbagai estimator, dll.Untuk 1.14 Anda akan menerima peringatan jika Anda tidak mengubah untuk menggunakan API v1 sebagai berikut:
Untuk Versi Sebelumnya dari TensorFlow atau TF-Learn Logging (v0.11.x atau lebih rendah):
Lihat halaman di bawah untuk informasi tentang logging TensorFlow; dengan update baru, Anda dapat mengatur bertele-tele logging baik
DEBUG
,INFO
,WARN
,ERROR
, atauFATAL
. Sebagai contoh:Halaman ini juga membahas monitor yang dapat digunakan dengan model TF-Learn. Ini halamannya .
Ini tidak memblokir semua logging, meskipun (hanya TF-Learn). Saya punya dua solusi; satu adalah solusi yang 'benar secara teknis' (Linux) dan yang lainnya melibatkan pembangunan kembali TensorFlow.
Untuk yang lain, silakan lihat jawaban ini yang melibatkan memodifikasi sumber dan membangun kembali TensorFlow.
sumber
export TF_CPP_MIN_LOG_LEVEL="3" && python your_code.py
TF_CPP_MIN_LOG_LEVEL="3" python your_code.py
Saya punya masalah ini juga (pada
tensorflow-0.10.0rc0
), tetapi tidak dapat memperbaiki tes hidung yang berlebihan masuk masalah melalui jawaban yang disarankan.Saya berhasil memecahkan ini dengan menyelidik langsung ke dalam logger tensorflow. Bukan perbaikan yang paling benar, tetapi berfungsi dengan baik dan hanya mencemari file uji yang secara langsung atau tidak langsung mengimpor tensorflow:
sumber
tensorflow-gpu 1.14.0
. Menerima keluaran ini ketika dipanggil fungsi di atasThe name tf.logging.set_verbosity is deprecated. Please use tf.compat.v1.logging.set_verbosity instead.
WARNING:tensorflow:From C:/.../NN.py:297: The name tf.logging.ERROR is deprecated. Please use tf.compat.v1.logging.ERROR instead.
Menyenangkan bahwa tidak ada peringatan setelah pesan iniUntuk kompatibilitas dengan Tensorflow 2.0 , Anda dapat menggunakan
tf.get_logger
sumber
Karena
TF_CPP_MIN_LOG_LEVEL
tidak bekerja untuk saya, Anda dapat mencoba:Bekerja untuk saya di tensorflow v1.6.0
sumber
Manajer log python3 biasa bekerja untuk saya dengan tensorflow == 1.11.0:
sumber
Saya diselesaikan dengan posting ini Tidak dapat menghapus semua peringatan # 27045 , dan solusinya adalah:
sumber
Untuk menambahkan fleksibilitas di sini, Anda dapat mencapai kontrol yang lebih baik atas tingkat logging dengan menulis fungsi yang menyaring pesan sesuka Anda:
di mana
my_filter_func
menerimaLogRecord
objek sebagai input [LogRecord
dok ] dan mengembalikan nol jika Anda ingin pesan itu dibuang; bukan nol sebaliknya.Berikut contoh filter yang hanya menyimpan setiap pesan info ke-3 (Python 3 karena penggunaan di
nonlocal
sini):Semua hal di atas telah mengasumsikan bahwa TensorFlow telah mengatur keadaan logging-nya. Anda dapat memastikan ini tanpa efek samping dengan menelepon
tf.logging.get_verbosity()
sebelum menambahkan filter.sumber
Ya, saya menggunakan tf 2.0-beta dan ingin mengaktifkan / menonaktifkan logging standar. Variabel lingkungan dan metode di tf1.X tampaknya tidak ada lagi.
Saya melangkah dalam PDB dan menemukan ini berfungsi:
Saya kemudian menambahkan API logger saya sendiri (dalam hal ini berbasis file)
sumber
untuk tensorflow 2.1.0, kode berikut berfungsi dengan baik.
sumber
Jika Anda hanya perlu menyingkirkan keluaran peringatan di layar , Anda mungkin ingin menghapus konsol layar segera setelah mengimpor tensorflow dengan menggunakan perintah sederhana ini (Ini lebih efektif daripada menonaktifkan semua log debugging dalam pengalaman saya):
Di windows:
Di Linux atau Mac:
sumber
Tidak ada solusi di atas yang bisa menyelesaikan masalah saya di Jupyter Notebook, jadi saya menggunakan kode cuplikan berikut di bawah dari Cicoria , dan masalah terpecahkan.
sumber