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?

rakesh
sumber

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

Ankit
sumber
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
Ashok Kumar Jayaraman
sumber
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.

Hugo Bevilacqua
sumber
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

Ashiq Imran
sumber
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

DevLoverUmar
sumber