Yomna22Soror commited on
Commit
b7c0b58
·
verified ·
1 Parent(s): 3985c1c

Upload untitled33.py

Browse files

!pip install roboflow

from roboflow import Roboflow

rf = Roboflow(api_key="tN8RCHc8406wlBLQoCBx")
workspace = rf.workspace("yomnasoror") # اسم الـ workspace بتاعك

print("📂 Available Projects:")
for p in workspace.projects():
print("-", p)

from roboflow import Roboflow

print("loading Roboflow workspace...")
rf = Roboflow(api_key="tN8RCHc8406wlBLQoCBx")

print("loading Roboflow project...")
project = rf.workspace("yomnasoror").project("medical-waste") # الاسم لازم يكون lowercase بدون مسافات

model = project.version(1).model
print("✅ Model loaded successfully!")

import os
print(os.listdir())

import gradio as gr
from roboflow import Roboflow

# تحميل الموديل
rf = Roboflow(api_key="tN8RCHc8406wlBLQoCBx")
project = rf.workspace("yomnasoror").project("medical-waste")
model = project.version(1).model

# دالة التنبؤ
def predict_image(image):
pred = model.predict(image.name).json()
return str(pred)

# إنشاء واجهة Gradio
iface = gr.Interface(fn=predict_image, inputs="file", outputs="text")
iface.launch(share=True)



!pip install pyngrok flask

from pyngrok import ngrok

# 🔐 أضيفي التوكِن بتاعك هنا
ngrok.set_auth_token("3459NDFoZcow9VdVbCd6WF7Mjsq_5uLRwTaSyR4s4HeXk2Cq3")

from flask import Flask
app = Flask(__name__)

@app .route("/")
def home():
return "🚀 Flask API is running!"

# شغّلي السيرفر على بورت محدد
from threading import Thread
def run():
app.run(port=5000)

t = Thread(target=run)
t.start()

# افتحي tunnel ngrok
public_url = ngrok.connect(5000)
print("🔥 Public URL:", public_url)



!pip install flask ngrok

from flask import Flask, request, jsonify
from tensorflow.keras.models import load_model
from tensorflow.keras.preprocessing import image
import numpy as np
from PIL import Image
import io

app = Flask(__name__)

# ✅ تحميل الموديل
model = load_model("model.h5")
class_names = ['infectious', 'sharp', 'general']

@app .route('/predict', methods=['POST'])
def predict():
if 'file' not in request.files:
return jsonify({'error': 'No file provided'}), 400

file = request.files['file']
img = Image.open(io.BytesIO(file.read())).resize((224, 224))
img_array = np.expand_dims(np.array(img) / 255.0, axis=0)

preds = model.predict(img_array)
pred_class = class_names[np.argmax(preds)]

return jsonify({
'prediction': pred_class,
'confidence': float(np.max(preds))
})



!pip install flask pyngrok roboflow

import requests

# 🔸 رابط الـAPI اللي ظهرلك من ngrok
API_URL = "https://limbed-occupationless-kaitlynn.ngrok-free.dev" # ← غيّريه بالرابط اللي طلعلك

# 🔸 مسار الصورة اللي عايزة تجربيها
image_path = "/content/Sryngis34_JPG.rf.451be7985f401d1c4c8f170541813990.jpg" # أو ارفعي صورة بنفس الاسم في كولاب

# 🔸 إرسال الصورة للـAPI
with open("/content/Sryngis34_JPG.rf.451be7985f401d1c4c8f170541813990.jpg", "rb") as img:
files = {"image": img}
response = requests.post(API_URL + "/predict", files=files)

# 🔸 عرض النتيجة
print(response.json())

from flask import Flask, request, jsonify
from roboflow import Roboflow
from pyngrok import ngrok
from threading import Thread

# 🔹 تحميل الموديل من Roboflow
print("Loading Roboflow model...")
rf = Roboflow(api_key="tN8RCHc8406wlBLQoCBx")
project = rf.workspace("yomnasoror").project("medical-waste")
model = project.version(1).model
print("✅ Model loaded successfully!")

# 🔹 إنشاء تطبيق Flask
app = Flask(__name__)

@app .route("/", methods=["GET"])
def home():
return "✅ Medical Waste Classification API is running!"

@app .route("/predict", methods=["POST"])
def predict():
if "image" not in request.files:
return jsonify({"error": "No image uploaded"}), 400
image = request.files["image"]
result = model.predict(image).json()
return jsonify(result)

# 🔹 استخدمي منفذ جديد
port = 5001 # غيري عن 5000
public_url = ngrok.connect(port).public_url
print(f"🚀 Public API URL: {public_url}")

# Run the Flask app in a separate thread
def run_flask_app():
app.run(port=port, debug=True, use_reloader=False)

flask_thread = Thread(target=run_flask_app)
flask_thread.start()

import gradio as gr
import requests

# رابط الـAPI اللي عملتيه
API_URL = "https://xxxxxx.ngrok-free.app/predict" # غيّريه بالرابط بتاعك

# دالة ترسل الصورة إلى الـAPI وترجع النتيجة
def predict_via_api(image):
files = {"image": image}
response = requests.post(API_URL, files=files)
result = response.json()

try:
pred = result["predictions"][0]
label = pred["class"]
conf = pred["confidence"]
return f"🧠 النوع: {label}\n📊 الدقة: {conf:.2f}"
except Exception:
return "⚠️ خطأ أثناء تحليل الصورة!"

# إنشاء واجهة Gradio
iface = gr.Interface(
fn=predict_via_api,
inputs=gr.Image(type="filepath", label="📸 ارفع صورة المخلفات الطبية"),
outputs="text",
title="BioTrack AI - Medical Waste Classifier",
description="ارفع صورة، وسيقوم الذكاء الاصطناعي بالتعرف على نوع المخلفات الطبية 🔬"
)

iface.launch(share=True)

Files changed (1) hide show
  1. untitled33.py +203 -0
untitled33.py ADDED
@@ -0,0 +1,203 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # -*- coding: utf-8 -*-
2
+ """Untitled33.ipynb
3
+
4
+ Automatically generated by Colab.
5
+
6
+ Original file is located at
7
+ https://colab.research.google.com/drive/1p2JWKpjv7_CT2FJ5sbbsq9ZtYVSzY5WS
8
+ """
9
+
10
+ !pip install roboflow
11
+
12
+ from roboflow import Roboflow
13
+
14
+ rf = Roboflow(api_key="tN8RCHc8406wlBLQoCBx")
15
+ workspace = rf.workspace("yomnasoror") # اسم الـ workspace بتاعك
16
+
17
+ print("📂 Available Projects:")
18
+ for p in workspace.projects():
19
+ print("-", p)
20
+
21
+ from roboflow import Roboflow
22
+
23
+ print("loading Roboflow workspace...")
24
+ rf = Roboflow(api_key="tN8RCHc8406wlBLQoCBx")
25
+
26
+ print("loading Roboflow project...")
27
+ project = rf.workspace("yomnasoror").project("medical-waste") # الاسم لازم يكون lowercase بدون مسافات
28
+
29
+ model = project.version(1).model
30
+ print("✅ Model loaded successfully!")
31
+
32
+ import os
33
+ print(os.listdir())
34
+
35
+ import gradio as gr
36
+ from roboflow import Roboflow
37
+
38
+ # تحميل الموديل
39
+ rf = Roboflow(api_key="tN8RCHc8406wlBLQoCBx")
40
+ project = rf.workspace("yomnasoror").project("medical-waste")
41
+ model = project.version(1).model
42
+
43
+ # دالة التنبؤ
44
+ def predict_image(image):
45
+ pred = model.predict(image.name).json()
46
+ return str(pred)
47
+
48
+ # إنشاء واجهة Gradio
49
+ iface = gr.Interface(fn=predict_image, inputs="file", outputs="text")
50
+ iface.launch(share=True)
51
+
52
+
53
+
54
+ !pip install pyngrok flask
55
+
56
+ from pyngrok import ngrok
57
+
58
+ # 🔐 أضيفي التوكِن بتاعك هنا
59
+ ngrok.set_auth_token("3459NDFoZcow9VdVbCd6WF7Mjsq_5uLRwTaSyR4s4HeXk2Cq3")
60
+
61
+ from flask import Flask
62
+ app = Flask(__name__)
63
+
64
+ @app.route("/")
65
+ def home():
66
+ return "🚀 Flask API is running!"
67
+
68
+ # شغّلي السيرفر على بورت محدد
69
+ from threading import Thread
70
+ def run():
71
+ app.run(port=5000)
72
+
73
+ t = Thread(target=run)
74
+ t.start()
75
+
76
+ # افتحي tunnel ngrok
77
+ public_url = ngrok.connect(5000)
78
+ print("🔥 Public URL:", public_url)
79
+
80
+
81
+
82
+ !pip install flask ngrok
83
+
84
+ from flask import Flask, request, jsonify
85
+ from tensorflow.keras.models import load_model
86
+ from tensorflow.keras.preprocessing import image
87
+ import numpy as np
88
+ from PIL import Image
89
+ import io
90
+
91
+ app = Flask(__name__)
92
+
93
+ # ✅ تحميل الموديل
94
+ model = load_model("model.h5")
95
+ class_names = ['infectious', 'sharp', 'general']
96
+
97
+ @app.route('/predict', methods=['POST'])
98
+ def predict():
99
+ if 'file' not in request.files:
100
+ return jsonify({'error': 'No file provided'}), 400
101
+
102
+ file = request.files['file']
103
+ img = Image.open(io.BytesIO(file.read())).resize((224, 224))
104
+ img_array = np.expand_dims(np.array(img) / 255.0, axis=0)
105
+
106
+ preds = model.predict(img_array)
107
+ pred_class = class_names[np.argmax(preds)]
108
+
109
+ return jsonify({
110
+ 'prediction': pred_class,
111
+ 'confidence': float(np.max(preds))
112
+ })
113
+
114
+
115
+
116
+ !pip install flask pyngrok roboflow
117
+
118
+ import requests
119
+
120
+ # 🔸 رابط الـAPI اللي ظهرلك من ngrok
121
+ API_URL = "https://limbed-occupationless-kaitlynn.ngrok-free.dev" # ← غيّريه بالرابط اللي طلعلك
122
+
123
+ # 🔸 مسار الصورة اللي عايزة تجربيها
124
+ image_path = "/content/Sryngis34_JPG.rf.451be7985f401d1c4c8f170541813990.jpg" # أو ارفعي صورة بنفس الاسم في كولاب
125
+
126
+ # 🔸 إرسال الصورة للـAPI
127
+ with open("/content/Sryngis34_JPG.rf.451be7985f401d1c4c8f170541813990.jpg", "rb") as img:
128
+ files = {"image": img}
129
+ response = requests.post(API_URL + "/predict", files=files)
130
+
131
+ # 🔸 عرض النتيجة
132
+ print(response.json())
133
+
134
+ from flask import Flask, request, jsonify
135
+ from roboflow import Roboflow
136
+ from pyngrok import ngrok
137
+ from threading import Thread
138
+
139
+ # 🔹 تحميل الموديل من Roboflow
140
+ print("Loading Roboflow model...")
141
+ rf = Roboflow(api_key="tN8RCHc8406wlBLQoCBx")
142
+ project = rf.workspace("yomnasoror").project("medical-waste")
143
+ model = project.version(1).model
144
+ print("✅ Model loaded successfully!")
145
+
146
+ # 🔹 إنشاء تطبيق Flask
147
+ app = Flask(__name__)
148
+
149
+ @app.route("/", methods=["GET"])
150
+ def home():
151
+ return "✅ Medical Waste Classification API is running!"
152
+
153
+ @app.route("/predict", methods=["POST"])
154
+ def predict():
155
+ if "image" not in request.files:
156
+ return jsonify({"error": "No image uploaded"}), 400
157
+ image = request.files["image"]
158
+ result = model.predict(image).json()
159
+ return jsonify(result)
160
+
161
+ # 🔹 استخدمي منفذ جديد
162
+ port = 5001 # غيري عن 5000
163
+ public_url = ngrok.connect(port).public_url
164
+ print(f"🚀 Public API URL: {public_url}")
165
+
166
+ # Run the Flask app in a separate thread
167
+ def run_flask_app():
168
+ app.run(port=port, debug=True, use_reloader=False)
169
+
170
+ flask_thread = Thread(target=run_flask_app)
171
+ flask_thread.start()
172
+
173
+ import gradio as gr
174
+ import requests
175
+
176
+ # رابط الـAPI اللي عملتيه
177
+ API_URL = "https://xxxxxx.ngrok-free.app/predict" # غيّريه بالرابط بتاعك
178
+
179
+ # دالة ترسل الصورة إلى الـAPI وترجع النتيجة
180
+ def predict_via_api(image):
181
+ files = {"image": image}
182
+ response = requests.post(API_URL, files=files)
183
+ result = response.json()
184
+
185
+ try:
186
+ pred = result["predictions"][0]
187
+ label = pred["class"]
188
+ conf = pred["confidence"]
189
+ return f"🧠 النوع: {label}\n📊 الدقة: {conf:.2f}"
190
+ except Exception:
191
+ return "⚠️ خطأ أثناء تحليل الصورة!"
192
+
193
+ # إنشاء واجهة Gradio
194
+ iface = gr.Interface(
195
+ fn=predict_via_api,
196
+ inputs=gr.Image(type="filepath", label="📸 ارفع صورة المخلفات الطبية"),
197
+ outputs="text",
198
+ title="BioTrack AI - Medical Waste Classifier",
199
+ description="ارفع صورة، وسيقوم الذكاء الاصطناعي بالتعرف على نوع المخلفات الطبية 🔬"
200
+ )
201
+
202
+ iface.launch(share=True)
203
+