from fastapi importFastAPIimport uvicorn
import os
fromDeepImageSearchimportLoad_Data,Search_Setupimport shutil
os.environ['KMP_DUPLICATE_LIB_OK']='True'
app =FastAPI()@app.post("/api/request-similar-images")
async def get_user_image(user_image: dict):# Access the data sent by the usertry:
img = user_image.get("image")# image_list = Load_Data().from_folder(['\image_search\Demo_Data'])# go back one directory
path = os.path.abspath(os.path.join(os.path.dirname( __file__ ),'..'))# go to \storage\app\public\image-search
image_list = os.path.abspath(os.path.join(path,'storage/app/public/image-search'))# Set up the search engine, You can load 'vit_base_patch16_224_in21k', 'resnet50' etc more then 500+ models
st =Search_Setup(image_list=image_list, model_name='vgg19', pretrained=True, image_count=len(image_list))# Get metadata
metadata = st.get_image_metadata_file()
st.add_images_to_index([img])
img_dict , images_and_scores = st.get_similar_images(image_path=img, number_of_images=100)
paths_list =[]for index , path in img_dict.items():
paths_list.append(path)
scores_list =[]for index , path in images_and_scores.items():
scores_list.append(path)
similarty_list = dict(zip(paths_list, scores_list))
similarty_list =[{key: value}for key, value in similarty_list.items()]for i, d in enumerate(similarty_list):
mydict = similarty_list[i]for key, value in mydict.copy().items():if value ==0.0:del mydict[key]while{}in similarty_list:
similarty_list.remove({})
transformed_list =[{"path": list(item.keys())[0],"score": list(item.values())[0]}for item in similarty_list]return transformed_list
exceptExceptionas e:print(e)return"No image found."if __name__ =="__main__":
uvicorn.run(app, host="127.0.0.1", port=5000)
عندما ارسال اكثر من request من خلال Postman او استخدام ال endpoint في اي مكان اخر.
المشكله انه يجب الانتظار على كل request حتى الانتهاء ليبدا ال request الذي بعدة
كيف يمكننى حل هذه المشكلة
السؤال
احمد مصطفى14
عندما ارسال اكثر من request من خلال Postman او استخدام ال endpoint في اي مكان اخر.
تم التعديل في بواسطة احمد مصطفى14المشكله انه يجب الانتظار على كل request حتى الانتهاء ليبدا ال request الذي بعدة
كيف يمكننى حل هذه المشكلة
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.