<?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_untuk_dataset_CIFAR-10</id>
	<title>TF: TensorFlow untuk dataset CIFAR-10 - 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_untuk_dataset_CIFAR-10"/>
	<link rel="alternate" type="text/html" href="https://onnocenter.or.id/wiki/index.php?title=TF:_TensorFlow_untuk_dataset_CIFAR-10&amp;action=history"/>
	<updated>2026-04-17T12:56:19Z</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_untuk_dataset_CIFAR-10&amp;diff=71968&amp;oldid=prev</id>
		<title>Onnowpurbo: Created page with &quot;Berikut adalah contoh kode Python yang membangun model Convolutional Neural Network (CNN) menggunakan Keras untuk mengklasifikasikan dataset CIFAR-10, melakukan prediksi, dan...&quot;</title>
		<link rel="alternate" type="text/html" href="https://onnocenter.or.id/wiki/index.php?title=TF:_TensorFlow_untuk_dataset_CIFAR-10&amp;diff=71968&amp;oldid=prev"/>
		<updated>2025-03-16T02:10:00Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Berikut adalah contoh kode Python yang membangun model Convolutional Neural Network (CNN) menggunakan Keras untuk mengklasifikasikan dataset CIFAR-10, melakukan prediksi, dan...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Berikut adalah contoh kode Python yang membangun model Convolutional Neural Network (CNN) menggunakan Keras untuk mengklasifikasikan dataset CIFAR-10, melakukan prediksi, dan memvisualisasikan hasilnya:&lt;br /&gt;
&lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 from tensorflow.keras import datasets, layers, models&lt;br /&gt;
 import matplotlib.pyplot as plt&lt;br /&gt;
 import numpy as np&lt;br /&gt;
 &lt;br /&gt;
 # Memuat dataset CIFAR-10&lt;br /&gt;
 (x_train, y_train), (x_test, y_test) = datasets.cifar10.load_data()&lt;br /&gt;
 &lt;br /&gt;
 # Normalisasi nilai piksel ke rentang 0 hingga 1&lt;br /&gt;
 x_train, x_test = x_train / 255.0, x_test / 255.0&lt;br /&gt;
 &lt;br /&gt;
 # Mendefinisikan nama kelas&lt;br /&gt;
 class_names = ['Pesawat', 'Mobil', 'Burung', 'Kucing', 'Rusa', 'Anjing', 'Katak', 'Kuda', 'Kapal', 'Truk']&lt;br /&gt;
 &lt;br /&gt;
 # Membangun model CNN&lt;br /&gt;
 model = models.Sequential([&lt;br /&gt;
     layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),&lt;br /&gt;
     layers.MaxPooling2D((2, 2)),&lt;br /&gt;
     layers.Conv2D(64, (3, 3), activation='relu'),&lt;br /&gt;
     layers.MaxPooling2D((2, 2)),&lt;br /&gt;
     layers.Conv2D(64, (3, 3), activation='relu'),&lt;br /&gt;
     layers.Flatten(),&lt;br /&gt;
     layers.Dense(64, activation='relu'),&lt;br /&gt;
     layers.Dense(10)&lt;br /&gt;
 ])&lt;br /&gt;
 &lt;br /&gt;
 # Kompilasi model&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;
 &lt;br /&gt;
 # Melatih model&lt;br /&gt;
 history = model.fit(x_train, y_train, epochs=10, &lt;br /&gt;
                     validation_data=(x_test, y_test))&lt;br /&gt;
 &lt;br /&gt;
 # Mengevaluasi model&lt;br /&gt;
 test_loss, test_acc = model.evaluate(x_test,  y_test, verbose=2)&lt;br /&gt;
 print(f'\nAkurasi pada data uji: {test_acc:.2f}')&lt;br /&gt;
 &lt;br /&gt;
 # Membuat prediksi&lt;br /&gt;
 probability_model = models.Sequential([model, &lt;br /&gt;
                                        layers.Softmax()])&lt;br /&gt;
 predictions = probability_model.predict(x_test)&lt;br /&gt;
 &lt;br /&gt;
 # Fungsi untuk memplot gambar dengan prediksi&lt;br /&gt;
 def plot_image(i, predictions_array, true_label, img):&lt;br /&gt;
     true_label, img = true_label[i][0], img[i]&lt;br /&gt;
     plt.grid(False)&lt;br /&gt;
     plt.xticks([])&lt;br /&gt;
     plt.yticks([])  &lt;br /&gt;
 &lt;br /&gt;
     plt.imshow(img, cmap=plt.cm.binary) &lt;br /&gt;
 &lt;br /&gt;
     predicted_label = np.argmax(predictions_array)&lt;br /&gt;
     if predicted_label == true_label:&lt;br /&gt;
         color = 'blue'&lt;br /&gt;
     else:&lt;br /&gt;
         color = 'red'&lt;br /&gt;
 &lt;br /&gt;
     plt.xlabel(f&amp;quot;{class_names[predicted_label]} ({class_names[true_label]})&amp;quot;, color=color)&lt;br /&gt;
 &lt;br /&gt;
 # Fungsi untuk memplot nilai prediksi&lt;br /&gt;
 def plot_value_array(i, predictions_array, true_label):&lt;br /&gt;
     true_label = true_label[i][0]&lt;br /&gt;
     plt.grid(False)&lt;br /&gt;
     plt.xticks(range(10))&lt;br /&gt;
     plt.yticks([])&lt;br /&gt;
     thisplot = plt.bar(range(10), predictions_array, color=&amp;quot;#777777&amp;quot;)&lt;br /&gt;
     plt.ylim([0, 1])&lt;br /&gt;
     predicted_label = np.argmax(predictions_array)&lt;br /&gt;
 &lt;br /&gt;
     thisplot[predicted_label].set_color('red')&lt;br /&gt;
     thisplot[true_label].set_color('blue')&lt;br /&gt;
 &lt;br /&gt;
 # Memvisualisasikan beberapa gambar beserta prediksinya&lt;br /&gt;
 num_rows = 5&lt;br /&gt;
 num_cols = 3&lt;br /&gt;
 num_images = num_rows * num_cols&lt;br /&gt;
 plt.figure(figsize=(2*2*num_cols, 2*num_rows))&lt;br /&gt;
 for i in range(num_images):&lt;br /&gt;
     plt.subplot(num_rows, 2*num_cols, 2*i+1)&lt;br /&gt;
     plot_image(i, predictions[i], y_test, x_test)&lt;br /&gt;
     plt.subplot(num_rows, 2*num_cols, 2*i+2)&lt;br /&gt;
     plot_value_array(i, predictions[i], y_test)&lt;br /&gt;
 plt.tight_layout()&lt;br /&gt;
 plt.show()&lt;br /&gt;
&lt;br /&gt;
'''Penjelasan Kode:'''&lt;br /&gt;
&lt;br /&gt;
1. '''Memuat dan Mempersiapkan Data:'''&lt;br /&gt;
* Dataset CIFAR-10 dimuat menggunakan `tensorflow.keras.datasets.cifar10.load_data()`.&lt;br /&gt;
* Data gambar dinormalisasi ke rentang 0 hingga 1 untuk mempercepat konvergensi model.&lt;br /&gt;
&lt;br /&gt;
2. '''Membangun Model CNN:'''&lt;br /&gt;
* Model Sequential Keras digunakan untuk menumpuk lapisan-lapisan jaringan.&lt;br /&gt;
* Tiga lapisan konvolusi (`Conv2D`) dengan fungsi aktivasi ReLU dan lapisan pooling (`MaxPooling2D`) ditambahkan untuk ekstraksi fitur.&lt;br /&gt;
* Lapisan flatten digunakan untuk meratakan output sebelum memasuki lapisan dense.&lt;br /&gt;
* Dua lapisan dense digunakan, yang terakhir memiliki 10 neuron sesuai dengan jumlah kelas.&lt;br /&gt;
&lt;br /&gt;
3. '''Kompilasi dan Pelatihan Model:'''&lt;br /&gt;
* Model dikompilasi dengan optimizer Adam dan fungsi loss `SparseCategoricalCrossentropy`.&lt;br /&gt;
* Model dilatih selama 10 epoch dengan data pelatihan dan divalidasi menggunakan data uji.&lt;br /&gt;
&lt;br /&gt;
4. '''Evaluasi Model:'''&lt;br /&gt;
* Model dievaluasi pada data uji untuk mendapatkan akurasi.&lt;br /&gt;
&lt;br /&gt;
5. '''Prediksi dan Visualisasi:'''&lt;br /&gt;
* Prediksi dibuat untuk data uji.&lt;br /&gt;
* Fungsi `plot_image` dan `plot_value_array` digunakan untuk menampilkan gambar beserta prediksi dan probabilitasnya.&lt;br /&gt;
* Beberapa gambar beserta prediksinya ditampilkan dalam grid.&lt;br /&gt;
&lt;br /&gt;
'''Catatan:'''&lt;br /&gt;
* Untuk mencapai akurasi yang lebih tinggi, Anda dapat menambahkan teknik augmentasi data atau menggunakan arsitektur model yang lebih kompleks.&lt;br /&gt;
* Pastikan Anda memiliki semua pustaka yang diperlukan terinstal, seperti TensorFlow dan Matplotlib.&lt;br /&gt;
&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>