File size: 2,222 Bytes
34ae681 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
from flask import Flask, request, jsonify
from tensorflow.keras.models import load_model
import numpy as np
import matplotlib.pyplot as plt
from io import BytesIO
import base64
app = Flask(__name__)
# Eğitilmiş modelinizi yükleyin
cnn_model = load_model("C:\\Users\\Sedef\\Downloads\\arcweb (1)\\arcweb\\cnn_model_epoch_100.h5")
def generate_prompt(params):
"""Kullanıcı girdilerinden bir prompt oluştur."""
prompt = (
f"{params['bedroom']} yatak odası, {params['bathroom']} banyo, "
f"{params['kitchen']} mutfak, {params['livingroom']} oturma odası, "
f"{params['diningroom']} yemek odası, {params['entrance']} m² giriş, "
f"{params['garage']} garaj ve {params['kidsroom']} çocuk odası içeren bir mimari plan."
)
return prompt
@app.route("/generate_plan", methods=["POST"])
def generate_plan():
# Kullanıcı verilerini al
data = request.json
prompt = generate_prompt(data)
# Modelin tahmin fonksiyonunu kullanarak gerçek bir çıktı üretin
# Burada, girdi olarak uygun bir formatta veri sağlamanız gerekecek.
# Örneğin, modelinizin beklediği şekli bilmiyorsanız, aşağıdaki gibi bir düzenleme yapabilirsiniz.
# Dummy bir girdi için uygun bir format oluşturun
input_data = np.array([[data['bedroom'], data['bathroom'], data['kitchen'],
data['livingroom'], data['diningroom'],
data['entrance'], data['garage'], data['kidsroom']]])
# Modelden tahmin al
prediction = cnn_model.predict(input_data)
# Tahmini görüntü oluşturma
# Örneğin, 64x64 boyutunda bir görsel oluşturun (modelinizin çıktısına göre ayarlayın)
img = prediction.reshape((64, 64, 3)) # Model çıktısını uygun boyuta çevirin
plt.imshow(img)
plt.axis("off")
# Görseli base64 formatına dönüştür
buffer = BytesIO()
plt.savefig(buffer, format="png")
buffer.seek(0)
img_base64 = base64.b64encode(buffer.getvalue()).decode()
return jsonify({"image_url": f"data:image/png;base64,{img_base64}"})
if __name__ == "__main__":
app.run(debug=True) |