Video ini masih menggunakan jcopdl 1.x, sedangkan di jcopdl 2.x sudah tidak ada set_config lagi. Apabila menggunakan colab, jangan kaget kalau muncul error >> ImportError: cannot import name 'set_config' from 'jcopdl.callback' Solusinya? - Di colab, pastikan instal jcopdl 1.x, bukan jcopdl 2.x >> pip install "jcopdl
@angelaaroberto3 жыл бұрын
Baru belajar CNN buat bahan skripsi. Makasih Mas Wira buat videonya!
@kelixoderamirez2 жыл бұрын
izin belajar mas.trmksh
@fikiaviantono5347 Жыл бұрын
Mas Wir Mau bertanya mas, saya ada data training sejumlah 2000 data, nah kan saya mau augmentasi data, setelah saya augmentasi resize croping dll, setelah dilihat data trainset nya ko tetep 2000 ya mas wir, katanya fungsi nya augmentasi untuk penambagan data?
@JCOpUntukIndonesia Жыл бұрын
data nya di augmentasi on-the-fly, bukan tiap augment lalu di save. Augmentasi untuk menambah "variasi data yang dilihat model", jadi data aslinya ya tetap 2000 ya. Boleh baca juga comment medycha emhandyksa beserta jawabannya.
@dandysatrio2689 Жыл бұрын
Mas Wir.. kalau gambarnya adalah CT scan paru-paru, apa boleh tetap dihorizontal flip? Karena ada artikel yang saya temukan pakai horizontal flip
@JCOpUntukIndonesia Жыл бұрын
Better jangan. Ga benefit ke klasifikasi akhir nya. Tujuan augmentasi itu untuk menambah variasi. Variasi yang ditambahkan menyesuaikan apa yang akan ditemukan di data uji / data baru yang akan diprediksi. Bahkan misal kalau nanti di data realnya mesin nya sangat rapi dan canggih sehingga xray paru nya 100% tegak, maka kita juga better jangan tambahkan random rotation. Cuman kalau kenyataannya nanti xray paru bisa miring" sedikit, ya tentu kita perlu menambahkan augmentasi tersebut. Selalu kembali ke kondisi yang bakal ditemui
@dandysatrio2689 Жыл бұрын
@@JCOpUntukIndonesia oh okee... Tanya lagi Mas Wir. Kalau saya punya data training, validasi, dan testing. Apakah augmentasi digunakan untuk data training dan validasi atau untuk training saja?
@JCOpUntukIndonesia Жыл бұрын
@@dandysatrio2689 training saja
@dandysatrio2689 Жыл бұрын
@@JCOpUntukIndonesia kenapa data validasi kok tidak?
@JCOpUntukIndonesia Жыл бұрын
@@dandysatrio2689 supaya menyerupai kondisi data test, dan yang paling penting, memastikan data sama labelnya masih valid. Augmentasi ada risiko membuat labelnya salah. Misal labelnya cat, tapi setelah di crop, cat nya saja sudah ga ada di gambar atau ga terlihat lagi. Tapi kan kita jadinya tetap minta mesin sebut itu cat. Ya pas training ga masalah, tapi di validation dan test kita mau pastikan label tetap sesuai dengan gambarnya. Jangan lupa juga tujuan kita ada validation set kan untuk tuning ya. Untuk compare dengan model yang berbeda agar kita bisa decide model mana yang mau dipakai. Kalau validation nya berbeda dan berubah terus (karena augmentasi), maka tidak valid karena tidak adil dan tidak apple to apple. Layaknya seperti ada 2 murid, saya kasih quiz dengan 2 soal berbeda. Nilai quiz mereka kan jadi ga apple to apple kan? Hahaha
@gilagame89075 ай бұрын
Mas mau tanya kalau data image nya sulit dibedakan misal telapak tangan, itu proses segmentasinya seperti apa ya?. Mohon dijawab terimakasih
@JCOpUntukIndonesia4 ай бұрын
Segmentasi atau Augmentasi? Kemudian telapak tangan nya nanti dipakai untuk apa? klasifikasi gitu? Berdasarkan garis tangan dan warna kulitnya gitu?
@gilagame89074 ай бұрын
@@JCOpUntukIndonesia segmentasi nya mas, itu digunakan untuk absensi jadi nanti model mendeteksi garis telapak tangan. nah saya bingung untuk proses segmentasinya harus bagaimana. mohon jawabannya mas
@gilagame89074 ай бұрын
saya sudah mencoba beberapa metode segmentasi tapi model tetap sulit untuk mengenali telapak tangan dan tingkat akurasinya masih sangat rendah. mungkin mas nya punya saran
@JCOpUntukIndonesia4 ай бұрын
@@gilagame8907 Video ini tidak bahas segmentasi sih. Yang ini bahasnya augmentasi. Jadi berbeda ya. Untuk absensi berdasarkan garis telapak tangan juga tidak butuh segmentasi. Kalau untuk proses absensi menggunakan palm print, maka sistemnya sama seperti absensi menggunakan wajah. Pertama kita butuh model untuk encode image nya. Bisa train baru, bisa pakai pretrained model (yang di fine-tune), atau bisa pakai pretrained model spesifik untuk task tersebut. Misal kalau untuk wajah, maka bisa pakai FaceNet yang sudah di train ke banyak wajah. Setelah sudah ada model encoder nya, maka pengguna diminta dulu untuk "mendaftarkan wajahnya". Jadi foto wajah itu di depan mesin absensi nya, kemudian di encode dengan FaceNet, dan embedding nya itu disimpan ke vector DB. Nanti saat mau absensi, proses nya sama. Wajah orang di depan mesin akan diencode pakai FaceNet, jadi embedding. Embedding itu akan dicari apakah ada yang match atau similarity nya tinggi dengan yang sudah teregistrasi di vector DB kita. Kalau ada, maka absensi berhasil. Kalau tidak ya orang yang tidak dikenal, dan mesti registrasi dulu. Semua proses ini sama jika mau pakai palm print (garis telapak tangan). Maka perlu train dulu encoder dari banyak gambar telapak tangan, atau fine-tune dari pretrained model, atau ya cari pretrained model spesifik yang sudah di train untuk encode palm print. Sisanya prosesnya sudah persis sama seperti absensi wajah.
@dimassetiyadi3152 жыл бұрын
apakah setelah diaugmentasi, gambar auto ke save didirectory kita?
@JCOpUntukIndonesia2 жыл бұрын
Tidak... Itu in-memory untuk efisiensi storage dan juga kecepatan komputasi. Kalau mau di save juga sebenarnya bisa, tapi tentu code nya berbeda. Walau demikian menurut saya tidak ada kebutuhan untuk kita save
@codemylife86002 жыл бұрын
@@JCOpUntukIndonesia Malam mas,kalau boleh tau ada referensi cara menampilkan jumlah gambar yg di augmentasi tidak ya ? atau paling tidak jumlah data yg bertambah ketika kita melakukan augmentasi.Semisal data awal kita 1000 dilakukan zoom dan rotate,data kita yg ditraining itu berapa?
@JCOpUntukIndonesia2 жыл бұрын
@@codemylife8600 Model kita tidak akan pernah melihat data asli lagi. Semua data akan selalu melalui proses augmentasi karena itu sudah jadi pipeline kita. Oleh sebab itu, misal training nya memakan 15 epoch, maka di tiap epoch itu datanya beda semua (hasil augmentasi). Jadi 1000 data * 15 = 15000 "data"
@codemylife86002 жыл бұрын
@@JCOpUntukIndonesia Berarti pada kasus google colab dimana terdapat variable yg bernama steps_per_epoch yg bisa kita isi sesuai keinginan misalnya saya isi 10 dengan batch_size = 64.Data tiap training itu 10*64=640 ya mas ? dengan epochs = 15 maka 640*15 = 9600 data Model data training kita menjadi 9600 data/gambar yg berbeda dengan data training awal kita (1000) ?
@JCOpUntukIndonesia2 жыл бұрын
@@codemylife8600 steps_per_epoch itu tidak ada di colab, maupun PyTorch. steps_per_epoch itu kan punyanya Keras ya. Secara definisi, 1 epoch itu ketika kita sudah mengarungi seluruh data kita. Jadi misal kita ada 320 data, tidak peduli batch size kita berapa, sampai akhirnya semua 320 data sudah di backprop barulah kita sebut 1 epoch. Di kasus steps_per_epoch itu adalah settingan untuk merubah definisi apa itu 1 epoch. Misal steps_per_epoch = 5, artinya setelah melakukan 5 step, maka akan dianggap 1 epoch telah berlalu. step itu adalah 1 minibatch. Misal tadi kita ada 320 data, batch_size kita 32. Maka butuh 10 step untuk mencapai 1 epoch, kecuali tapi mas ganti definisi steps_per_epoch jadi 5, artinya baru 5 step (setengah data diarungi) sudah dianggap 1 epoch. Ingat! data aslinya ya tetap 320 saja, hanya tiap dipakai selalu akan dimodifikasi / diaugmentasi dulu baru dimasukkan ke network. Jangan claim kalau kita ada ribuan data ya. Data training kita hanya 320 data, dengan augmentasi A B C. Total kombinasi data hasil augmentasi nya ya tergantung seberapa lama itu di train, yang sebaiknya tidak dikunci "saya mau train x epoch", tapi mesti dinamis dan menggunakan early stopping. Jadi kita tidak akan bisa claim dari awal berapa banyak kombinasi data yang akan terbentuk karena kita tidak tahu berapa epoch model nya akan training hingga EarlyStopping nya di trigger. Semoga menjawab
@medychaemhandyksa9853 Жыл бұрын
Mohon izin bertanya kak, saya punya data asli sebanyak 200, kemudian saya coba untuk training sebanyak15 epoch dengan dan tanpa augmentasi, augmentasi yang saya gunakan 2 metode yaitu horizontal dan vertical flip. Hasil akhirnya saya simpan di folder, jumlah data yang menggunakan augmentasi dan tanpa augmentasi memiliki jumlah yang sama yaitu 3000 data. Apakah ini berarti tanpa augmentasipun sebenarnya data asli sudah diperbanyak melalui jumlah epoch? lalu metode augmentasinya berperan untuk apa ya kak? terima kasih kak.
@JCOpUntukIndonesia Жыл бұрын
jumlah data tetap akan sama, yaitu 200 kalau ada augmentasi, jumlah variasi yang meningkat, kalau tanpa augmentasi maka jumlah variasi data akan sama dengan jumlah data. Ketika dengan augmentasi, maka di setiap epoch nya akan dibuat variasi baru. Tanpa augmentasi, variasi tetap 200, bukan 3000, karena itu hanya 200 gambar yang diulang-ulang, bukan artinya diperbanyak. Jadi augmentasi disini berperan agar mesin tidak terlalu "menghapal" dan diharapkan dapat melakukan prediksi yang sama baiknya walau terdapat gangguan dan variasi-variasi tertentu. Kita ga mau self driving car bisa mengenal rambu jalan, tapi kalau mendung sedikit (jadi agak gelap) langsung prediksinya ngaco. Itulah mengapa di kasus tersebut, kita akan sengaja kasih augmentasi brightness misal, tapi kalau dari dataset nya sudah ada variasi terang gelap nya, ya tidak perlu augmentasi lagi. Augmentasi hanya bersifat sintetis kalau memang dataset ya tidak mencakup kasus yang kita harapkan mesin bisa lakukan.
@medychaemhandyksa9853 Жыл бұрын
@@JCOpUntukIndonesia Baik kak terima kasih banyak atas ilmunya 🙏 sukses dan sehat selalu kak..
@farhanacuy4 жыл бұрын
mas wir mau tanya kasus gambar gedung dibalik. mas wir bilang kalau gambar tersebut masih dipahami manusia, brarti datanya masih make sense kalo menurut saya, kemungkinan besar manusia masih paham kalo gedung/gunung dibalik. apakah mungkin mesin juga bisa paham?
@JCOpUntukIndonesia4 жыл бұрын
Make sense tidaknya kembali ke kebutuhan. Modelnya nanti kan bakal dipakai untuk prediksi, apakah diharapkan mampu memprediksi yang sepertti itu? Apakah kasus seperti itu mungkin terjadi? Kalau tidak, ya ga perlu sih model kita untuk memahami sampai sejauh itu.
@farhanacuy4 жыл бұрын
Oh oke deh mas, makasih banyak atas responnya mas wir 🙏