Kütüphanemize gösterdiğiniz ilgi için teşekkür ederiz! Böyle motive bir topluluğa sahip olduğumuz için heyecanlıyız.
Başlayın
- TFDS'de yeniyseniz başlamanın en kolay yolu, talep edilen veri kümelerimizden birini, en çok talep edilenlere odaklanarak uygulamaktır. Talimatlar için kılavuzumuzu takip edin .
- Sorunlar, özellik istekleri, hatalar,... tüm TFDS topluluğuna fayda sağladığından, yeni veri kümeleri eklemekten çok daha büyük bir etkiye sahiptir. Potansiyel katkı listesine bakın. Başlamak için küçük, kendi kendine yeten kolay konular olan katkı-hoş geldiniz etiketli olanlarla başlar.
- Halihazırda atanmış ancak bir süredir güncellenmeyen hataları devralmaktan çekinmeyin.
- Sorunun size atanmasına gerek yok. Üzerinde çalışmaya başladığınızda konu hakkında yorum yapmanız yeterli :)
- Bir konuyla ilgileniyorsanız ancak nasıl başlayacağınızı bilmiyorsanız yardım istemekten çekinmeyin. Erken geri bildirim istiyorsanız lütfen bir PR taslağı gönderin.
- İşin gereksiz yere tekrarlanmasını önlemek için bekleyen Çekme İstekleri listesini kontrol edin ve üzerinde çalıştığınız konular hakkında yorum yapın.
Kurmak
Repoyu klonlama
Başlamak için Tensorflow Veri Kümeleri deposunu kopyalayın veya indirin ve depoyu yerel olarak yükleyin.
git clone https://github.com/tensorflow/datasets.git
cd datasets/
Geliştirme bağımlılıklarını yükleyin:
pip install -e . # Install minimal deps to use tensorflow_datasets
pip install -e ".[dev]" # Install all deps required for testing and development
Tüm veri kümesine özgü depoları yüklemek için ayrıca bir pip install -e ".[tests-all]"
bulunduğunu unutmayın.
Visual Studio Kodu
Visual Studio Code ile geliştirme yaparken depomuz, geliştirmeye yardımcı olacak bazı önceden tanımlanmış ayarlarla birlikte gelir (doğru girinti, pylint,...).
- TensorFlow uyarı mesajlarıyla karşılaşıyorsanız bu düzeltmeyi deneyin.
- Yüklenmesi gereken eksik içe aktarma nedeniyle keşif başarısız olursa, lütfen
dev
pip kurulumunu güncellemek için bir PR gönderin.
Halkla ilişkiler kontrol listesi
CLA'yı imzalayın
Bu projeye yapılan katkılara bir Katılımcı Lisans Sözleşmesi (CLA) eşlik etmelidir. Siz (veya işvereniniz) katkınızın telif hakkını saklı tutarsınız; bu bize projenin bir parçası olarak katkılarınızı kullanma ve yeniden dağıtma iznini verir. Mevcut sözleşmelerinizi kayıtlı olarak görmek veya yeni bir sözleşme imzalamak için < https://cla.developers.google.com/ > adresine gidin.
Genellikle bir CLA'yı yalnızca bir kez göndermeniz gerekir; dolayısıyla zaten bir CLA gönderdiyseniz (farklı bir proje için olsa bile), muhtemelen bunu tekrar yapmanıza gerek yoktur.
En iyi uygulamaları takip edin
- Okunabilirlik önemlidir. Kod, en iyi programlama uygulamalarını takip etmelidir (çoğaltmalardan kaçının, küçük bağımsız işlevlere ayırın, açık değişken adlarını belirtin,...)
- Daha basit olan daha iyidir (örn. uygulama, gözden geçirilmesi daha kolay olan birden fazla küçük bağımsız PR'ye bölünmüştür).
- Gerektiğinde testler ekleyin, mevcut testlerin geçiyor olması gerekir.
- Yazma açıklamaları ekleyin
Stil kılavuzunuzu kontrol edin
Tarzımız, PEP 8 Python stil kılavuzunu temel alan Google Python Stil Kılavuzunu temel almaktadır. Yeni kod, Siyah kod stilini izlemeye çalışmalıdır ancak şunu içermelidir:
- Hat uzunluğu: 80
- 4 yerine 2 boşluk girintisi.
- Tek alıntı
'
pip install pylint --upgrade
pylint tensorflow_datasets/core/some_file.py
Bir dosyayı otomatik olarak biçimlendirmek için yapf
deneyebilirsiniz, ancak araç mükemmel değildir, bu nedenle düzeltmeleri daha sonra manuel olarak uygulamanız gerekecektir.
yapf tensorflow_datasets/core/some_file.py
Hem pylint
hem de yapf
pip install -e ".[dev]"
ile kurulmalıdır ancak pip install
ile manuel olarak da kurulabilir. VS Code kullanıyorsanız bu araçların kullanıcı arayüzüne entegre edilmesi gerekir.
Doküman dizeleri ve yazım açıklamaları
Sınıflar ve işlevler, docstring'ler ve yazım açıklamalarıyla belgelenmelidir. Docstring'ler Google stilini takip etmelidir. Örneğin:
def function(x: List[T]) -> T:
"""One line doc should end by a dot.
* Use `backticks` for code and tripple backticks for multi-line.
* Use full API name (`tfds.core.DatasetBuilder` instead of `DatasetBuilder`)
* Use `Args:`, `Returns:`, `Yields:`, `Attributes:`, `Raises:`
Args:
x: description
Returns:
y: description
"""
Unittest'leri ekleme ve çalıştırma
Yeni özelliklerin birim testlerle test edildiğinden emin olun. Testleri VS Code arayüzü veya komut satırı aracılığıyla çalıştırabilirsiniz. Örneğin:
pytest -vv tensorflow_datasets/core/
pytest
vs unittest
: Tarihsel olarak testleri yazmak için unittest
modülünü kullanıyorduk. Yeni testler tercihen daha basit, esnek, modern olan ve çoğu ünlü kütüphane (numpy, pandas, sklearn, matplotlib, scipy, six,...) tarafından kullanılan pytest
kullanmalıdır. Pytest'e aşina değilseniz pytest kılavuzunu okuyabilirsiniz.
DatasetBuilders testleri özeldir ve veri kümesi ekleme kılavuzunda belgelenmiştir.
İncelemeler için PR'yi gönderin!
Tebrikler! Çekme isteklerini kullanma hakkında daha fazla bilgi için GitHub Yardımına bakın.