Closed alphinside closed 4 years ago
Prior discussion
[fahri]
kalo filosofinya vortex support research dan production, apalagi sekarang disini udah provide cli juga jadi makenya gampang banget, makanya ku discuss disini tentang directory dataset, toh judulnya juga restructure directory
external/dataset
ini memang udah ga pas sih; history-nya sebagai repo "external" yang harus ditaro disitu, tapi ku liat sekarang meaning-nya udah beda dan posisinya sekarang ambigudataset.py
_default_dataset_path
di utils/data/dataset/dataset.py
pake absolute yasingkatnya,
examples
, kalo mau di-'promote' sebagai pool
additional default dataset sekalian masuk vortex
aja[alvin]
Gw point beberapa hal dulu ya
cara vortex register dataset ada dua register sebagai 'external' dataset atau caranya 'torchvision-vortex' dataset yang manually bongkar
dataset.py
Iya ini betul, karena historynya adalah kita pengen provide internal tools untuk built in dataset dan juga dataset custom yang pengen ditambahin. Pola ini juga ada di Pytorch dimana torchvision kan support beberapa dataset terkenal, bisa bikin dataloader sendiri dan juga ada ImageFolder dimana dataset yang diprovide external, tapi ada tools untuk supported data yang disiapinm sendiri. Notes ; COCO dan Imagenet di Pytorch juga ngikutin polanya ImageFolder ini
- nah kalo additional dataset format yang perlu kita support ini, misalnya darknet, nambahinnya lebih mirip 'external/dataset' dibandingin sama 'torchvision-vortex' dataset sih
Betul ini bisa diasumsikan begitu bisa juga enggak, kalo gw pribadi gw lebih prefer ngikutin polanya COCO dan Imagenet di torchvision. mereka siapin tools buat bacanya, user tinggal ngikutin format file sama directory placementnya aja. Kalo ngikutin pola eksternal/dataset berarti tiap dataset harus punay utils/dataset.py masing2. Bisa sih dibuat pake template kaya standarisasi dataset dulu. Tapi lebih mempermudah klo approachnya kaya di torchvision
next time kita provide default support buat dataset cv populer (darknet misalnya), kupikir ga ada alasan buat nggak nge ship itu, makanya kupikir directory 'external/dataset' ini perlu masuk vortex juga
Nah buat yang ini gw sangat ga setuju, masukin external/dataset ke vortex berarti menempatkan external dataset juga ke library python waktu installation. Means klo ada user yang pengen pake format beda, mereka harus set ENV lagi, nambahin step yang ga perlu menurut gw. Perlu di notes di transformers
, untuk dataset preparation kita bisa ngebuat dataset yang formatnya sama seperti yang mereka support kayak Glue atau SquAd dan bahkan karena mereka aware dengan berkembangnya dataset mereka bikin package sendiri untuk dataset dengan nambahin package nlp
. Gw overall setuju kalau bagian rapi2 dataset ini penting untuk akomodasi public supported dataset ke depannya tapi gw ngga setuju sih klo posisi external/dataset dikatakan ambigu. Karena menurut gw purpose nya jelas :
Kalau misalnya external/dataset ditaruh di dalem vortex :
Dan gw juga challenge sih, untuk COCO gw lebih setuju sistem integrasinya kayak torchvision-dataset daripada external/dataset. Kenapa? sesimple langsung pake aja pycocotools, iterate per image diformat ke bentukan internal vortex, selesai.
Nah pertanyaannya, apakah bentuk integrasi torchvision yang sekarang udah ideal? nah menurut gw belum. Kalau untuk yang ini gw setuju bentuknya pooling. Kalau untuk external dataset menurut gw bukan pool sih bentukannya.
In SHORT :
Describe the solution you'd like Restructurization of current 'external/datasets' to accomodate both public dataset and custom dataset