Apa gunanya verbose di Keras saat memvalidasi model?


96

Saya menjalankan model LSTM untuk pertama kalinya. Ini model saya:

opt = Adam(0.002)
inp = Input(...)
print(inp)
x = Embedding(....)(inp)
x = LSTM(...)(x)
x = BatchNormalization()(x)
pred = Dense(5,activation='softmax')(x)

model = Model(inp,pred)
model.compile(....)

idx = np.random.permutation(X_train.shape[0])
model.fit(X_train[idx], y_train[idx], nb_epoch=1, batch_size=128, verbose=1)

Apa gunanya verbose saat melatih model?

Jawaban:


228

Lihat dokumentasi untuk model.fit di sini .

Dengan menyetel verbose 0, 1 atau 2 Anda cukup mengatakan bagaimana Anda ingin 'melihat' kemajuan pelatihan untuk setiap epoch.

verbose=0 tidak akan menunjukkan apa-apa (diam)

verbose=1 akan menampilkan bilah kemajuan animasi seperti ini:

progres_bar

verbose=2 hanya akan menyebutkan jumlah epoch seperti ini:

masukkan deskripsi gambar di sini


21
verbose: Integer. 0, 1, atau 2. Mode verbositas. 0 = diam, 1 = bilah kemajuan, 2 = satu baris per periode. Terima kasih @ank you rock ..
— rakesh

2
Komentar ini adalah jawaban terbaik untuk pertanyaan tersebut, bahkan lebih baik daripada jawaban yang dikomentari. Catat ini dan coba hindari kata-kata hanya untuk membuat jawaban lebih panjang. @rakesh, kamu keren.
— Konstantin Sekeresh

22

verbose: Integer. 0, 1, atau 2. Mode verbositas.

Verbose = 0 (diam)

Verbose = 1 (bilah kemajuan)

Train on 186219 samples, validate on 20691 samples
Epoch 1/2
186219/186219 [==============================] - 85s 455us/step - loss: 0.5815 - acc: 
0.7728 - val_loss: 0.4917 - val_acc: 0.8029
Train on 186219 samples, validate on 20691 samples
Epoch 2/2
186219/186219 [==============================] - 84s 451us/step - loss: 0.4921 - acc: 
0.8071 - val_loss: 0.4617 - val_acc: 0.8168

Verbose = 2 (satu baris per periode)

Train on 186219 samples, validate on 20691 samples
Epoch 1/1
 - 88s - loss: 0.5746 - acc: 0.7753 - val_loss: 0.4816 - val_acc: 0.8075
Train on 186219 samples, validate on 20691 samples
Epoch 1/1
 - 88s - loss: 0.4880 - acc: 0.8076 - val_loss: 0.5199 - val_acc: 0.8046

Dapatkah Anda menjelaskan mengapa saya tidak mendapatkan hasil yang diharapkan untuk vakues verbose yang berbeda. Saya mendapatkan output [diam] yang sama untuk verbose = 0 dan 2 untuk file saya? Dan untuk verbose = 1, saya mendapatkan bilah kemajuan hanya di akhir zaman seperti Epoch 10/10 - 21s - kerugian: 0,2354 - acc: 0,9286 - val_loss: 0,2206 - val_acc: 0,9344 [======== ======================] Akurasi: 0.9344 Kesalahan: 6.560000000000002
— Dr Nisha Arora

jawaban yang bagus, membantu saya. Berlaku untuk tensorflow 2.2
— Bobs Burgers

9

Untuk verbose> 0, fitlog metode:

  • loss : nilai fungsi kerugian untuk data pelatihan Anda
  • acc : nilai akurasi untuk data pelatihan Anda.

Catatan: Jika mekanisme regularisasi digunakan, mekanisme tersebut diaktifkan untuk menghindari overfitting.

jika validation_dataatau validation_splitargumen tidak kosong, fitlog metode:

  • val_loss : nilai fungsi kerugian untuk data validasi Anda
  • val_acc : nilai akurasi untuk data validasi Anda

Catatan: Mekanisme regulasi dimatikan pada waktu pengujian karena kami menggunakan semua kemampuan jaringan.

Misalnya, menggunakan verbosesambil melatih model membantu mendeteksi overfitting yang terjadi jika Anda accterus meningkatkan sementara Anda val_accsemakin buruk.


Apa relevansi regularisasi dengan parameter verbositas ?!
— Chrisji

Parameter verbose tidak berdampak pada mekanisme regularisasi. Saya hanya menambahkan informasi tentang apa yang ditampilkan jika verbose diaktifkan (untuk menjawab pertanyaan awal "Apa gunanya verbose saat melatih model?" => Ex: menghindari overfitting dengan membandingkan acc dan val_acc).
— Hugo Bevilacqua

2

Secara default verbose = 1,

verbose = 1, yang mencakup bilah kemajuan dan satu baris per epoch

verbose = 0, artinya diam

verbose = 2, satu baris per epoch yaitu epoch no./total no. zaman


0

Urutan detail yang diberikan dengan flag verbose adalah sebagai

Lebih sedikit detail .... Selengkapnya

0 <2 <1

Default-nya adalah 1

Untuk lingkungan produksi, direkomendasikan 2

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.