Kararlı log-sum-exp toplama
Üs almadan önce en büyük değeri çıkararak eksi 1e300 ile 1e300 arasındaki en fazla 1000 logaritmik değeri birleştirin.
from math import exp, fsum, log, inf
def log_sum_exp(values):
if type(values) not in (list, tuple) or len(values) > 1000:
raise ValueError("values.container")
values = tuple(values)
if len(values) > 1000 or any(
type(v) not in (int, float) or not -1e300 <= v <= 1e300 for v in values
):
raise ValueError("values.range")
if not values:
return -inf
peak = max(values)
return peak + log(fsum(exp(v - peak) for v in values))| Uygulamadan önce inceleyin | Gerçek davranışı beklenen sonuçla karşılaştırın. Bir kontrol başarısız olursa yeni değişikliklerden önce nedenini araştırın. |
|---|---|
| Modeller | Temel URL ve gerekiyorsa API anahtarıyla OpenAI uyumlu veya Anthropic endpoint yapılandırın. Bağlantıyı test edin. Yerel model sunucusu çalışıyor olmalıdır; uzak araçlar ayrıca veri aktarabilir. |
| Proje | Boş girdiyi, tekrarlı büyük ve çok negatif değerleri sınayın; yalnız boş girdiye eksi sonsuz döndürüp Boolean, sonlu olmayan veya aralık dışı öğeleri reddedin. |
from math import exp, fsum, log, inf
def log_sum_exp(values):
if type(values) not in (list, tuple) or len(values) > 1000:
raise ValueError("values.container")
values = tuple(values)
if len(values) > 1000 or any(
type(v) not in (int, float) or not -1e300 <= v <= 1e300 for v in values
):
raise ValueError("values.range")
if not values:
return -inf
peak = max(values)
return peak + log(fsum(exp(v - peak) for v in values))Yeni sonuca güvenmeden önce sayısal davranışı inceleyin
ExponQuay, sayısal değişikliğin uygulama bağlamında açıklanmasına ihtiyaç duyan geliştiriciler için bir Windows yapay zekâ kodlama istemcisidir. Kaynağı, sorunlu girdiyi ve beklenen davranışı proje görüşmesine getirin. Yararlı bir ilk istek, bağlı modelden amaçlanan matematiksel işlemi mevcut uygulamanın sınırlamalarından ayırmasını ister.
Örneğin logaritmik toplama görevi, sınırlı girdi değerleri, en fazla koleksiyon boyutu ve boş girdi sonucu belirtebilir. Modelden bu sözleşmeyi koruyarak en büyük değeri çıkarma yaklaşımını incelemesini isteyin. Özellikle boş toplamayı sonlu sayısal sonuçtan ayırıyorsa yanıtı kullanan çağıran kodu ekleyin. Görüşme projenizdeki kodla ilgili kalır.
Öneriyi kabul etmeden önce kendi ortamınızda tekrarlanan büyük değerler ve çok negatif değerler içeren durumları çalıştırın. Normal sonucun yanı sıra desteklenmeyen türlerin ve aralık dışı girdinin reddini kontrol edin. Uygulamanızın gerektirdiği hassasiyete uygun referansla karşılaştırın. Kararlılığı iyileştirmeyi amaçlayan yöntem de gerçekten hizmet edeceği iş yükünde doğrulanmalıdır.
ExponQuay tarafından desteklenen bir OpenAI uyumlu veya Anthropic uç noktası seçin. Orada filtresiz yapay zekâ modelleri varsa gerekli kimlik bilgileriyle birini seçebilirsiniz. Etiketi matematiksel hassasiyet vaat etmez; model kısıtlamaları, bağlam sınırları ve araç desteği gerçek uç nokta ve model yapılandırmasına bağlıdır.
Sayısal toplama incelemesini hazırlama
Sorunlu sayısal girdinin yanında ne olmalı?
Beklenen aralığı veya referans sonucu, kabul edilen girdi türlerini ve çağıran kodun özel çıktıları nasıl ele aldığını ekleyin. Bu bilgiler, görüşmenin yalnızca ifadeyi matematiksel olarak benzer formülle değiştirmek yerine uygulamanın ihtiyaçlarını ele almasını sağlar.
Boş girdi normal bir sayı döndürmeli mi?
Belirttiğiniz sözleşmeyi izleyin. Örnek boş toplama için eksi sonsuz kullanır; sonucu kullanan kod bunu anlamalıdır. Değişikliği kabul etmeden önce çağıran kodu inceleyip boş durumu çok negatif ama geçerli girdilerden ayrı test edin.
Tekrarlanan büyük değerler neden test edilmeli?
Bu proje örneğinde tartışılan toplama yaklaşımı için yararlı sınırı sınarlarlar. Beklenen davranışı belirtip uygulamayı uygun referansla karşılaştırın. Uç değerlerden kaçınan tek normal test verisinden genel sayısal doğruluk sonucu çıkarmayın.
Kabul edilebilir hata toleransını model seçebilir mi?
Ödünleşimleri açıklayabilir ama toleransı uygulamanızın gereksinimleri belirler. Bu gereksinimi ve kullanılan sayı türlerini sağlayın. Öneriyi kendi araçlarınızla temsilî girdilerde çalıştırın ve incelemede gözlenen sınırları belgeleyin.
ExponQuay · Güncellendi 2026-10-25