Had Latihan Keras: Menyelesaikan Penggunaan Separa Set Data
Apabila melatih model rangkaian saraf menggunakan Keras, adalah penting untuk memastikan keseluruhan set data digunakan semasa latihan. Walau bagaimanapun, dalam beberapa keadaan, pengguna mungkin menghadapi isu di mana hanya sebahagian kecil daripada data digunakan. Artikel ini meneroka kes khusus di mana model yang dilatih pada set data Fashion MNIST menggunakan hanya sebahagian daripada data yang tersedia, memberikan penjelasan dan penyelesaian yang komprehensif.
Coretan kod yang disediakan menggunakan kaedah model.fit() dengan parameter lalai, yang merangkumi saiz kelompok 32. Ini bermakna semasa setiap lelaran atau zaman, model memproses 32 sampel daripada set data latihan. Dalam kes set data Fashion MNIST, yang terdiri daripada 60,000 sampel, model itu perlu mengulangi keseluruhan set data beberapa kali untuk melengkapkan latihan. Walau bagaimanapun, output yang ditunjukkan dalam konsol menunjukkan bahawa model sedang melengkapkan satu zaman dalam lelaran 1875.
Percanggahan ini timbul kerana kaedah model.fit() melaporkan bilangan kelompok yang diproses semasa latihan, bukan jumlah bilangan daripada sampel. Oleh itu, dalam kes ini, model ini berlatih pada 1875 kelompok, setiap satu mengandungi 32 sampel, menghasilkan sejumlah 1875 * 32 = 60,000 sampel. Ini bermakna model itu sememangnya menggunakan keseluruhan set data untuk latihan, walaupun bar kemajuan mengelirukan yang memaparkan "1875/1875" semasa setiap zaman.
Untuk mengelakkan kekeliruan dan menjejaki kemajuan proses latihan dengan tepat, ia disyorkan untuk mengira dan memaparkan bilangan sampel yang diproses setiap zaman. Ini boleh dicapai dengan mengubah suai kod untuk mencetak kemajuan seperti berikut:
<code class="python">for epoch in range(10): print(f"Current Epoch: {epoch + 1}") for batch_idx in range(1875): model.train_step((train_images[batch_idx * 32 : (batch_idx + 1) * 32], train_labels[batch_idx * 32 : (batch_idx + 1) * 32])) print(f"Batch {batch_idx + 1} processed.")</code>
Menggunakan pendekatan ini, konsol akan memaparkan kemajuan dari segi kedua-dua kelompok dan sampel, memberikan pemahaman yang jelas tentang proses latihan dan mengesahkan bahawa model menggunakan keseluruhan set data seperti yang dimaksudkan.
Atas ialah kandungan terperinci Mengapakah model Keras saya nampaknya hanya menggunakan sebahagian daripada set data Fashion MNIST saya semasa latihan, walaupun ia memproses kelompok 1875?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!