Menyiapkan gambar masukan Anda
Model ResNet50 asli dilatih dengan gambar berukuran 224 x 224 piksel dan sejumlah operasi pra-pemrosesan; seperti pengurangan nilai piksel rata-rata pada himpunan data pelatihan untuk semua gambar pelatihan. Anda perlu melakukan pra-pemrosesan yang sama pada gambar yang akan diprediksi.
Saat melakukan prediksi pada satu gambar, Anda perlu menyesuaikannya dengan bentuk masukan model, yang dalam kasus ini seperti berikut:
(batch-size, width, height, channels). np.expand_dims dengan parameter axis = 0 menambahkan dimensi batch-size, yang merepresentasikan bahwa satu gambar akan diteruskan ke predict. Nilai dimensi batch-size ini adalah 1, karena kita hanya melakukan prediksi pada satu gambar.
Anda akan melalui langkah-langkah pra-pemrosesan ini saat menyiapkan gambar anjing (bernama Ivy) menjadi gambar yang dapat diklasifikasi oleh ResNet50.
Latihan ini merupakan bagian dari kursus
Pengantar Deep Learning dengan Keras
Instruksi latihan
- Impor
imagedaritensorflow.keras.preprocessingdanpreprocess_inputdaritensorflow.keras.applications.resnet50. - Muat gambar dengan
target_sizeyang sesuai untuk model Anda. - Ubah menjadi array dengan
image.img_to_array(). - Pra-proses
img_expandeddengan cara yang sama seperti gambar pelatihan ResNet50 asli diproses menggunakanpreprocess_input().
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Import image and preprocess_input
from tensorflow.keras.____ import ____
from tensorflow.keras.____.____ import ____
# Load the image with the right target size for your model
img = image.load_img(img_path, target_size=(____, ____))
# Turn it into an array
img_array = image.____(____)
# Expand the dimensions of the image, this is so that it fits the expected model input format
img_expanded = np.expand_dims(img_array, axis = 0)
# Pre-process the img in the same way original images were
img_ready = ____(____)