Cevap: Evet, kesinlikle mümkün! Bugün, Django gibi güçlü bir web framework'ü ile TensorFlow gibi bir yapay zeka kütüphanesini entegre ederek nasıl güçlü web uygulamaları geliştirebileceğinizi keşfedeceğiz.
Django ve TensorFlow: İdeal Bir Ekip
Proje Başlangıcı: Django ve TensorFlow Kurulumu
Django’nun kurulumu için:
pip install django
TensorFlow’un kurulumu ise, donanımınıza göre değişebilir. Eğer GPU desteği istiyorsanız, uygun sürümü kurduğunuzdan emin olun:
pip install tensorflow
Django API İle TensorFlow Modelini Entegre Etme
Öncelikle basit bir TensorFlow modelini eğitelim. Bu model, herhangi bir sınıflandırma problemi için olabilir, örneğin bir image classifier. Eğitilmiş modeli kaydedelim.
import tensorflow as tf
from tensorflow.keras import layers, models
# Basit bir CNN modeli
model = models.Sequential([
layers.Conv2D(32, (3, 3), activation='relu', input_shape=(64, 64, 3)),
layers.MaxPooling2D((2, 2)),
layers.Flatten(),
layers.Dense(64, activation='relu'),
layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.save('my_model.h5')
Model eğitildikten sonra, bunu Django API’sine entegre edebiliriz. Django’nun Django REST framework ile API’yi nasıl oluşturacağımıza bakalım.
Öncelikle, Django projenizde yeni bir uygulama başlatalım:
django-admin startapp ai_integration
Daha sonra, modelimizi yüklemek ve tahmin yapmak için gerekli fonksiyonu yazalım:
from rest_framework.views import APIView
from rest_framework.response import Response
import tensorflow as tf
import numpy as np
from PIL import Image
# Modeli yükleyelim
model = tf.keras.models.load_model('my_model.h5')
class PredictView(APIView):
def post(self, request):
# Resmi alalım
image = Image.open(request.FILES['image'])
image = np.array(image.resize((64, 64))) # Modelin giriş boyutuna uygun hale getirelim
image = image / 255.0 # Normalizasyon
image = np.expand_dims(image, axis=0) # Batch boyutunu ekleyelim
# Tahmin yapalım
prediction = model.predict(image)
# Tahmin edilen sınıfı döndürelim
predicted_class = np.argmax(prediction)
return Response({"predicted_class": predicted_class})
Bu basit API, kullanıcıdan bir resim alır ve TensorFlow modelini kullanarak tahmin yapar. Son olarak, bu API’yi Django URL yapılandırmamıza ekleyelim.
from django.urls import path
from .views import PredictView
urlpatterns = [
path('predict/', PredictView.as_view(), name='predict'),
]
Artık bir kullanıcı, web uygulamanız üzerinden bir resim yükleyerek AI tahmini alabilir!
SEO Dostu İçerik ve Kullanıcı Deneyimi
Sonuç
Unutmayın, teknoloji sürekli evriliyor ve web uygulamaları ile yapay zekanın entegrasyonu, yazılım dünyasında en heyecan verici alanlardan birini oluşturuyor. Sizin de bu alanda kendinizi geliştirmek için harika bir fırsatınız var!