1 puan yazan GN⁺ 2024-06-17 | 2 yorum | WhatsApp'ta paylaş

Yeni özellikler

  • Yeni değişken uzunluklu dize dtype'ı StringDType ve dize işlemleri için numpy.strings ad alanı eklendi.
  • Tüm numpy.fft fonksiyonlarında float32 ve longdouble desteği.
  • Ana numpy ad alanında dizi API standardı desteği.

Performans iyileştirmeleri

  • Sıralama fonksiyonları (sort, argsort, partition, argpartition), Intel x86-simd-sort ve Google Highway kütüphaneleri kullanılarak hızlandırıldı.
  • macOS Accelerate desteği ve macOS >=14 için ikili wheel sunuluyor; doğrusal cebir işlemlerinin performansı büyük ölçüde iyileştirildi.
  • numpy.char sabit uzunluklu dize işlemleri hızlandırıldı.
  • Donanıma özgü kernel'leri denetleyip kullanabilen yeni izleme ve inceleme API'si opt_func_info eklendi.

Python API iyileştirmeleri

  • Genel API ile genel olmayan API'nin net biçimde ayrılması, yeni modül yapısı.
  • Kullanımdan kaldırılmış çok sayıda fonksiyon ve takma ad kaldırıldı; öğrenmesi ve kullanması kolaylaştı.
  • Standart dtype adları ve yeni isdtype denetim fonksiyonu eklendi.

C API iyileştirmeleri

  • Özel dtype oluşturmak için yeni genel C API eklendi.
  • Eski fonksiyonlar ve makrolar kaldırıldı, genel olmayan iç yapılar gizlendi.
  • Yeni başlatma fonksiyonları: PyArray_ImportNumPyAPI ve PyUFunc_ImportUFuncAPI.

İyileştirilen davranış

  • NEP 50 benimsenerek tür yükseltme davranışı iyileştirildi; artık girdi dizilerinin veri değerlerine değil yalnızca dtype'a bağlı.
  • Windows'ta varsayılan tamsayı türü int32'den int64'e değiştirildi.
  • Azami dizi boyut sayısı 32'den 64'e çıkarıldı.

Dokümantasyon

  • Referans kılavuzunda gezinme büyük ölçüde iyileştirildi.
  • Kaynaktan derleme dokümantasyonu tamamen yeniden yazıldı.

Python API'den kaldırılanlar

  • np.geterrobj, np.seterrobj ve ilgili ufunc anahtar sözcük argümanı extobj= kaldırıldı.
  • np.cast kaldırıldı, yerine np.asarray(arg, dtype=dtype) kullanılmalı.
  • np.source kaldırıldı, yerine inspect.getsource kullanılmalı.
  • np.lookfor kaldırıldı.
  • numpy.who kaldırıldı; bunun yerine Spyder veya Jupyter Notebook gibi IDE'lerin değişken gezgini öneriliyor.
  • Kullanımdan kaldırılmış çeşitli fonksiyonlar ve takma adlar kaldırıldı.

GN⁺ görüşü

  • Performans iyileştirmeleri: Yeni sıralama algoritmaları ve macOS Accelerate desteği sayesinde veri işleme hızının önemli ölçüde artması bekleniyor.
  • API sadeleştirmesi: Kullanımdan kaldırılmış fonksiyonların ve takma adların silinmesi, NumPy kullanımını daha sezgisel ve yalın hale getiriyor.
  • Tür yükseltme: NEP 50'nin benimsenmesiyle tür yükseltme davranışı daha öngörülebilir hale geldi. Bu, karışık dtype işlemlerinde beklenmedik sonuçları azaltmaya yardımcı olacaktır.
  • Dokümantasyon iyileştirmeleri: Referans kılavuzu ve derleme belgelerindeki iyileştirmeler, geliştiricilerin NumPy'yi daha kolay anlamasını ve kullanmasını sağlayacak.
  • Uyumluluk sorunları: Çok sayıda API değişikliği bulunduğu için mevcut kodlar uyumsuz hale gelebilir. Kodu güncellemek için geçiş kılavuzuna başvurmak gerekiyor.

2 yorum

 
eususu 2024-06-18

Çakışan paket epey fazla olacak gibi..

 
GN⁺ 2024-06-17
Hacker News görüşleri
  • Karmaşık işlem kombinasyon yöntemleri: Eleman bazlı olmayan işlemleri kurmak için daha basit ve akılda kalıcı bir yönteme ihtiyaç var. Çok fazla farklı yöntem olduğu için her seferinde yeniden öğrenmek zorunda kalmak zor oluyor.

  • Windows varsayılan tamsayı türü değişikliği: Windows'ta varsayılan tamsayı türü int32'den int64'e değiştirildi. Bunun diğer platformlarla uyumlu hale gelmesi iyi oldu.

  • NumPy'deki başlıca güncellemeler: NumPy'yi doğrudan sık kullanmayan kullanıcılar için büyük bir değişiklik olmayabilir. Daha çok pandas ve scipy kullanılıyor, NumPy algoritmalarına ise yalnızca gerektiğinde başvuruluyor.

  • Güncelleme döngüsü: Büyük güncellemeler geldiğinde hemen yükseltme yapmak yerine, kararlı bir sürüm çıkana kadar beklemeyi tercih ediyorum.

  • Sürüm yönetimi: 18 yıl sonra gelen ilk büyük ana sürüm değişikliği için yeni bir sürüme fork etmek daha iyi olabilirdi. pip install numpy2 ile kurulup diğer kütüphanelerle uyumluluğu dert etmemek daha iyi olurdu.

  • Paket uyumluluğu sorunu: Bazı paketler 1.x sürümüne sabitlenmediği için sorunlar yaşanıyor. pip install numpy==1.* ile geçici olarak çözülebilir.

  • Sürüm notları bağlantısı: NumPy 2.0.0 sürüm notları bağlantısı paylaşıldı. NumPy 2.0.0 sürüm notları