<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=TF%3A_TensorFlow_save_model</id>
	<title>TF: TensorFlow save model - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=TF%3A_TensorFlow_save_model"/>
	<link rel="alternate" type="text/html" href="https://onnocenter.or.id/wiki/index.php?title=TF:_TensorFlow_save_model&amp;action=history"/>
	<updated>2026-04-17T14:29:42Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.4</generator>
	<entry>
		<id>https://onnocenter.or.id/wiki/index.php?title=TF:_TensorFlow_save_model&amp;diff=71911&amp;oldid=prev</id>
		<title>Onnowpurbo: Created page with &quot;Menyimpan model TensorFlow yang telah dilatih sangat penting untuk memungkinkan penggunaan kembali, berbagi dengan orang lain, atau deployment ke lingkungan produksi. Berikut...&quot;</title>
		<link rel="alternate" type="text/html" href="https://onnocenter.or.id/wiki/index.php?title=TF:_TensorFlow_save_model&amp;diff=71911&amp;oldid=prev"/>
		<updated>2025-03-11T03:27:32Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Menyimpan model TensorFlow yang telah dilatih sangat penting untuk memungkinkan penggunaan kembali, berbagi dengan orang lain, atau deployment ke lingkungan produksi. Berikut...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Menyimpan model TensorFlow yang telah dilatih sangat penting untuk memungkinkan penggunaan kembali, berbagi dengan orang lain, atau deployment ke lingkungan produksi. Berikut adalah beberapa metode utama untuk menyimpan dan memuat kembali model yang telah dilatih, lengkap dengan contoh implementasi:&lt;br /&gt;
&lt;br /&gt;
==1. '''Menyimpan dan Memuat Bobot Model (Weights Only)'''==&lt;br /&gt;
&lt;br /&gt;
Anda dapat menyimpan hanya bobot (weights) dari model selama atau setelah pelatihan menggunakan `tf.keras.callbacks.ModelCheckpoint`. Ini memungkinkan Anda untuk melanjutkan pelatihan atau melakukan inferensi tanpa harus melatih ulang model dari awal.&lt;br /&gt;
&lt;br /&gt;
'''Menyimpan Bobot Selama Pelatihan:'''&lt;br /&gt;
&lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 from tensorflow.keras.callbacks import ModelCheckpoint&lt;br /&gt;
 &lt;br /&gt;
 # Definisikan model sederhana&lt;br /&gt;
 def create_model():&lt;br /&gt;
     model = tf.keras.Sequential([&lt;br /&gt;
         tf.keras.layers.Dense(512, activation='relu', input_shape=(784,)),&lt;br /&gt;
         tf.keras.layers.Dropout(0.2),&lt;br /&gt;
         tf.keras.layers.Dense(10)&lt;br /&gt;
     ])&lt;br /&gt;
     model.compile(optimizer='adam',&lt;br /&gt;
                   loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),&lt;br /&gt;
                   metrics=['accuracy'])&lt;br /&gt;
     return model&lt;br /&gt;
 &lt;br /&gt;
 model = create_model()&lt;br /&gt;
 &lt;br /&gt;
 # Tentukan path untuk menyimpan checkpoint&lt;br /&gt;
 checkpoint_path = &amp;quot;training_1/cp.ckpt&amp;quot;&lt;br /&gt;
 checkpoint_dir = os.path.dirname(checkpoint_path)&lt;br /&gt;
 &lt;br /&gt;
 # Buat callback untuk menyimpan bobot model&lt;br /&gt;
 cp_callback = ModelCheckpoint(filepath=checkpoint_path,&lt;br /&gt;
                               save_weights_only=True,&lt;br /&gt;
                               verbose=1)&lt;br /&gt;
 &lt;br /&gt;
 # Latih model dengan callback&lt;br /&gt;
 model.fit(train_images, &lt;br /&gt;
           train_labels,  &lt;br /&gt;
           epochs=10,&lt;br /&gt;
           validation_data=(test_images, test_labels),&lt;br /&gt;
           callbacks=[cp_callback])&lt;br /&gt;
&lt;br /&gt;
'''Memuat Bobot ke Model Baru:'''&lt;br /&gt;
&lt;br /&gt;
 # Buat instance model baru&lt;br /&gt;
 model = create_model()&lt;br /&gt;
 &lt;br /&gt;
 # Muat bobot yang telah disimpan&lt;br /&gt;
 model.load_weights(checkpoint_path)&lt;br /&gt;
 &lt;br /&gt;
 # Evaluasi model&lt;br /&gt;
 loss, acc = model.evaluate(test_images, test_labels, verbose=2)&lt;br /&gt;
 print(f&amp;quot;Model yang dimuat ulang, akurasi: {acc*100:.2f}%&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Dengan pendekatan ini, Anda dapat menyimpan bobot model selama pelatihan dan memuatnya kembali ke model dengan arsitektur yang sama untuk melanjutkan pelatihan atau melakukan evaluasi.&lt;br /&gt;
&lt;br /&gt;
==2. '''Menyimpan dan Memuat Seluruh Model'''==&lt;br /&gt;
&lt;br /&gt;
Menyimpan seluruh model mencakup arsitektur, bobot, dan konfigurasi pelatihan, sehingga memudahkan untuk memuat kembali model tanpa perlu rekonfigurasi.&lt;br /&gt;
&lt;br /&gt;
'''Menggunakan Format `.keras`:'''&lt;br /&gt;
&lt;br /&gt;
Format `.keras` adalah format penyimpanan tingkat tinggi yang baru, yang menyediakan penyimpanan berbasis nama yang lebih efisien dan mudah untuk debug.&lt;br /&gt;
&lt;br /&gt;
'''Menyimpan Model:'''&lt;br /&gt;
&lt;br /&gt;
 # Latih model&lt;br /&gt;
 model = create_model()&lt;br /&gt;
 model.fit(train_images, train_labels, epochs=5)&lt;br /&gt;
 &lt;br /&gt;
 # Simpan seluruh model sebagai arsip `.keras`&lt;br /&gt;
 model.save('my_model.keras')&lt;br /&gt;
&lt;br /&gt;
'''Memuat Model:'''&lt;br /&gt;
&lt;br /&gt;
 # Muat model yang telah disimpan&lt;br /&gt;
 new_model = tf.keras.models.load_model('my_model.keras')&lt;br /&gt;
 &lt;br /&gt;
 # Tampilkan arsitektur model&lt;br /&gt;
 new_model.summary()&lt;br /&gt;
 &lt;br /&gt;
 # Evaluasi model yang dimuat&lt;br /&gt;
 loss, acc = new_model.evaluate(test_images, test_labels, verbose=2)&lt;br /&gt;
 print(f&amp;quot;Model yang dimuat ulang, akurasi: {acc*100:.2f}%&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pendekatan ini memungkinkan Anda untuk menyimpan dan memuat kembali seluruh model dengan mudah, termasuk arsitektur, bobot, dan konfigurasi pelatihan.&lt;br /&gt;
&lt;br /&gt;
==3. '''Menyimpan Model dalam Format SavedModel'''==&lt;br /&gt;
&lt;br /&gt;
Format SavedModel adalah format serialisasi default untuk TensorFlow, yang menyimpan arsitektur, bobot, dan informasi lainnya, serta kompatibel dengan TensorFlow Serving.&lt;br /&gt;
&lt;br /&gt;
'''Menyimpan Model:'''&lt;br /&gt;
&lt;br /&gt;
 # Latih model&lt;br /&gt;
 model = create_model()&lt;br /&gt;
 model.fit(train_images, train_labels, epochs=5)&lt;br /&gt;
 &lt;br /&gt;
 # Simpan model sebagai SavedModel&lt;br /&gt;
 model.save('saved_model/my_model')&lt;br /&gt;
&lt;br /&gt;
'''Memuat Model:'''&lt;br /&gt;
&lt;br /&gt;
 # Muat model yang telah disimpan&lt;br /&gt;
 new_model = tf.keras.models.load_model('saved_model/my_model')&lt;br /&gt;
 &lt;br /&gt;
 # Tampilkan arsitektur model&lt;br /&gt;
 new_model.summary()&lt;br /&gt;
 &lt;br /&gt;
 # Evaluasi model yang dimuat&lt;br /&gt;
 loss, acc = new_model.evaluate(test_images, test_labels, verbose=2)&lt;br /&gt;
 print(f&amp;quot;Model yang dimuat ulang, akurasi: {acc*100:.2f}%&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Format SavedModel sangat berguna untuk deployment di lingkungan produksi dan kompatibel dengan berbagai alat TensorFlow lainnya.&lt;br /&gt;
&lt;br /&gt;
==4. '''Menyimpan Model dalam Format HDF5'''==&lt;br /&gt;
&lt;br /&gt;
Format HDF5 adalah format penyimpanan lama yang masih didukung untuk kompatibilitas, yang menyimpan arsitektur, bobot, dan konfigurasi pelatihan dalam satu file.&lt;br /&gt;
&lt;br /&gt;
'''Menyimpan Model:'''&lt;br /&gt;
&lt;br /&gt;
 # Latih model&lt;br /&gt;
 model = create_model()&lt;br /&gt;
 model.fit(train_images, train_labels, epochs=5)&lt;br /&gt;
 &lt;br /&gt;
 # Simpan model ke file HDF5&lt;br /&gt;
 model.save('my_model.h5')&lt;br /&gt;
&lt;br /&gt;
'''Memuat Model:'''&lt;br /&gt;
&lt;br /&gt;
 # Muat model yang telah disimpan&lt;br /&gt;
 new_model = tf.keras.models.load_model('my_model.h5')&lt;br /&gt;
 &lt;br /&gt;
 # Tampilkan arsitektur model&lt;br /&gt;
 new_model.summary()&lt;br /&gt;
 &lt;br /&gt;
 # Evaluasi model yang dimuat&lt;br /&gt;
 loss, acc = new_model.evaluate(test_images, test_labels, verbose=2)&lt;br /&gt;
 print(f&amp;quot;Model yang dimuat ulang, akurasi: {acc*100:.2f}%&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Meskipun format HDF5 masih didukung, disarankan untuk menggunakan format `.keras` atau SavedModel untuk fitur dan kompatibilitas yang lebih baik.&lt;br /&gt;
&lt;br /&gt;
==5. '''Menyimpan Model untuk TensorFlow.js'''==&lt;br /&gt;
&lt;br /&gt;
Untuk menggunakan model TensorFlow di aplikasi web, Anda dapat mengonversinya ke format TensorFlow.js.&lt;br /&gt;
&lt;br /&gt;
'''Mengonversi Model Keras ke TensorFlow.js:'''&lt;br /&gt;
&lt;br /&gt;
 # Instal konverter TensorFlow.js&lt;br /&gt;
 pip install tensorflowjs&lt;br /&gt;
 &lt;br /&gt;
 # Konversi model Keras ke format TensorFlow.js&lt;br /&gt;
 tensorflowjs_converter --input_format keras my_model.h5 /path/to/tfjs_model&lt;br /&gt;
&lt;br /&gt;
'''Memuat Model di TensorFlow.js:'''&lt;br /&gt;
&lt;br /&gt;
 // Muat model di aplikasi web menggunakan TensorFlow.js&lt;br /&gt;
 const model = await tf.loadLayersModel('/path/to/tfjs_model/model.json');&lt;br /&gt;
 &lt;br /&gt;
 // Gunakan model untuk prediksi&lt;br /&gt;
 const prediction = model.predict(tf.tensor2d([[0.5, 0.5, 0.5, 0.5]], [1, 4]));&lt;br /&gt;
 prediction.print();&lt;br /&gt;
&lt;br /&gt;
Dengan mengonversi model ke format TensorFlow.js, Anda dapat menjalankan model langsung di browser, memungkinkan aplikasi web interaktif yang memanfaatkan pembelajaran mesin. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pranala Menarik==&lt;br /&gt;
&lt;br /&gt;
* [[TensorFlow]]&lt;/div&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
</feed>