Yeni projeler için YDF'yi tercih edin
YDF , Google'ın Karar Ormanlarını eğitmeye yönelik yeni kütüphanesidir.
YDF, yeni özellikler, basitleştirilmiş bir API, daha hızlı eğitim süreleri, güncellenmiş belgeler ve popüler makine öğrenimi kitaplıklarıyla gelişmiş uyumluluk sunarak TF-DF'nin gücünü genişletir.
Aşağıda belirtilen sorunlardan bazıları YDF'de giderilmiştir.
Windows Pip paketi mevcut değil
TensorFlow Decision Forests henüz Windows Pip paketi olarak mevcut değil.
Geçici çözümler:
- Çözüm #1: Windows makinenize Linux için Windows Alt Sistemini (WSL) yükleyin ve Linux talimatlarını izleyin.
Keras 3 ile uyumsuzluk
Keras 3 ile uyumluluk henüz uygulanmamıştır. 2.16'dan önceki tf_keras veya TensorFlow sürümünü kullanın. Alternatif olarak ydf'yi kullanın.
Conda için test edilmedi
TF-DF, Conda ile çalışabilir ancak bu test edilmemiştir ve şu anda paketleri conda-forge üzerinde tutmuyoruz.
TensorFlow'un eski veya gecelik sürümleriyle uyumsuzluk
TensorFlow'un ABI'si sürümler arasında uyumlu değildir. TF-DF özel TensorFlow C++ işlemlerine dayandığından, TF-DF'nin her sürümü TensorFlow'un belirli bir sürümüne bağlıdır. TF-DF'nin son yayımlanan sürümü her zaman TensorFlow'un yayımlanan son sürümüne bağlıdır.
Bu nedenlerden dolayı, TF-DF'nin mevcut sürümü eski sürümlerle veya TensorFlow'un gecelik sürümüyle uyumlu olmayabilir.
TF ve TF-DF'nin uyumsuz sürümlerini kullanıyorsanız aşağıdaki gibi şifreli hatalar göreceksiniz:
tensorflow_decision_forests/tensorflow/ops/training/training.so: undefined symbol: _ZN10tensorflow11GetNodeAttrERKNS_9AttrSliceEN4absl14lts_2020_09_2311string_viewEPSs
- TensorFlow sürümünüzle uyumlu TF-DF sürümünü kullanın.
Uyumluluk tablosu
Aşağıdaki tablo tensorflow_decision_forests
ve bağımlılıkları arasındaki uyumluluğu gösterir:
tensorflow_decision_forests | tensor akışı |
---|---|
1.11.0 | 2.18.0 |
1.10.0 | 2.17.0 |
1.9.2 | 2.16.2 |
1.9.1 | 2.16.1 |
1.9.0 | 2.16.1 |
1.8.0 - 1.8.1 | 2.15.0 |
1.6.0 - 1.7.0 | 2.14.0 |
1.5.0 | 2.13.0 |
1.3.0 - 1.4.0 | 2.12.0 |
1.1.0 - 1.2.0 | 2.11.0 |
1.0.0 - 1.0.1 | 2.10.0 - 2.10.1 |
0.2.6 - 0.2.7 | 2.9.1 |
0.2.5 | 2.9 |
0.2.4 | 2.8 |
0.2.1 - 0.2.3 | 2.7 |
0.1.9 - 0.2.0 | 2.6 |
0.1.1 - 0.1.8 | 2.5 |
0.1.0 | 2.4 |
- Çözüm 2: Ön işleme fonksiyonunuzu, girdilerini sıkıştıran başka bir fonksiyona sarın.
Tüm modeller dağıtılmış eğitimi ve dağıtım stratejilerini desteklemez
Belirtilmediği sürece modeller tek bir makine üzerinde eğitilir ve dağıtım stratejileriyle uyumlu değildir. Örneğin GradientBoostedTreesModel
dağıtılmış eğitimi desteklemezken DistributedGradientBoostedTreesModel
destekler.
Geçici çözümler:
- Dağıtım stratejilerini destekleyen bir model kullanın (örneğin
DistributedGradientBoostedTreesModel
) veya veri kümenizi tek bir makineye sığacak şekilde alt örnekleyin.
GPU / TPU desteği yok.
TF-DF, GPU veya TPU eğitimini desteklemez. Ancak AVX talimatlarıyla derlemek sunumu hızlandırabilir.
model_to_estimator için destek yok
TF-DF, eğitimli/eğitimsiz bir modeli tahminci formatına dönüştürmek için gereken API'leri uygulamaz.
Yüklü modeller Python modellerinden farklı davranır.
Keras API tarafından soyutlanırken, Python'da başlatılan bir model (örneğin, tfdf.keras.RandomForestModel()
ile) ve diskten yüklenen bir model (örneğin, tf_keras.models.load_model()
ile) farklı davranabilir. Özellikle Python tarafından başlatılan bir model, gerekli tür dönüşümlerini otomatik olarak uygular. Örneğin, bir float32
özelliği bekleyen bir modele bir float64
özelliği beslenirse, bu dönüşüm örtülü olarak gerçekleştirilir. Ancak diskten yüklenen modeller için böyle bir dönüşüm mümkün değildir. Bu nedenle eğitim verilerinin ve çıkarım verilerinin her zaman tam olarak aynı türde olması önemlidir.
Tensorflow özellik adı temizliği
Tensorflow, özellik adlarını temizler ve örneğin bunları küçük harfe dönüştürebilir.