## IDENTIFIKASI IMAGE RECOGNITION WITH IMAGE BIRD CLASSIFICATION
Muhammad Zain Nur F 1 , Rifky Kurniawan 2 , Elfina Maulid 3 , Muhamad Soleh Fajari 4 , Mawarseh 5 , Retno Novarini 6 , Ahmad Karim Harahap 7 , Muhammad Taufik Syastra 8 , Yulia Irfayanti 9 , Sutrisno 10 , Elisabeth Kurnia Wijayanti 11 1,4,5,6,7,8 Sistem Informasi, STMIK IDS 2,3,9,10,11 Teknik Informatika, STMIK IDS email : soleh.fajari@ids.ac.id 4*
Abstrak: Safari  alam  adalah  aktivitas  mengamati  hewan  di  habitatnya,  seperti  burung,  di  alam  liar.  Banyak pengamat  mengalami  kesulitan  dalam  mengidentifikasi  spesies  burung,  sehingga  memerlukan  bantuan  Ilmu Zoologi.  Penelitian  ini  bertujuan  untuk  membantu  fotografer  mengidentifikasi  burung  dengan  menggunakan metode Deep  Learning ,  yaitu Convolutional  Neural  Network (CNN).  Arsitektur  CNN  yang  digunakan  adalah ResNet50V2, yang dikenal efektif untuk klasifikasi gambar. Data gambar burung diolah terlebih dahulu sebelum pelatihan model dilakukan. Hasil penelitian menunjukkan bahwa model yang telah dilatih mencapai tingkat akurasi 96%  dalam  mengidentifikasi  spesies  burung,  sehingga  memudahkan  fotografer  dalam  mengenali  jenis  burung yang diamati.
Kata Kunci : Zoologi , Jaringan Syaraf Konvolusional , Deep Learning, IDS Digital College .
Abstract: Nature  safari  is  an  activity  of  observing  animals  in  their  habitat,  such  as  birds,  in  the  wild.  Many observers  have  difficulty  in  identifying  bird  species,  so  they  need  the  help  of  Zoology. This  study aims  to  help photographers identify birds using the Deep Learning method, namely Convolutional Neural Network (CNN). The CNN architecture used is ResNet50V2, which is known to be effective for image classification. Bird image data is processed first before model training is carried out. The results of the study showed that the drilled model achieved an accuracy level of 96% in identifying bird species, making it easier for photographers to recognize the types of birds observed.
Keywords : Zoologi, Convolutional Neural Network (CNN), Deep Learning , IDS Digital College .

## PENDAHULUAN
Penelitian  terdahulu  telah  menunjukkan bahwa kegiatan pengamatan burung di alam liar, atau safari alam, memiliki daya tarik yang kuat baik bagi para hobiis maupun mereka yang mencari ketenangan dari  rutinitas  harian.  Sebagai  contoh,  penelitian mengenai keanekaragaman burung telah mengidentifikasi  ribuan  spesies  burung  di  seluruh dunia,  termasuk  sekitar  1.500  spesies  di  Indonesia. Selain itu,  studi mengenai  pengamatan burung telah mengungkapkan  manfaat  kesehatan  mental  yang signifikan,  seperti  ketenangan  dan  rasa  damai  yang diperoleh dari mendengar kicauan burung[1].
Meskipun  demikian,  terdapat  gap  yang  jelas dalam  literatur  terkait  alat  bantu  teknologi  untuk identifikasi spesies burung. Sebagian besar penelitian sebelumnya lebih berfokus pada aspek ekologis dan manfaat  kesehatan  dari  pengamatan  burung,  tanpa memberikan  solusi  praktis  bagi  pengamat  dalam mengidentifikasi  spesies  burung  di  lapangan. Penelitian  tentang  ilmu  zoologi  memang  membantu dalam  identifikasi  burung,  namun  metode  ini memerlukan  pengetahuan  dan  keterampilan  khusus yang tidak dimiliki oleh semua pengamat. Selain itu, penelitian  di  bidang  teknologi,  khususnya  yang menggunakan metode Deep Learning untuk klasifikasi gambar burung, masih terbatas. Beberapa
studi  yang  menggunakan  Convolutional  Neural Network  (CNN)  telah  menunjukkan  potensi  dalam klasifikasi gambar, namun belum banyak yang secara khusus  diterapkan  untuk  identifikasi  spesies  burung dalam konteks pengamatan alam liar. Oleh karena itu, penelitian  ini  bertujuan  untuk  mengisi  gap  tersebut dengan  mengembangkan  model  identifikasi  burung berbasis CNN, menggunakan arsitektur ResNet50V2. Penelitian  ini  tidak  hanya  akan  memberikan kontribusi  praktis  bagi  pengamat  dan  fotografer burung dalam mengenali spesies burung, tetapi juga akan  menambah  literatur  ilmiah  di bidang penggunaan teknologi Deep Learning untuk aplikasi dalam konservasi dan studi keanekaragaman hayati.

## TINJAUAN PUSTAKA
Kecerdasan Buatan atau Artificial Intelligence (AI)  merupakan  bidang  ilmu  komputer  yang  di terapkan dalam sistem komputer untuk memecahkan masalah  kognitif  yang  umumnya  terkait  dengan kecerdasan manusia, seperti pembelajaran, pemecahan masalah, dan pengenalan pola. Cara kerja AI  adalah  dengan  memanfaatkan  data  yang  diinput kedalam  mesin  komputer  dimana  data  yang diinputkan  ini  bertujuan  untuk  dipelajari  oleh komputer.  Di  sini,  programmer  adalah  pihak  yang biasanya memberikan data sebagai sumber
pengetahuan  untuk  AI.  Intinya  cara  kerja  AI  adalah analisis data, pemrosesan data, dan mempelajari pola maupun  fitur  dari  suatu  data.  Dengan  inputan  data yang  dipelajari  komputer  diharapkan  komputer  bisa menirukan  beberapa  kecerdasan  manusia,  seperti berpikir dan belajar. Sistem kecerdasan komputer ini bisa  dilatih  atau  dilakukan  pembelajaran  terhadap komputer  itu  sendiri  atau  biasa  disebut  dengan Machine  Learning  [2].  Machine  Learning  (ML) merupakan  salah  satu  cabang  ilmu  dalam  bidang kecerdasan  buatan  (Artificial  Intelligence,  AI) berfokus  pada  pengembangan  algoritma  agar  bisa mengambil keputusan sendiri berdasarkan data untuk belajar  dan  performa  pada  beberapa  tugas  melalui pengalaman  tanpa  diprogram  secara  eksplisit.  Salah satu tugas dalam machine learning adalah klasifikasi. Oleh  sebab  itu,  pada  klasifikasi  ML  membutuhkan data  untuk  dipelajari  yang  disebut  sebagai  data training atau data latih [3]. Klasifikasi adalah proses pengelompokan  objek  atau  data  ke  dalam  beberapa kelas  atau  kategori  berdasarkan  fitur-fitur  yang dimilikinya.
Convolutional Neural Network (CNN) merupakan  salah  satu  jenis  deep  learning  yang biasanya banyak digunakan pada data citra atau citra visual.  Oleh  sebab  itu,  CNN  adalah  algoritma  deep learning yang dapat melatih kumpulan data besar dan mengambil bentuk gambar 2D sebagai masukan, serta menggabungkannya dengan filter untuk menghasilkan  keluaran  yang  diinginkan.  Tujuan CNN  biasanya  digunakan  untuk  mendeteksi  dan mengenali  objek  pada  sebuah  gambar.  Cara  kerja pada  CNN  dengan  memproses  data  gambar  dengan cara membagi atau memotong menjadi area kecil dari sebuah  gambar  untuk  memahami  gambar  secara keseluruhan dengan hubungan antar neuron pada dua layer  yang  bersebelahan  [4].  Rectified  Linear  Unit, yang dikenal sebagai ReLU adalah cara paling umum dan  dasar  untuk  memperkenalkan  non-linearitas  ke dalam jaringan saraf [5].

## METODE
Penerapan  CNN  memiliki  input  layer,  hidden  layer dan  output  layer.  Tiga  lapisan  layer  berikut  dapat dilihat pada gambar berikut [4] :

## Gambar 1. Cara Kerja CNN
Berikut penjelasan setiap layer yang digunakan :
1. Convolutional Layer
Convolutional Layer menjadi bagian lapisan terluar yang bertugas untuk
mengidentifikasi proses dasar objek ke input
untuk menghasilkan  aktivasi. Berikut Gambaran pada bagian Convolutional Layer :

## Gambar 2. Convolutional Layer
Pada gambar 2 menggambarkan setiap posisi gambar menghasilkan  sebuah  angka.  Sama  hal  nya  yang  di gambarkan,  komputer  mengenali  gambar  dalam bentuk array dari nilai piksel pikselnya.

## Gambar 3. Proses Convolutional Layer
Gambar  3  menggambarkan  hasil  yang  di  dapatkan dari  sebuah  angka  merupakan dot  product dengan menggeser  filter  di  setiap  kernel  gambar  yang menghasilkan activation map .
Gambar 4. Ilustrasi Proses Convolutional Layer
Gambaran  proses  pada  4  merupakan  proses  yang
dapat dihitung sebagai output activation map dengan rumusan : (W-F +2P)/S +1 ………………………..1)
Dimana  W  adalah  volume  size  dari  inputan  gambar 2.8 (tinggi H1 = lebar W1), F merupakan filter size, P adalah padding value used, dan S adalah Stride atau pergeseran filter di setiap proses komputasi. Contoh pada kasus ilustrasi diatas (gambar 4) dengan inputan gambar  7  x  7  x  3  dimana  angka  3  yang  merupakan suku  ketiga  dari  perkalian  melambangkan  3  nilai RGB pada gambar. Lalu dengan filter (F) 3 x 3 x 3. Dengan S = 2 dan P = 1, maka output ( activation map ) yang  dihasilkan  berukuran  (7  –  3  +  2)/2  +  1  =  4. Proses  ini  diulang  dengan  beberapa  filter  berbeda, hingga  menghasilkan  output  gambar  baru  yang merupakan  kumpulan  dari  hasil  output activation maps (Gambar 4).

## Gambar 5. Hasil Proses Convolutional Layer
Oleh sebab itu, bila input sebuah convolutional layer adalah gambar dengan ukuran W1 x H1 x D1, output dari layer tersebut adalah sebuah output gambar baru dengan ukuran W2 x H2 x D2, dimana: W2 = (W1-F + 2P) / S + 1 = H2
D2 = K …………………………2) Diketahui : 1. K adalah jumlah filter yang digunakan.
2. F adalah ukuran dari filter (lebar/tinggi).
3. S adalah stride, atau besar pergeseran filter dalam konvolusi.
4.  P  adalah  padding,  jumlah  penambahan  nol  pada gambar.
2. Pooling Layer
Pooling Layer atau yang dikenal sebagai downsampling  ini  bertugas  untuk  menindaklanjuti identifikasi objek. Pooling layer adalah adalah layer yang  terdiri  dari  filter  dengan  ukuran  dan  stride tertentu  yang  bergeser  keseluruh  peta  pada  fitur. Tujuannya adalah untuk secara bertahap mengecilkan ukuran  ruang  atau  area  gambar  untuk  mengurangi jumlah  parameter  dan  komputasi  dalam  jaringan dalam  sebuah  objek  dengan  operasi  downsampling. Berikut gambaran pada pooling layer :

## Gambar 6. Pooling Layer
Pada (Gambar 6) terlihat bahwa kotak yang berwarna merah,  hijau,  kuning  dan  biru  pada  sisi  kiri merupakan  kelompok  kotak  yang  akan  dipilih  nilai maksimumnya.  Sehingga  hasil  yang  di  dapatkan adalah  kumpulan  kotak  berwarna  merah,  kuningn hijau,  dan  biru  dibagian  sebelah  kanan.  Dapat dijelaskan  bahwa  pada  proses  tersebut  terdapat max pooling yang  artinya  nilai  yang  didapatkan  adalah nilai maksimum dari kelompok kotak di sebelah kiri dan Average  pooling adalah  bagian  nilai  dari  hasil rata-rata  dari  kelompok  nilai  yang  ada  pada  bagian sisi kiri. Penggunaan pooling layer pada CNN hanya bertujuan  untuk  mereduksi  ukuran  citra  sehingga dapat  dengan  mudah  digantikan  dengan  sebuah convolution  layer dengan  stride  yang  sama  dengan pooling  layer yang  bersangkutan.  Stride  merupakan parameter yang menentukan berapa jumlah pergeseran  filter.  Jika  nilai  stride  adalah  satu,  maka filter  akan  bergeser  sebanyak  satu  piksel  secara horizontal lalu vertical .
3. Fully Connected Layer
Fully Connected Layer merupakan bagian akhir dari proses  lapisan.  Dimana  pada  bagian  ini  semua mendapatkan  informasi  dari  lapisan  sebelumnya sehingga menjadi inti dan semua manjadi terhubung. Tujuan  utama  dari fully  connected  layer merupakan untuk melakukan transformasi non-linear pada input yang  diberikan.  Setiap neuron dalam  layer  ini menerapkan  transformasi linier pada input yang diterimanya,  diikuti  dengan  fungsi  aktivasi non- linear . Transformasi linier dilakukan melalui operasi perkalian matriks antara vektor input dengan matriks bobot  ( weight  matrix )  dan  penambahan  bias  ( bias vector ). Output dari  setiap neuron adalah  hasil  dari fungsi  aktivasi  yang  diterapkan  pada  hasil transformasi linier tersebut.  Berikut  gambaran  dari fully connected layer :

## Gambar 7. Fully Connected Layer
Gambar di atas (Gambar 7) menunjukan bahwa setiap input  dari  vektor  input  mempengaruhi  setiap output dari  vektor output .  Namun,  tidak  semua  bobot mempengaruhi  semua output .  Seperti  pada  garis antara  setiap  node  di  atas.  Garis orange tersebut mewakili neuron pertama  dari  lapisan.  Jadi  bobot neuron ini  hanya  mempengaruhi  keluaran  A,  dan tidak  berpengaruh  pada  keluaran  B,  C  atau  D. Umumnya fully  connected  layer dilakukan  dengan mengalikan  bobot  dari  setiap neuron pada layer sebelumnya  dengan input dari  setiap neuron pada layer saat ini. Setelah itu, bias ditambahkan pada hasil perkalian  tersebut.  Hasil  akhir  dari  perhitungan  ini akan  menjadi input untuk layer sebagai  perkalian matriks  sederhana  dengan  penambahan  vektor  bias dan menerapkan fungsi non-linear . ResNet merupakan  singkatan  dari Residual  Network dan merupakan  jenis  spesifik  dari convolutional  neural network (CNN) ResNet50V2 adalah sebuah arsitektur  jaringan  saraf  konvolusional  yang  dapat digunakan  untuk  klasifikasi  citra  yang  memiliki empat puluh sembilan lapisan konvolusi, satu lapisan Maxpool  dan  satu  lapisan averagepool .  Selain  itu, ResNet  merupakan pretrained model  atau  model yang  telah  dilatih  sebelumnya  sehingga  tidak memerlukan  konfigurasi  khusus  untuk  mengatur layer di dalamnya [6].

## Gambar 8. Arsitektur Resnet50V2
Prinsip  kerja  ResNet  merupakan  membangun jaringan  yang  lebih  dalam  dibandingkan  dengan jaringan  biasa  lainnya  dan  secara  bersamaan menemukan jumlah lapisan yang dioptimalkan untuk meniadakan masalah gradien yang hilang [7]. Berikut arsitektur Resnet50V2 (Gambar 8).
Checkpoint merupakan teknik yang digunakan  untuk  menyimpan  bobot  model  selama proses  pelatihan.  Checkpoint  memiliki  fungsi  atau biasa  digunakan  untuk  melanjutkan  pelatihan  dari titik  yang  disimpan,  atau  untuk  menginisialisasi parameter  model  baru  dengan  bobot  dan  bias  yang sudah  dilatih.  Pada  chekpoint  ini  bobot  akan digunakan untuk membuat prediksi apa adanya atau sebagai  dasar  untuk  pelatihan  berkelanjutan  untuk menunjukkan keakuratan model dalam pengklasikiasian jenis burung [8] digambarkan pada (Gambar 9).

## Gambar 9. Checkpoint
Sementara pos pemeriksaan menyediakan cara untuk melakukannya  memulai  ulang  aplikasi  jika  gagal, penting  untuk  memastikannya  saat  restart,  perilaku aplikasi  tersebut  dipertahankan.  Hal  ini  memastikan reproduktifitas  dan  validasi.  Terlebih  lagi,  memang demikian penting bagi peneliti yang ingin menganalisis  perilaku  aplikasi  DL  dalam  keadaan tertentu[9]. Penelitian terdahulu  menggunakan Cifar [10]  kumpulan  data  karena  menyediakan  jumlah gambar yang memadai  izinkan pelatihan DL selesai dalam  waktu  eksekusi  yang  dapat  diterima  oleh karena itu ideal untuk eksperimen. Reagen dkk [11] mengusulkan  kerangka  kerja  untuk  mengukur ketahanan DNN. Qiao dkk. Al. [12] juga mengukur dampak  kesalahan  pada  algoritma  konvergen interaktif dan mereka mengusulkan strategi berdasarkan  pos  pemeriksaan  untuk  mentolerir kesalahan dalam pelatihan terdistribusi. Baru-baru ini Nicolae  dkk  [13]  mengusulkan  sebuah  pos pemeriksaan kerangka kerja berdasarkan VeloC [14]
yang  bertindak  sebagai  jembatan  ke  teknik  canggih yang digunakan dalam pos pemeriksaan HPC multi- level,  memanfaatkan  pola  I/O,  paralelisme  berlapis, dan properti pelatihan paralel data sinkron. Menjadi toleransi  kesalahan  sisi,  [15]  pos  pemeriksaan digunakan  untuk  mengurangi  penggunaan  memori saat  melatih  jaringan  saraf  dalam  dengan  algoritma propagasi balik.

## HASIL DAN PEMBAHASAN
Dataset  yang  digunakan  dalam  penelitian  ini merupakan sekumpulan gambar hewan jenis burung yang  sudah  didapatkan  menjadi  satu  dari  berbagai spesies  burung  yang  ada  dengan  berikut  cara mendapatkan sekumpulan gambar dataset tersebut:

## Gambar 10. Load Dataset
Seperti  pada  (Gambar  10)  diatas  hal  itu  dilakukan untuk  mendapatkan  dataset  yang  diinginkan  dengan dataset  berjumlah  500  folder  data  atau  lebih  kurang 84.000 jumlah gambar dan terdiri dari beberapa jenis burung yang berpose berdiri, menghadap menyamping dan juga menghadap ke depan. Berikut beberapa contoh dari gambaran folder gambar burung yang didapatkan (Gambar 11).

## Gambar 11. Folder Dataset
Sebelum  melakukan  Implementasi  menggunakan metode  Convolutional  Neutral  Network  (CNN), dataset akan melalui tahap persiapan dan pengolahan. Persiapan  yang  dilakukan  adalah  pada  function CallBack yang bertujuan untuk memanggil class agar pada  saat  training  dapat  disimpan  sebagai  catatan class untuk  training nanti.  Lalu  lanjut pada function get data dimana setelah mencatat class pada function callback  get  data  akan  mengambil  dataset  yang diperlukan dengan inisiasi sebagai train_ds, validation_ds,  dan  test_ds,  dilanjut  pada  function gradcam dimana gambar yang sudah didapatkan tadi akan  dibuatkan  visualisasi  dengan  teknik  gradcam heatmap dan terakhir lanjut pada fase Preprocessing yang  merupakan  tahap  akhir  pada  data  preparation dengan memproses semua tahap sebelumnya menjadi data  yang  akan  diproses  pada  bagian  implementasi atau tahap training.
Gambar 12. Data Preparation

## 1. Function CallBack
Pada  Function  CallBack  terdapat  step  dimana  jika fungsi  ini  dijalankan  akan  melakukan  pencatatan pada  saat  pelatihan  (training)  dilakukan  nantinya, dimana  sebelum  pencatatan  fungsi  tersebut  akan function callback akan memanggil class pada dataset untuk untuk memantau dan mencatat statistik selama proses  training  model  nanti  fungsi  ini  digambarkan pada (Gambar 13).

## Gambar 13. Source CallBack

## 2. Function Get Data
Pada function ini  merupakan  function  untuk pengembilan data setelah CallBack dilakukan untuk disimpan  nantinya  pada  saat  training.  Dengan function ini dataset yang dipunya akan didefinisikan datasetnya dengan inisiasi sebagai train_ds , validation_ds ,  dan  juga test_ds berikut  tampilan gambar pada function get data (Gambar 14).
Setelah data yang diperlukan sudah siap atau terambil data tersebut akan dilakukan get_predictions dimana pada function  get_predictions ini  akan  melakukan prediksi menggunakan model jaringan saraf terhadap suatu dataset latih  dan  mengklasifikasikan  hasil prediksi tersebut yang terlihat pada (Gambar 15).

## Gambar 15. Prediction
3. Function GradCam
Function
GradCam ( Gradient-weighted Class Activation Mapping ) yang bertujuan untuk melakukan visualisasi menggunakan teknik GradCam . Teknik Gradcam sendiri merupakan suatu teknik  yang  memungkinkan  kita  untuk  memahami bagian  mana  dari  gambar  yang  paling  berkontribusi terhadap hasil prediksi model.

## Gambar 16. GradCam Bird
Pada  keterangannya  (Gambar  16)  merupakan  salah satu  jenis  burung  yang  ada  pada  dataset  yaitu  jenis burung scarlet crowned fruit dove dengan salah satu teknik  GradCam  yaitu  heatmap  atau  visual  suhu panas  agar  dapat  memahami  dan  mengilustrasikan bagian-bagian  penting  dari  gambar  yang  paling mempengaruhi  hasil  prediksi  dari  model  jaringan saraf konvolusi (CNN) pada tugas klasifikasi gambar.
4. PreProcessing
Pada  PreProcessing  adalah  tahap  akhir  dalam PreParation  dimana  pada  tahap  Preprocessing  ini akan  melakukan  persiapan  proses  data  untuk  dilatih nantinya  dengan  menentukan  ukuran  gambar,  batch size,  dan  jumlah  class  yang  terlihat  pada  (Gambar 17).

## Gambar 17. Ukuran Gambar
Setelah menentukan ukuran, batch dan jumlah class, masuk  pada  bagian  ImageDataGenerator  yang merupakan  salah  satu  dari  tensorflow  keras  untuk menghasilkan generator data gambar untuk pelatihan, validasi,  dan  pengujian  model  jaringan  saraf  tiruan (neural network) pada tugas klasifikasi gambar.

## KESIMPULAN DAN SARAN
Pada  penelitian  ini  Convolutional  neural network  (CNN)  dapat  menyimpulkan  bahwa  CNN dapat mendeteksi jenis burung menggunakan gambar dengan  arsitektur  atau  structure  CNN  yang  dipakai ialah  ResNet50V2  yang  merupakan  salah  satu  jenis arisitektur  CNN  sebagai  model  yang  dipakai  untuk pelatihan  atau  training  model  dengan  proses  yang telah  dilakukan  sebelumnya  yaitu  pada  proses preparation dengan mengubah gambar dan menggunakan  teknik  GradCam  Heatmap  dimana gambar yang dipakai telah dilakukan visualisasi suhu panas  agar  dapat  memahami  dan  mengilustrasikan bagian-bagian  penting  dari  gambar  yang  paling mempengaruhi  hasil  prediksi.  Hasil  evaluasi  pada penilitian  ini  didapati  bahwa  akurasi  gambar  yang dilatih dengan menggunakan 15 epoch adalah sebesar 0.9612 dengan Val loss 0.3578.
Saran  yang  dapat  peneliti  berikan  sebagai berikut : Dengan menambahkan data gambar kategori atau  jenis  burung  lainnya  agar  lebih  lengkap pengklasifikasian  jenis  burung  yang  ada,  Dengan membuat  atau  melatih  gambar  jenis  burung  dengan pose yang berbeda-beda atau lebih bervariatif dalam pose burung.

## DAFTAR PUSTAKA
[1] W.  Nengsih,  A.  and  A.  P.  Lestari,  "Classification  of cendrawasih  birds  using  convolutional,"  ILKOM Jurnal Ilmiah, vol. 13, 2021.
[2] p.  jimmy,  "IMPLEMENTASI  DEEP  LEARNING MENGGUNAKAN  CONVOLUTIONAL  NEURAL NETWORK UNTUK KLASIFIKASI ALAT TULIS," Yogyakarta, 2018.
[3] A.  Abu,  "Mengenal  Artificial  Intelligence,  Machine Learning, Neural Network, dan Deep Learning," 2017.
[4] I.  W.  S.  E.P,  A.  Y.  Wijaya  and  R.  Soelaiman, "Klasifikasi Citra Menggunakan Convolutional (Cnn) pada Caltech 101," Jurnal Teknik ITS, vol. 5, p. A66, 2016.
[5] A.  Rohim,  A.  Y.  Sari  and  T.  ,  Convolution  Neural Network(CNN) Untuk Pengklasifikasian Citra Makanan Tradisional, vol. 3, p. 7038, 2019.
[6] V.  R.  Setyaning,  R.  A.  Muhammad  and  B.  P.  Putra, "Pendeteksi  Bahasa  Isyarat  Gestur  Tangan  dengan Menggunakan Model," JURNAL RESTI, vol. VI, pp. 1-8, 2022.
[7] R.  A  and  S.  ,  "Penerapan  Metode  Residual  Network (Resnet)  Dalam  Klasifikasi  Penyakit  Pada  Daun Gandum," JIPI, vol. VII, pp. 58-65, 2022.
[8] F.  Charli,  M.  Akbar,  S.  Sauda  and  F.  Panjaitan, "implementasi  Metode  Faster  Region  Convolutional Neural," Journal of Information Technology Ampera, vol. I, p. 7, 2020.
[9] O.  E.  Gundersen  and  S.  Kjensmo,  “State  of  the  art: Reproducibility in artificial intelligence,” 2018.
[10] A.  Krizhevsky,  G.  Hinton  et  al.,  “Learning  multiple layers of features from tiny images,” 2009.
[11] B. Reagen, U. Gupta, L. Pentecost, P. Whatmough, S. K. Lee, N. Mul holland, D. Brooks, and G. Wei, “Ares:
A  framework  for  quantifying  the  resilience  of  deep neural  networks,”  in  2018  55th  ACM/ESDA/IEEE Design Automation Conference (DAC), 2018, pp. 1– 6.
[12] A.  Qiao,  B.  Aragam,  B.  Zhang,  and  E.  Xing,  “Fault tolerance in iterative convergent machine learning,” in Proceedings  of  the  36th  International  Conference  on Machine  Learning,  ser.  Proceedings  of  Machine Learning Research, K. Chaudhuri and R. Salakhutdinov, Eds., vol. 97. Long Beach, California, USA:  PMLR,  09–15  Jun  2019,  pp.  5220–5230. [Online]. Available: http://proceedings.mlr.press/v97/qiao19a.html
[13] B.  Nicolae,  J.  Li,  J.  M.  Wozniak,  G.  Bosilca,  M. Dorier,  and  F.  Cappello,  “Deepfreeze:  Towards scalable asynchronous checkpointing of deep learning models,” in 2020 20th IEEE/ACMCCGRID, 2020, pp. 172–181.
[14] B. Nicolae, A. Moody, E. Gonsiorowski, K. Mohror, and F. Cappello, “Veloc: Towards high performance adaptive asynchronous checkpointing at large scale,” in  2019  IEEE  International  Parallel  and  Distributed Processing Symposium (IPDPS), 2019, pp. 911–920.
[15] O.  Beaumont,  J.  Herrmann,  L.  Eyraud-Dubois,  J. Hermann,  A.  Joly,  and  A.  Shilova,  “Optimal checkpointing for heterogeneous chains: how to train deep neural networks with limited memory,” 2019.