Text-to-Image
Diffusers
Afar
art
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)