Modeli Başlangıçta Bir Kez Yükleyin
Yüklemenin yalnızca bir kez gerçekleşmesi için yaşam süresi olaylarını kullanın.
Modeli Başlangıçta Bir Kez Yükleyin, CoddyKit'te ücretsiz bir MLOps Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, MLOps Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. MLOps Academy kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
The Slow-Endpoint Trap
If you call joblib.load inside /predict, the model reloads on every request. That is slow and wasteful for large models. 🐢
Load It Just Once
The fix: load the model a single time when the service starts, keep it in memory, and reuse it for every prediction.
The Lifespan Hook
FastAPI gives you a lifespan function to run setup before serving and cleanup after. It is the right home for model loading.
Write an Async Context Manager
You decorate an async function with asynccontextmanager. Code before yield runs at startup; code after runs at shutdown.
from contextlib import asynccontextmanagerStash the Model in State
Load the model at startup and save it on app.state, a shared place every request handler can reach later.
@asynccontextmanager
async def lifespan(app):
app.state.model = joblib.load("model.joblib")
yieldWire It to the App
Pass your lifespan function when you create the app. Now FastAPI runs your loading code once as the server boots.
app = FastAPI(lifespan=lifespan)Read It in the Route
Inside /predict you grab the already-loaded model from app.state. No disk read, just a fast in-memory lookup.
@app.post("/predict")
def predict(req: Request):
model = req.app.state.modelClean Up at Shutdown
Anything after the yield runs when the app stops, perfect for closing files or freeing GPU memory the model held.
yield
app.state.model = NoneFaster First Request
Because loading finished at startup, even the very first user gets a fast response, not a cold-load penalty. ⚡
Watch the Worker Count
Each uvicorn worker is its own process with its own copy of the model. More workers means more memory, so size them deliberately.
Why It Matters
Loading once is a core serving optimization: it cuts latency, lowers disk I/O, and keeps memory predictable under real traffic. 📈
Quick Check
You want your model loaded exactly once when the service boots. Where should that happen?
Recap
You moved loading into a lifespan hook, stored the model on app.state, and read it per request. One load, fast responses, clean shutdown. 🙌
Sıkça Sorulan Sorular
“Modeli Başlangıçta Bir Kez Yükleyin” dersi ücretsiz mi?
Evet — “Modeli Başlangıçta Bir Kez Yükleyin” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve MLOps Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. MLOps Academy kursu toplamda 4 dersten oluşur.
“Modeli Başlangıçta Bir Kez Yükleyin” dersinde ne öğreneceğim?
Yüklemenin yalnızca bir kez gerçekleşmesi için yaşam süresi olaylarını kullanın. MLOps Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
MLOps Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te MLOps Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Modeli Başlangıçta Bir Kez Yükleyin” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu MLOps Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her MLOps Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- İlk /predict Uç Noktanız
- İstekleri Pydantic ile Doğrulayın
- Modeli Başlangıçta Bir Kez Yükleyin
- Bir /health Hazır Olma Denetimi Ekleyin