TFDS deposuna katkıda bulunun

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şlamak

  • 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. Konu üzerinde çalışmaya başladığınızda 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

Ayrıca tüm veri kümesine özgü depoları yüklemek için 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 : Geçmişte 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.