Files
zeavis-edu/Machine_Learning/__pycache__/preprocessing.cpython-312.pyc
T

138 lines
24 KiB
Plaintext
Raw Normal View History

Ë
�++j†Gã óV—ddlZddlZddlZddlZddlZddlZddlmZddlm Z m
Z
ejejd¬«eje«Zgd¢ZdZdZd ZdZd
d
d d d d d d d
œZgd¢Zd\ZZdZdZd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%d„Z&d„Z'd„Z(d „Z)ed!k(�rwejUd"«ed#e«ed$e«ed%e«e «e"«e$«e%«e&«e'«e(«e)«ejUd&«ejVjYe«rædZ-e.ej^e««D]³Z0ejVjcee0«Z2ejVjge2«sŒ;e4ej^e2«D�cgc]:}ejVjkejVjce2|««sŒ9|‘Œ<c}«Z6e-e6z
Z-ejUd'e0›d(e6›d)�«ŒµejUd*e-›d)�«yyycc}w)+éN)ÚPath)ÚImageÚUnidentifiedImageErrorz'%(asctime)s [%(levelname)s] %(message)s)ÚlevelÚformat)ú
dataset_1.zipú
dataset_2.zipú
dataset_3.zipÚdatasetzndisan/corn-leaf-diseasez1smaranjitghose/corn-or-maize-leaf-disease-datasetú
Hawar Daunú Bercak Daunú
Karat Daun)u 大斑病u å°�æ–‘ç—…u è¤�æ–‘ç—…u弯孢霉å�¶æ–‘ç—…u 圆斑病u ç�°æ–‘ç—…u å�—方锈病u 普通锈病)z CBS28.jpgzCorn_Common_Rust (1275).jpgzCorn_Common_Rust (1289).jpgzCorn_Common_Rust (1295).jpgzCorn_Gray_Spot (1).jpg)é rg@icóh— ddl}tjdt›d�«|j t«}tjd|›�«|S#t
$rtj
d«Yyt$r7}tj
d|›�«tj
d«Yd}~yd}~wwxYw) z:Download dataset_1 (ndisan/corn-leaf-disease) from Kaggle.rNz% Downloading dataset_1 from Kaggle: ú...z [OK] dataset_1 downloaded to úE [SKIP] kagglehub not installed. Install with: pip install kagglehubz$ [FAIL] dataset_1 download failed: zX Please download manually from https://www.kaggle.com/datasets/ndisan/corn-leaf-disease)Ú kagglehubÚlogÚinfoÚ
KAGGLE_DS1Údataset_downloadÚ ImportErrorÚwarningÚ Exception©rÚpathÚes ú9/home/asephs/ZeaVis-Edu/Machine_Learning/preprocessing.pyÚdownload_dataset_1r6s•€ð ÛÜ �‰Ð8¼¸ ÀCÐHÔIØ×)Ñ)¬*Ó5ˆÜ �‰Ð2°4°&Ð9Ô:؈ øÜ òÜ � ‰ Ð[Ô\ÙÜ òÜ � ‰ Ð:¸1¸#Ð>Ô?Ü � ‰ ÐnÔoÜûðúó‚AAÁB1Á2B1Á:-B,Â,B1cóh— ddl}tjdt›d�«|j t«}tjd|›�«|S#t
$rtj
d«Yyt$r7}tj
d|›�«tj
d«Yd}~yd}~wwxYw) zSDownload dataset_2 (smaranjitghose/corn-or-maize-leaf-disease-dataset) from Kaggle.rNz% Downloading dataset_2 from Kaggle: rz [OK] dataset_2 downloaded to rz$ [FAIL] dataset_2 download failed: zq Please download manually from https://www.kaggle.com/datasets/smaranjitghose/corn-or-maize-leaf-disease-dataset)rrrÚ
KAGGLE_DS2rrrrrs rÚdownload_dataset_2r#Gs›€ð ÛÜ �‰Ð8¼¸ ÀCÐHÔIØ×)Ñ)¬*Ó5ˆÜ �‰Ð2°4°&Ð9Ô:؈ øÜ òÜ � ‰ Ð[Ô\ÙÜ òÜ � ‰ Ð:¸1¸#Ð>Ô?Ü � ‰ ðHô IÜûðúr có—d} ddl}|j|«}tjd|›�«|S#t$rYnwxYwtj d«tj d«tj d«y)z¹Download dataset_3 (SciDB China Agricultural Dataset).
Attempt: Kaggle alternative host, then Google Drive, then warn.
If all fail, user must download manually from SciDB.
z0disease-identification/corn-leaf-disease-chineserNz2 [OK] dataset_3 downloaded from Kaggle mirror to z9 [SKIP] dataset_3 could not be downloaded automatically.z Please download manually from:zM https://www.scidb.cn/en/detail?dataSetId=19536c73f6d74946a212719a94f53ab3)rrrrrr)Ú
KAGGLE_DS3rrs rÚdownload_dataset_3r&Xsy€ðD€Jð
ÛØ×)Ñ)¨*Ó5ˆÜ �‰ÐEÀdÀVÐLÔM؈ øÜ ò
Ù ð
úô‡K�KÐKÔL܇K�KÐ2Ô3܇K�KÐ_Ô`Ø s „.3³ ?¾?có0—|�tjj|«sy tj|j dd«d|«t jd|›d|›�«y#t$r%}t jd |›d
|›�«Yd}~yd}~wwxYw) zLCopy kagglehub download into a local ZIP so extraction step works unchanged.NFz.zipÚÚzipz [OK] Packed ú -> Tz [FAIL] Could not pack ú: )
ÚosrÚexistsÚshutilÚ make_archiveÚreplacerrrr)Úsrc_pathÚtarget_zip_namers rÚcopy_kaggle_downloadr3nsˆ€àМrŸw™wŸ~™~¨hÔ7ØðÜ×јO×3Ñ3°F¸BÓ?ÀÈÔQÜ �‰�> ( ¨4°Ð/@ÐAÔBØøÜ òÜ � ‰ Ð.¨x¨j¸¸1¸#Ð>Ô?Üûðús¤AA'Á' BÁ0BÂBcóÒ—tjj|«rtj d|›d�«ytj d|›d�«|«}|€yt ||«S)z3Attempt auto-download if ZIP doesn't exist locally.z
[CACHE] z# already exists, skipping download.Tz--- Downloading z ---F)r,rr-rrr3)Úzip_nameÚ download_fnrs rÚdownload_datasetr7|s]€ä ‡w�w‡~�~�hÔÜ �‰�:˜h˜ZÐ'JÐKÔLØÜ‡H�HР˜z¨Ð
.Ô/Ù ‹=€DØ €|Øä   hÓ /Ð/ócó>—tjd«tD]Á}tjj |«r‡tjj
|«d}tj|d¬« tj|d«5}|j|«ddd«tjd|›d|›d�«Œ©tjd |›d �«ŒÃy#1swYŒBxYw#tj$rtjd |›d
�«YŒÿwxYw)
Nz%--- TAHAP 1: Mengekstrak File ZIP ---rT©Úexist_okÚrú [OK] r*ú/z
[ERROR] z rusak.z [SKIP] File z0 tidak ditemukan. Beberapa kelas mungkin kosong.)rrÚ
DAFTAR_ZIPr,rr-ÚsplitextÚmakedirsÚzipfileÚZipFileÚ
extractallÚ
BadZipFileÚerrorr)Úzip_fileÚ folder_nameÚzip_refs rÚekstrak_semua_ziprJŒsí€Ü‡H�HÐ
4Ô5Üò eˆÜ
�7‰7�>‰>˜(Ô #ÜŸ'™'×*Ñ*¨8Ó4°QÑ7ˆKÜ �K‰K˜ ¨dÕ 3ð
:Ü—_‘_ X¨sÓ3ð4°wØ×&Ñ& {Ô3÷4ä—‘˜7 8 *¨D°°
¸QÐ?Õ@ô
�K‰K˜.¨¨
Ð2bÐcÕ dñ e÷
4ð4ûô×%Ñ%ò
:Ü— ‘ ˜J x j°Ð8Ö9ð
:ús*Á8C-ÂC! $C-Ã!C* Ã&C-Ã-,DÄDcó‡—tjj|«sytj|«D]H}|j «Št ˆfd„|D««sŒ(tjj
||«cSy)Nc3ó&•K—|]}|‰v–—Œ
y­w)N©)Ú.0ÚkÚf_lowers €rú <genexpr>z"cari_folder_ds2.<locals>.<genexpr>¤søèø€Ò. ˆq�GŒ|Ñ.ùsƒ)r,rr-ÚlistdirÚlowerÚanyÚjoin)Ú base_pathÚkeywordsÚfrPs @rÚcari_folder_ds2rYŸsaø€Ü
�7‰7�>‰>˜)Ô $ØÜ
�Z‰Z˜ Ó
"ò.ˆØ—'‘'“)ˆÜ Ó. XÔ.Õ .Ü—7‘7—<‘<  ¨1Ó-Ò -ð.ð r8c ó—tjd«tjtd¬«gd¢}|D]™}tj
j
d|«}tj
j
t|«}tj
j|«sŒgtj||d¬«tjd|›d|›�«Œ›tj
jd «�r{d }tj
j
|d
«}tj
j|«r|}d d d
œ}|j«D�]\}}t||«} tj
j
t|«}
tj|
d¬«| r¶tj
j| «r—d} tj| «D]]} tj
j
| | «}
tj
j|
«sŒCtj|
|
«| dz
} Œ_tjd| ›d| ›d|
›�«�Œtjd|›d�«�Œ!ytjd«y)Nz,--- TAHAP 2: Menggabungkan Dataset 1 & 2 ---Tr:)r
ú
Daun Sehatr Ú dataset_1)Ú
dirs_exist_okz [OK] Menyalin folder z ke Ú dataset_2Údatarr[))Ú common_rustÚ commont_rust)Úhealthyréz [OK] Menyalin z
gambar dari z [SKIP] Folder untuk 'z' tidak ditemukan di dataset_2z? [SKIP] Folder dataset_2/ tidak ada, dataset_2 tidak diproses.)rrr,rAÚ
TARGET_DIRrrUr-r.ÚcopytreeÚitemsrYrRÚisfileÚcopyr)Úfolder_dari_ds1ÚfolderÚsrcÚdstÚbase_ds2Údata_subÚ mapping_ds2rWÚtarget_subfolderÚ
src_folderÚ
dst_folderÚ
file_countÚ file_nameÚfull_file_names rÚgabungkan_dataset_1_dan_2rv©sí€Ü‡H�HÐ
;Ô<܇K�K”
 TÕ*òB€OØ!ò?ˆÜ�g‰g�l‰l˜;¨Ó/ˆÜ�g‰g�l‰lœ: vÓ.ˆÜ
�7‰7�>‰>˜#Õ Ü �O‰O˜C °DÕ 9Ü �H‰HÐ.¨s¨e°4¸°uÐ=Õ >ð ?ô
‡w�w‡~�~�kÕ"àˆä—7‘7—<‘< ¨&Ó1ˆÜ
�7‰7�>‰>˜(Ô #؈Hð.:Ø&ñ
ˆ ð
+6×*;Ñ*;Ó*=ó hÑ &ˆHÐ&Ü(¨°8Ó<ˆJÜŸ™Ÿ™¤jÐ2BÓCˆJÜ �K‰K˜
¨TÕ 2áœbŸg™gŸn™n¨ZÔ8Ø�
Ü!#§¡¨JÓ!7ò(�IÜ%'§W¡W§\¡\°*¸iÓ%H�NÜ—w‘w—~‘~ nÕ5ÜŸ ™  N°JÔ?Ø" a™™
ð (ô
—‘Ð+¨J¨<°}ÀZÀLÐPTÐU_ÐT`ÐaÖbä— ‘ Ð5Ð6FÐ5GÐGeÐfÖgñ hô � ‰ ÐUÕVr8có
—|j«}tjj||«}tjj |«r|S|j «}tj |«D]Š}|j «|k(sTtjj|«dj «tjj|«dk(sŒjtjj||«cSy)Nr)Ústripr,rrUr-rSrRr@)Ú
folder_sumberÚnama_file_targetÚ
path_langsungÚ target_lowerrXs rÚcari_gambar_fleksibelr}ÚsÄ€Ø'×-Ñ-Ó/ÐÜ—G‘G—L‘L Ð0@ÓA€MÜ ‡w�w‡~�~�mÔ$ØÐà#×)Ñ)Ó+€LÜ
�Z‰Z˜
Ó
&ò2ˆØ
�G‰G‹I˜Ò %Ü—7‘7×#Ñ# AÓ& qÑ)×/Ñ/Ó1´R·W±W×5EÑ5EÀlÓ5SÐTUÑ5VÓVÜ—7‘7—<‘< 
¨qÓ1Ò 1ð2ð r8có´—tjd«tjj dd«}tjj dd«}tjj |«stj
d|›d�«yt|dd¬ «5}tj|«}ddd«d
}D]ê}|jd «}|jd d
«j«}|sŒ7|tvsŒ@t|}tjj t|«} tj| d¬«t||«}
|
sŒ“tjj!|
«} t#j$|
tjj | | ««|dz
}Œìtjd|›dt›d�«y#1swY�ŒxYw)Nz9--- TAHAP 3: Menggabungkan Dataset 3 berdasarkan JSON ---Ú dataset_3r_z desc.jsonz [SKIP] z% tidak ditemukan. Dataset 3 dilewati.r<zutf-8)ÚencodingrÚ
image_nameÚlabelr(Tr:rcz [OK] Berhasil merutekan z gambar dari dataset_3 ke 'ú')rrr,rrUr-rÚopenÚjsonÚloadÚgetrxÚPEMETAAN_KATEGORIrdrAr}Úbasenamer.rh) Ú folder_dataÚ file_jsonrXÚ
data_labelÚberhasilÚitemr�r‚Únama_folder_targetÚ
folder_tujuanÚ path_sumberÚ nama_aslis rÚgabungkan_dataset_3r“èso€Ü‡H�HÐ
HÔIÜ—'‘'—,‘,˜{¨FÓ3€KÜ—‘— ‘ ˜[¨+Ó6€Iä
�7‰7�>‰>˜)Ô $Ü � ‰ �i  ˜{Ð*OÐPÔQØä
ˆi˜ wÔ /ð"°1Ü—Y‘Y˜q“\ˆ
÷"ð€HØò
ˆØ—X‘X˜lÓ+ˆ
Ø—‘˜ "Ó%×+Ñ+Ó-ˆâ ˜%Ô#4Ò4Ü!2°5Ñ!9Ð ÜŸG™GŸL™L¬Ð5GÓHˆMÜ �K‰K˜
°Õ 5ä/° ¸ZÓHˆKÚÜŸG™G×,Ñ,¨[Ó9� Ü— ‘ ˜K¬¯©¯©°mÀYÓ)OÔPؘA‘
‘ð
ô‡H�HÐ)¨(¨Ð3NÌzÈlÐZ[Ð
\Õ]÷'"ñ"ús ÂG
Ç
Gc
óÖ—tjd«tt«}d}tj
j
t«r’t jt«D]v\}}}|D]k}||vsŒtj
j||«} t j|«tjd|›�«|j|«|dz
}ŒmŒxtjd|›�«|rBtjd t|«›d
�«|D]}tjd |›�«Œyy#t$r&}tjd|›d|›d�«Yd}~Œ÷d}~wwxYw) Nz*--- TAHAP 4: Menghapus File Bermasalah ---rz